【发布时间】:2017-04-06 03:48:00
【问题描述】:
我有一个关于机器学习训练数据的问题。
有没有办法构造数据,以便算法学会在数据点之间建立关联。例如,如果我假设我想训练关于猫吃什么的算法,我该如何构建训练数据,以便算法学会将猫与它们吃的食物联系起来?
谢谢。
【问题讨论】:
标签: machine-learning
我有一个关于机器学习训练数据的问题。
有没有办法构造数据,以便算法学会在数据点之间建立关联。例如,如果我假设我想训练关于猫吃什么的算法,我该如何构建训练数据,以便算法学会将猫与它们吃的食物联系起来?
谢谢。
【问题讨论】:
标签: machine-learning
看来您开始学习机器学习了。让我们扩展您的示例。我想你可能会在这里问两个问题
(1) 如何判断猫喜欢吃什么? (2) 如果我知道一些关于猫的额外事实,我如何预测猫会吃什么?我如何构建数据来实现这一点?
(1) 这是 Thomas Pinetz 所指的解释。要回答“猫喜欢吃什么”这个问题,您不需要大多数人认为的“机器学习”。您可以进行调查,然后使用统计关联测试。但我不认为这是你在这里要求的......
(2) 这是机器学习。这不仅仅是结构化数据。 请注意,以下所有内容都过于简单化了。 机器学习的训练数据通常以“实例”的形式构建。假设你有两种食物(“kibbles”和“tuna”)并考虑这个例子:
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) 你有连续的(耳朵长度-厘米)和离散的(眼睛颜色,毛色)特征,取决于你在这个问题上抛出的算法,使用这两种数据可能很困难。
假设您只考虑离散特征(眼睛颜色和外套颜色)。我们可以想象的一些机器学习算法可能会获取这些数据,并计算如下概率:
这给了我们一个模型 CatFood(eye-color, coat-color),它可以返回猫最有可能喜欢的食物,给定眼睛颜色和被毛颜色。更多问题:如果提供了我们以前从未见过的眼睛颜色或毛色怎么办?刮擦表面。
然后,当你面前有一只新猫,你想根据它的眼睛颜色和毛色来了解它可能喜欢吃什么,你会收集你需要的数据,然后申请你的模型。这是您的新实例:
Cat / Features | eye-color | coat-color | **food** |
---- | ---- | ---- | --- |
Oswald | "blue" | "orange" | ? |
假设现在我们应用我们的模型 CatFood("blue", "organge")。它可以追溯到根据我们的训练数据计算的概率,并会告诉我们根据模型,猫最有可能想吃什么食物。
【讨论】:
这是纯粹的统计数据。机器学习是对事物的未来进行预测的艺术。如果您想预测您的猫接下来要吃什么,则可以应用机器学习算法。
但是你想发现猫吃什么之间的对应关系。如果你真的想知道这一点,你应该问几个有猫的人他们在吃什么,并使用一些统计模型来找到平均值。
【讨论】: