机器学习训练数据结构

时间:2016-11-22 12:51:36

标签: machine-learning

我对机器学习培训数据有疑问。

是否有办法构建数据,以便算法学会在数据点之间建立关联。例如,如果我假设想要训练猫吃什么算法,我怎样才能构建训练数据,以便算法学会将猫与他们吃的食物联系起来?

谢谢。

2 个答案:

答案 0 :(得分:1)

好像你开始学习机器学习了。让我们扩展您的示例。我认为你可能会问两个问题

(1)我怎样弄清楚猫喜欢吃什么? (2)如果我知道关于那只猫的一些额外事实,我怎么能预测猫会吃什么?如何构建数据来实现这一目标?

(1)这是Thomas Pinetz所指的解释。要回答“猫喜欢吃什么”的问题,你不需要大多数人会认为是“机器学习”。您可以进行调查,然后使用测试进行统计关联。但我不认为这就是你在这里所要求的......

(2)这是机器学习。这不仅仅是关于构建数据。 请注意,以下所有内容都过于简单。机器学习的培训数据通常以“实例”结构化。假设你有两种食物(“粗磨”和“金枪鱼”)并考虑这个例子:

Cat / Features | eye-color | coat-color | ear-length-cm | **food**  | 
----           | ----      | ----       | ----          |  ---      | 
Socks          | "green"   | "brown"    | 3.0           | "kibbles" | 
Jimmy          | "blue"    | "gray"     | 3.7           | "tuna"    |
Snowball       | "green"   | "white"    | 2.9           | "kibbles" |
MrTumnus       | "blue"    | NA         | 3.1           | "tuna"    | 
Tosca          | "blue"    | "orange"   | 3.2           | "kibbles" | 
...            | ...       | ...        | ...           | ...       | 

(人们希望比这更大的训练集......) 上面的每一行都是一个“实例”。三个中间栏是关于每只猫的特征,事实。最后一栏是有问题的猫喜欢吃的食物,通常被称为“类标签”。第一列是猫的名字,我为了好玩而做了。这是无用的信息,但它让我们在这里更容易参考我们的实例。

在这种情况下,您的目标是使用中间三列(您的功能)来预测类标签。像这样构造的数据是机器学习问题的常见起点。

现在,当您选择一种攻击问题的方式时,您将面临一些额外的问题: (1)MrTumnus实例缺少数据,他的“外套颜色”是NA。 (2)你有连续(耳长-cm)和离散(眼睛颜色,毛色)功能,根据你在这个问题上抛出的算法,使用这两种数据可能很困难。

假设您只考虑您的离散特征(眼睛颜色和外套颜色)。我们可以想象的一些机器学习算法可能会获取这些数据,并计算如下概率:

  1. P(eye-color =“green”,food =“kibbles”)
  2. P(coat-color =“white”,food =“tuna”)
  3. P(coat-color =“white”,eye-color =“blue”,food =“tuna”)
  4. 等。你可以看到它的发展方向。
  5. 然后,这给我们一个模型CatFood(眼睛颜色,毛色),它可以返回猫最有可能享受的食物,给定眼睛颜色和外套颜色。更多问题:如果提供我们以前从未见过的眼睛颜色或外套颜色怎么办?划伤表面。

    然后,当你面前有一只新猫,想要根据它的眼睛颜色和毛色来找出它想吃的东西时,你会收集你需要的数据,并申请你的模特。这是你的新实例:

    Cat / Features | eye-color | coat-color | **food**  | 
    ----           | ----      | ----       |  ---      | 
    Oswald         | "blue"    | "orange"   |    ?      |
    

    假设现在我们应用我们的模型,CatFood(“蓝色”,“organge”)。它可以追溯到我们的训练数据计算的概率,并将告诉我们根据模型,猫最有可能想吃的食物。

答案 1 :(得分:-1)

这是纯粹的统计数据。机器学习是对事物未来进行预测的艺术。如果你想预测你的猫正在吃什么,那么你可以应用机器学习算法。

但是你想发现猫吃什么之间的对应关系。如果你真的想知道这一点,你应该问几个猫猫吃的东西,并用一些统计模型来找出它们。