机器学习课堂笔记1

来源:互联网 发布:麦克海尔数据 编辑:程序博客网 时间:2024/05/14 09:57

在学习了台湾大学Husan-Tian Lin老师的课程后,将一些知识和自己的一些体会整理成笔记。

机器学习基础课程中主要讲了四个部分:


1,机器什么时候可以学习

2,为什么机器可以学习

3,机器怎么学习

4,机器怎么样才能学得更好


本笔记从机器什么时候可以学习说起

现在机器学习的概念被炒的很火,但并不是什么问题都能用或应该用机器学习的方式来解决。我们可以通过以下条件判断是否可以用机器学习的方式解决手上的问题

机器学习的三个关键要素:improve some performance measure withexperience computed fomrdata

1, 要有目标。在使用机器学习的时候,要有目标让机器去实现,并且可以用这个目标衡量机器学习效果的好坏。比如最常见的二分类问题,需要让机器去判断是或不是,并且可以通过机器判断得

2,要值得使用机器去学习,不是很轻易可以手工解决的。比如给电脑输入一个数字不需要用机器学习去识别,但是一张有数字的图片就需要用机器学习

3,要有足够的数据,让机器去学习。


机器学习理论的一些基本符号:


机器学习个元素的简要关系图:

我们有输入:X,每个输入对应输出Y,每一对输入和输出组成了数据(训练集)D,我们认为X和Y之间有一定的关系(f),当然这个关系在学习出来之前是不知道的。尽管我们还不知道X和Y的关系是什么,但我们会做一些假设H(H是假设的集合,里面可能包含了一系列的假设,当然假设的数量和最终机器学习的结果和效果是有关系的。这个后续会再讨论。)。机器学习就是使用数据D,运用某种算法A,在假设的集合H中学到一个模式g。当然,我们期望学习到的g和真正数据的模式关系f是尽可能接近的。




一个最基本的机器学习模型:使用感知器模型制作信用评分卡

客户来申请信用卡,X是客户的申请信息(客户特征),对每个特征Xi,都有一个对应的权重。特征i*权重i并且相加就是这个客户的分数。分数高于某个阈值threshold就发卡,否则就不发卡。这也就相当于我们的机器学习的假设h就是一个sign函数,这个sign的输入=权重*特征-阈值,结果是正的sign就是正的,也就是发卡


有了以上的假设和数据,下面就可以使用感知器学习算法(perceptron learning algorithm,PLA)对数据训练,从假设H中挑选出一个我们(基于数据)认为最正确的假设g(hopefully这个g=f,但f是未知的):

1,从0开始,将所有的权重wi初始化为0,挑选每个点计算h(x),看hx是否等于y

2,若所有hx和y都相等,说明基于已有的数据,找到的假设h已经做到了最好(所有的数据分类都正确了),算法停止,否则:

3,若有某个点的hx和y不相等,相当于算法在这个点上的预测犯了错误,那么需要对hx进行修正。PLA的假设是线性的,对hx的修正就是旋转h=wx这条线(或面、超平面),就是改变权重w,纠正原来预测错误的点。更新Wt+1=Wt+Yn(t)*Xn(t),如果预测正值错误,就将W向正值方向旋转,如果预测负值错误,就将W向负值反方向旋转。

对所有的数据点,PLA采用遍历的方法,每个都看一遍,有错的就按照上述方法修正,直到所有的点的预测都是正确的。当然有一个问题,PLA不一定能停得下来,不是所有的数据都可以找到一个平面完美分割的。只有线性可分(linear seperable)才能用PLA分开


现在先假设数据是线性可分的。使用PLA算法是否可以得到正确的模式(f)?

假设隐藏的(正确的)模式f对应的权重是Wf,如果PLA可以通过学习接近f,那么它得到的权重Wt应该和Wf越来越相似。这其实是两个向量越来越相似的问题。用Wt+1和Wf做内积,可以判断是否经过算法更新的Wt+1和Wf更加接近了:

W(t+1)*Wf=(Wt+1的递归公式)*Wf=(Wt+Yn(t)*Xn(t))*Wf>=Wt*Wf+min(Yn*Wf*Xn). 而对于Wf,因为它是正确的模式,必然有对于任意的数据点Xn, Yn, sign(Wf*Xn)=Yn, 即它们同号,Yn*Wf*Xn>0. 所以W(t+1)*Wf>Wt*Wf, 即两个向量内积越来越大,说明经过算法递归后,Wt和Wf角度越来越小(Wt和Wf越来越接近).

当然两个向量内积变大,除了角度原因,也有可能是向量长度导致的。但是我们可以证明,如果在只有犯错的的时候才更新Wt,Wt的长度||Wt||不会增长过快,Wf*Wt/||Wf||*||Wt||>=T*Constant, T是更新的次数。数据线性可分,T是有限的。


PLA只是一个非常原始的分类器算法,只有线性可分的时候才能用。实际上数据很少有线性可分的,并且数据中可能有很多噪音干扰,这些都导致PLA实际上很少使用。



原创粉丝点击