内容整理引用自MATLAB 机器学习(官方中文电子书)
机器学习是什么?
机器学习教计算机执行人和动物与生俱来的活动:从经验中学习。机器学习算法使用计算方法直接从数据中“学习”信息,而不依赖于预定方程模型。当可用于学习的样本数量增加时,这些算法可自适应提高性能。
实际环境中的应用:
- 计算金融学,用于信用评估和算法交易
- 图像处理和计算机视觉,用于人脸识别、运动检测和对象检测
- 计算生物学,用于肿瘤检测、药物发现和DNA顺序分析
- 能源生产,用于预测价格和负荷
- 汽车、航空航天和制造业,用于预见性维护
- 自然语言处理
机器学习的工作原理
- 无监督式学习*(仅基于输入数据对数据进行分组和解释)*:聚类
- 监督式学习*(基于输入和输出数据开发预测模型)*:分类、回归
监督式学习
旨在构建能够根据存在不确定性的证据做出预测的模型。监督式学习算法接受已知的输入数据集和对数据的已知响应(输出),然后训练模型,让模型能够为新输入数据的响应生成合理的预测。
在一个有监督的学习任务中,数据样本将包含一个目标属性 y,也就是所谓的真值(ground truth)。我们的任务是通过学习得到一个函数 F,它接受非目标属性 X,并输出一个接近目标属性的值,即 F(X)≈y。目标属性 y 就像指导学习任务的教师,因为它提供了一个关于学习结果的基准。所以,这项任务被称为有监督学习。
监督式学习采用分类和回归技术开发预测模型:
- 分类技术可预测离散的响应— 例如,电子邮件是真正邮件还是垃圾邮件,肿瘤是恶性还是良性的。分类模型可将输入数据划分成不同类别。典型的应用包括医学成像、语音识别和信用评估。
- 回归技术可预测连续响应 — 例如,电力需求中温度或波动的变化。典型的应用包括电力系统负荷预测和算法交易。
无监督学习
与有监督的学习任务相反,我们在无监督的学习任务中没有设置真值。人们期望从数据中学习潜在的模式或规则,而不以预先定义的真值作为基准。
无监督学习可发现数据中隐藏的模式或内在结构。这种技术可根据包
含未标记响应的输入数据的数据集执行推理。
聚类是一种最常用的无监督学习技术。这种技术可通过探索性数据分
析发现数据中隐藏的模式或分组。
聚类的应用包括基因序列分析、市场调查和对象识别。
- 聚类(Clustering):给定一个数据集,可以根据数据集中样本之间的相似性,将样本聚集成组。 例如,样本可以是一个客户档案,具有诸如客户购买的商品数量、客户在购物网站上花费的时间等属性。根据这些属性的相似性,可以将客户档案分组。对于聚集的群体,可以针对每个群体设计特定的商业活动,这可能有助于吸引和留住客户。
- 关联(Association):给定一个数据集,关联任务是发现样本属性之间隐藏的关联模式。 例如,样本可以是客户的购物车,其中样本的每个属性都是商品。通过查看购物车,人们可能会发现,买啤酒的顾客通常也会买尿布,也就是说,购物车里的啤酒和尿布之间有很强的联系。有了这种学习而来的洞察力,超市可以将那些紧密相关的商品重新排列到相邻近的角落,以促进这一种或那一种商品的销售。
半监督学习
在数据集很大,但标记样本很少的情况下,可以找到同时具备有监督和无监督学习的应用。我们可以将这样的任务称为半监督学习(semi-supervised learning)。
在许多情况下,收集大量标记的数据是非常耗时和昂贵的,这通常需要人工进行操作。斯坦福大学的一个研究团队花了两年半的时间来策划著名的 “ImageNet”,它包含了数以百万计的图像带有成千上万个手动标记的类别。因此,更普遍的情况是,我们有大量的数据,但只有很少一部分被准确地 “标记”,例如视频可能没有类别甚至标题。
通过将有监督和无监督的学习结合在一个只有少量标记的数据集中,人们可以更好地利用数据集,并获得比单独应用它们更好的结果。
例如,人们想要预测图像的分类,但只对图像的 10% 进行了标记。通过有监督的学习,我们用有标记的数据训练一个模型,然后用该模型来预测未标记的数据,但是我们很难相信这个模型是足够普遍的,毕竟我们只用少量的数据就完成了学习。一种更好的策略是首先将图像聚类成组(无监督学习),然后对每个组分别应用有监督的学习算法。第一阶段的无监督学习可以帮助我们缩小学习的范围,第二阶段的有监督学习可以获得更好的精度。
引用
[1]. Fisher,R.A. “The use of multiple measurements in taxonomic problems” Annual Eugenics, 7, Part II, 179-188 (1936)
通常我们会根据输出值的类型将机器学习模型进一步划分为 分类(classification) 和 回归(regression)。
如果机器学习模型的输出是离散值(discrete values),例如布尔值,那么我们将其称为分类模型。如果输出是连续值(continuous values),那么我们将其称为回归模型。
人们经常应用一种称为逻辑回归(Logistic Regression) 的机器学习模型,这种模型将连续概率值作为输出,但用于解决分类问题。
如何确定使用哪种算法?
何时应该使用机器学习?
当您遇到涉及大量数据和许多变量的复杂任务或问题,但没有现成的
处理公式或方程式时,可以考虑使用机器学习。例如,如果您需要处理
以下情况,使用机器学习是一个很好的选择:
- 手写规则和方程式太过复杂——例如人脸识别和语音识别。
- 任务的规则始终在变化——例如事务处理记录的欺诈检测。
- 数据本身在不断变化,程序也必须适应这种变化——例如自 动交易、能量需求预测和购物趋势预测等。
(图片来源于MATLAB机器学习白皮书,若有侵权,联系删除。)