您的位置:首页 > 其它

Machine Learning Foundations(机器学习基石) By Hsuan-Tien Lin (林轩田) week1 笔记

2014-10-23 20:35 381 查看

第一讲:机器学习问题介绍

从学习到机器学习的定义过渡

学习:从观察到的经验知识学习到技能(skill):



机器学习(Machine Learning,ML):从数据中计算得到的知识来学习技能(skill)。机器学习中的skill指的是提高一些测量的性能(例如,预测准确度)。



机器学习可以在衣食住行育乐六个方面都可以得到应用:
衣:时尚搭配推荐
食:餐馆推荐
住:建筑楼房预算
行:自动识别交通标志
育:推测学生的学习水平
乐:用户感兴趣的电影
典型应用:银行信用卡申请,根据用户信息判断是否应该给予信用卡。
符号的定义:





假设,g属于H={hk}是假说的集合,包括好的和坏的假说,机器学习的算法就是从H中找到最好的一个作为g。



机器学习:利用数据找到最接近目标函数f的假说g;
数据挖掘:利用数据找到感兴趣的属性。两者并不相同,但相互之间有很多交叉,数据挖掘可以帮助机器学习进行一些计算;
人工智能:让机器具有人的智能行为;机器学习也可以看作是一种人工智能;
统计学:统计为止数据的规律;是机器学习的一种重要工具。

第二讲:Learningto Answer Yes/No

PerceptronLearning Algorithm (PLA):

对样本特征向量x = (x1, x2, · · · , xd)计算权重wi,结果y应该是



得到的Perceptron:



Perceptron(假说)在R2实数空间中的表现如下图所示:







即为一个线性二元分类器,在平面中将样本分为两类。
Perceptrons的求法:
直接求得到结果比较困难,理想情况下g(xn)= f (xn) = y,由于H是无穷大的,所以先选取一个g0,不断的修正其错误最终得到理想结果。
错误的判断,如果出现



则出现错误,如果yn=+1,计算结果为-1,将其与x相加进行修正,如果yn=-1,计算结果为1否则进行相减进行修正。直至稳定为止,最终结果成为wPLA。





问题:

PLA在没有错误时才会停下来,是否能停下来?

假如停下来,g和f是否一样?

运行时间比较长时,一定会停。

 

PLA的保证条件:

线性可分linear separable:



线性可分份数据集D,则存在完美的w f使yn= sign(wTf 
xn).

证明PLA可以停下来:

对每个xn,有



对wfT有,



内积越来越大,说明值越来越接近。wt是逐渐接近的。
还可以证明wt不会增长太快,即长度不会增加太快:





由此可知,wt的增长被限制了,最大增长是最长的xn向量。可以证明T次修正之后的结果为:



PLA在D线性可分的情况下执行速度快,可以达到很好的效果,但是数据集不一定是线性可分的,所以需要对PLA进行改进:找到错误最小的w作为最终结果



这是一个NP hard问题,可以利用PocketAlgorithm(贪心算法)来进行求解。

类似于PLA算法,通过不断的修正来进行完善,修正wt



若wt+1的错误比wt少,则用wt+1来代替wt

在D线性可分的情况下,PocketAlgorithm比PLA执行慢,因为要检查wt+1是否比wt的错误少。并且都可以得到没有错误的解。结果相同。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐