乐趣区

机器学习就等同于算法吗

在当前的推荐系统中,很多使用了机器学习,有些已经用到了深度学习。那么,机器学习就等同于一堆的算法吗?

答案是:机器学习≠算法。

机器学习≠算法

当我们打开一本教科书,或者大学的教学大纲,通常看到的都是一堆的算法列表。

这也让大家造成了这样的误解:机器学习就是掌握一系列的算法。其实,机器学习并不止步于算法,我们可以把它看做是解决问题的一种综合方法。我们看到的一个个独立的算法,只不过是难题的一角,剩下的难题是我们该如何正确地使用这些算法。

机器学习为何如此神奇?

机器学习,就是教计算机分析数据,发现其中规律,以便人们进行预测或决定的实践。

对于真正意义上的机器学习来说,计算机必须具备分析数据中无法通过编程得出的规律的能力。

示例:

假如一个小孩子在家里玩,突然,他看到一支蜡烛!于是,他向蜡烛的方向慢慢走去。

出于好奇,他用手指指着烛光;
“哇!”他大喊,同时把手收回来;
“呜呜……那个会发光的红色东西好烫!”
两天之后,他来到厨房里,看到了炉子。同样,他又非常好奇。

他好奇得不得了,心里想要不要用手摸一下;
突然,他发现这个东西也会发光,也是红色的!
“啊……”他自言自语道,“我不要再痛一次了!”
他想起来红色且会发光的东西会“痛”,于是就离开炉子去其他地方了。

说得更清楚一些,因为这个孩子从蜡烛中自己推断得出了某种结论,那我们就称之为“机器学习”。

这个结论就是:“红色且会发光”意味着“疼痛”;

如果这个孩子离开炉子,是因为父母告诫他的话,那就是“明确的程序指示”,而不是机器学习了。

重要术语

模型 - 从数据中得出的一组模式;

算法 - 用于训练某个模型的专门的 ML 过程;

训练数据 - 算法用来训练模型的数据集;

测试数据 - 用于客观评估模型性能的新数据集;

特征 - 数据集中用来训练模型的变量;

目标变量 - 用于预测的某个特定变量;

示例:

假设我们有一组包含 150 个小学生信息的数据集,现在希望通过他们的年龄、性别和体重预测他们的身高。

我们现在有 150 组数据点、1 个目标变量(身高)、3 个特征(年龄、性别、重量)。接下来会把所有数据分为两个子集:

其中,120 组会被用来训练不同的模型(训练集),其余的 30 组用来选择最佳模型(测试集)。

机器学习任务

在学术界,机器学习始于并会一直专注于其中某个算法。但是,在工业界,我们首先得为工作所需选择正确的机器学习任务。

· 任务是算法的特定目标。

·只要选择正确的任务,算法就可以交换进出完成任务。

·实际上,我们会尝试多种不同算法,因为很可能我们一开始不知道哪种算法最适合数据集。

机器学习两种最常见的任务类别是监督学习和无监督学习。

监督学习

监督学习包括面向“标记”好的数据的任务(换言之,我们有一个目标变量)。

· 在实践中,它通常是用作建模预测的高级形式。

· 每一组数据点必须正确标记。

· 只有这样才能建立一个预测模型,因为我们必须在训练时告诉算法什么是“正确”的(也就是我们说的“监督”)。

· 回归是建模连续目标变量的任务。

·分类是对分类目标变量进行建模的任务。

无监督学习

无监督学习包括面向“未标记”数据的任务(换言之,没有目标变量)。

· 在实践中,这种形式通常用作自动数据分析或自动信号提取。

· 未标记的数据没有预先确定的“正确答案”。

· 允许算法直接从数据中学习模式(即没有“监督”)。

· 聚类是最常见的无监督学习任务,用于查找数据中的组。

机器学习的三要素

如何始终如一地构建有效的模型以获得最佳效果。

#1:熟练的厨师(人类指导)

首先,即使我们是在“教电脑自学”,但在这个过程中,人的指导也起着很大的作用。

正如我们所看到的,您需要在此过程中做出无数项决策。

事实上,第一个重大决策就是该如何规划我们的项目,从而确保成功。

#2:新鲜食材(干净且相关的数据)

第二个基本要素是数据的质量。

无论我们使用哪种算法,垃圾输入 = 垃圾输出。

专业的数据科学家将大部分时间花在了解数据,清理数据和设计新功能上。

#3:不要过度烹饪(避免过度拟合)

机器学习中最危险的陷阱之一就是过度拟合。过度拟合模型会“记住”训练集中的噪声,而不是学习真正的基础模式。

· 对冲基金中的过度拟合可能会造成数百万美元的损失。
· 医院内的过度拟合可能会导致数千人丧生。

对于大多数应用来说,过度拟合都是要避免的错误。

退出移动版