Machine Learning第一节课
Machine Learning 概述
1. 定义
Aethur Samuel:
不直接针对问题进行编程的情况下,赋予计算机学习能力的一个研究领域。
Tom Mitchell:
- 定义的三个要素:(计算)任务T,(针对任务T的)性能测量方法P,(计算机对于任务T已有的)经验E。
- 研究“计算机执行任务T”,如果在经验E的影响下,性能测试方法P的测量结果得到了改进,我们就说计算机从经验E中进行了学习。
对照定义,分析一下棋局对弈:
- 任务T: 下棋
- 性能测试方法P: 对弈胜率
- 经验E: 已下过的棋 => 每一步棋+学习算法=经验数据
总结:
- 从数学的角度来看,经验E的习得都是基于“数理统计”的方法,任务T完全可以手工模拟计算,性能测试方法P同样适用,只是数据量大的时候,我们把计算任务交给了计算机来做。
- 从计算机的角度来看,我们正是用了计算机这个工具来完成数学意义上的统计(计算过程),从而把“学习”这个人类能力赋予了机器,使之看上去“智能”。
2. 四个部分
2.1 Supervised Learning(有监督学习)
- 回归问题(regression)
eg. 研究house大小和house价格之间的关系
- 回归问题是有监督学习的一种,需要预先给出(通过采集获得)一组能够正确反映变量之间关系的data set(在误差范围内)。
- 基于data set,拟合(近似地预测连续变量之间的精确关系)出一条曲线,据此来预测其他大小的house价格。
- 显然,在回归问题中,变量必须是连续的。
- 分类问题(classification)
eg. 对乳腺癌肿瘤是良性or恶性做出决策
- 和回归问题对比,分类问题中的变量是离散型的。
- 肿瘤size和肿瘤类型(离散,只能取0/1)构成二维坐标图。基于这样的一维影响因子构造,我们可以把分类器设置成两个离散点域。
- 肿瘤的成因多种多样,引入age这个影响因素后,仍以肿瘤size为横轴,患者age为纵轴,在该二维坐标图中,恶性肿瘤患者以叉标记,良性肿瘤患者以圆圈标记。基于这样的二维影响因子构造,我们可以把分类器设置成两个平面区域:
- 恶性肿瘤患者的(可能)区域
- 良性肿瘤患者的(可能)区域
- 如果影响因子更多,以至于有无限维怎么办,在算法实现时如何映射到有限的计算机内存中? —— 支持向量机算法
2.2 Learning Theory(学习论)
- How and why learning algorithms(学习型算法) work
- How: 意思是构造一个学习型算法以用于实践。
- Why: 意思是如何证明一个学习型算法是否能够有效地解决问题。(注意:有效的定义不唯一,可能是计算结果的准确率能够达到99%,或者是错误率至多为0.5%等等)
- 什么样的算法可以很好地近似不同的函数
对于一组表征关系的数据集合,我们想要通过这组数据来得到变量之间的精确
关系。那么更深一层的问题就是我们选取什么样的算法可以在面对不同关系,不同数据集合的时候,都能够很有效的刻画数据(变量)的精确函数关系。
- 对于一个有效的训练算法,需要多少训练样本,可以得到一个很好的(注意“很好”的定义,类似于前面的“有效”的定义)预测算法。
2.3 Unsupervised Learning(无监督学习)
- 聚类
和有监督学习比较:
在有监督学习的分类问题中,我们是先知道了一组“标准答案”的数据集合,以它们为分类器。
而在无监督学习中,我们的这组数据集合不是标准答案,即数据之间的变量关系不是确定的,我们需要做的就是把这组数据先分类,相同的类别聚合到一起形成一个类别,这就是聚类。
聚类:基于一定的规则,发掘隐藏在数据之下的结构。
eg.
-
独立组建分析
- 鸡尾酒会问题: 在嘈杂的鸡尾酒会上,将你感兴趣的声音(特定数据)提取出来。
- 问题抽象成: 两个不同位置的麦克风,接收到相同的两种声音数据,由于位置关系,不同的麦克风接收到的数据的音量大小不同,据此区分不同的声音。
-
文本处理
-
如果使用Matlab实现ICA算法,只需要一行code。
2.4 Reinforcement Learning(强化学习)
应用场景
对比有监督学习中的分类问题,对于一个患者,一次决策就定了生死。。。不管怎么说,这是一件多么可怕的事情。
而实际中,我们更多地情况需要多次决策,比如患者在一家医院得到了恶性肿瘤的诊断结果,一般我们会再去其他医院诊断,并且之前的诊断结果会作为参考。
显然在是否是恶性肿瘤这个结果上,我们做了多次决策来进行分类。
抽象模型
在多次决策中,我们引入了一种叫做“回报”的概念,它类似于系统论中的反馈。整个过程中,每次决策所产生的行为会导致一个结果,结果是好是坏将会影响我们下一步的决策。
eg. 训练小狗
- 正向回报:做的好 -> good dog
- 负向回报:做的坏 -> bad dog
用数学语言精确化描述“回报”概念,是定义一个回报函数。
回报函数
它定义了这样一种映射关系:some behavior -> a type of result
显然,对于一个问题,使用强化学习算法解决它时,关键是需要找到一种方式,来定义什么行为产生好的结果,什么行为产生坏的结果,而行为的产生是依赖于之前决策的,这样我们就可以知道好的结果是哪些决策产生的,坏的结果是哪些决策产生的,从而使得学习算法能够不断地选择好的决策去提升自己的决策行为。
浙公网安备 33010602011771号