第一章 机器学习是什么
机器学习种类
- 从学习的种类来说,最常见的我们习惯分为两种:
- 无监督学习(unsupervised learning)
- 有监督学习(supervised learning)
- 此外还有:
- 半监督学习(semisupervised learning)
- 强化学习(reinforcement learning)
- 等等
聚类(clustering)
聚类是一种典型的“无监督学习”,是把物理对象或抽象对象的集合分组为由彼此类似的对象组成的多个类的分析过程。
简单来讲,就是一个归类的过程,我们在动物园看到的金丝猴、猕猴、长鼻猴等,它们都属于猴子类。马路上看到的各种小轿车、卡车、跑车等等,它们都属于汽车类。
比较常用的聚类算法:
- K-Means
- DBSCAN
基本思路都是利用每个向量之间的“距离”--空间中的欧氏距离或者曼哈顿距离,从远近判断是否从属于同一类别。
image
在用机器做聚类学习的时候,我们每种算法都对应有相应的计算原则,可以把输入的各种看上去彼此“相近”的向量分在同一个群组中。
回归(regression)
回归是一种解题方法,或者说“学习方法”,也是机器学习中比较重要的内容。 简单来讲,就是“由果索因”的过程,是一种归纳的思想--通过大量的样本,推测出其中蕴含的某种关系。
最常用的回归有两大类:
- 线性回归
- y = f(x) = wx b
这里的w和x分别是1×n(1行n列)和n×1(n行1列)的矩阵。
image 那么把每一个患者的(年龄、身高、体重、血压、血脂)具体向量值带入,并把血糖程度y值也代入。至此形成一个六元一次方程组,其中未知数是w1-w5和b,即我们需要通过大量训练所求的“合适”的解。
- 如何验证呢?
image 其中wx b是我们推测的血糖值,y是真实样本的血糖值,它们两者之间差值的绝对值即是误差,Loss求的是所有误差的和,Loss越小说明这个映射关系描述越精确。 Loss = f(w, b) 再使用相应的方法找出保证Loss尽可能小的w和b的取值,就算大功告成了。
- 数据集分为训练集和验证集
训练集用作训练、归纳关系,验证集数据用来验证,避免拟合现象(后续会讲拟合),训练集和验证集一般比例为7:3或8:2。
- 非线性回归
- 逻辑回归
image
image 横轴是z,纵轴是y,一个多维的x经过这样两次投射在y上是一个取值只有1和0二项分布。
分类
分类是机器学习中使用的最多的一大类算法,我们通常也喜欢把分类算法叫做“分类器”。 我们在编写代码教会分类器怎么学习的时候,其实是在教它如何建立一种输入到输出的映射逻辑,以及让它自己调整这种逻辑关系,使得逻辑更为合理。而合理与否的判断也非常明确,那就是召回率和精确率两个指标--召回率指的是检索出的相关样本和样本库中所有相关样本的比率,衡量的是分类器的查全率。精确率是检索出的相关样本数与检索出的样本数的比率,衡量的是分类器的查准率。 具体例子: 有一个1000样本的训练集,1000张照片,200张猫,200张狗,600张兔子。经过分类器分类:
- 200张猫中180张正确,20张识别为狗
- 200张狗全部正确
- 600张兔子中550张正确,30张识别为猫,20张识别为狗
image
综合应用
- 垃圾邮件分拣
- 新闻自动分类
- 摄像头对车牌号OCR识别
- 使用卷积神经网络对照片进行风格处理(普通照片生成艺术图片)
- 语音识别
- 学术领域:“对坑学习”
- 无人驾驶
小结
一言蔽之,机器学习就是人类定义一定的计算机算法,让计算机根据输入的样本和一些人类的干预来总结并归纳其特征与特点,并用这些特征和特点与一定的学习目标形成映射关系,进而自动化地做出相应反应的过程。 作者认为,机器学习是大数据的一个子范畴。 机器学习也分为:
- 传统的机器学习
- 深度学习
其主要区别:传统的机器学习通常需要人提前做特征提取,把提取的特征向量化在丢给模型去训练,需要人做前置工作。而深度学习通常可以采用End-to-End的学习方式,输入的内容只需要做很少的一些归-化(normalization)、白化(whitening)等处理就可以丢给模型去训练,通常不需要人来做特征提取工作。