台大林轩田老师《机器学习基石》课程学习笔记(笔记中所有图片均引自林老师的课件)。
该课程将理论与实践相结合,从基础开始切入。
以讲故事的方式展开如下几个问题:
首先我们需要思考何为学习?人或动物通过观察得到技能即为学习。
何为机器学习?机器通过观察数据学习到技能。
何为技能?某一种表现的增进。如学习了英语这项技能,则使用其交流则更流畅。
样例应用场景:通过学习过往股票数据增加投资收益。
另一个应用场景:自动辨识一棵树。
所以总结适合使用机器学习的应用场景有:
可进行机器学习的三要素:
机器学习的应用贯穿我们生活中的诸多方面:
电影推荐系统的一个可能的实现方案:
根据如上特征值进行匹配度计算。
样例:是否批准一个申请人的信用卡发放请求。
申请人信息如下:
如何描述学习问题:
$f:x \rightarrow y$
;$g:x \rightarrow y$
来衡量是否要发放信用卡。信用卡是否发放场景的学习过程:
g为所有假设函数集合的一部分,机器学习算法即是从中找出最优的。 机器学习模型即是基于数据将算法A与允许选择的假设H相结合,得出一个尽可能接近理想目标函数f的假设函数g。
下面例子是找出歌曲推荐系统中的输入x,输出y,数据D,假设集合H,假设函数g:
从上述可知,机器学习是使用数据来计算一个接近目标函数f的假设g。下面看一下机器学习与相关领域的关系。
机器学习 vs 数据挖掘:
机器学习 vs 人工智能:
机器学习 vs 统计学:
重温1.4提到的信用卡发放问题。
申请人信息可用多维向量表示,每个维度有一个对应的权值,假设函数$\operatorname{h}(x)$
为所有维度的权值与对应维度值乘积之和,超过某阈值则同意发放,否则拒绝发放。
如下推算说明可将阈值看作是第0维的部分。这样$\operatorname{h}(x)$
可看作是第0维到第d维的权重与维度值的乘积之和。也可看作是$\pmb w$
与$\pmb x$
两个向量的乘积。
在二维空间$\operatorname{h}(x)$
是一条直线,在多维空间$\operatorname{h}(x)$
是一个超平面。感知器即是一个线性分类器。
感知器学习算法是一个针对数据不断改进的算法,可能需要多轮演算及调整才可能找到一条满足条件的分割线。对于第t轮演算,若在该轮的第n个点发现错判(该轮的某个点的$y$
值本来应为+1但算成了-1,说明$\pmb w$
向量与$\pmb x$
向量的夹角太大,造成内积太小;反之,若该轮某个点的$y$
值本应为-1但算成了+1,说明$\pmb w$
向量与$\pmb x$
向量的夹角太小,造成内积太大),则将下一轮的$\pmb w$
向量置为$\pmb w + y\pmb x$
来进行改进(若$y$
为+1,则为$\pmb w + \pmb x$
,表示将$\pmb w$
向量与$\pmb x$
向量的夹角调整的小一点;若$y$
为-1,则为$\pmb w - \pmb x$
,表示将$\pmb w$
向量与$\pmb x$
向量的夹角调整的大一点)。
该算法的实际运用中,可能需要多轮循环直至所有的点都满足条件。
下面演示一下该算法的演进过程:
$x_1$
构成初始向量$x_9$
被错判(本是圈,被错判为叉),则对下一轮$\pmb w$
进行调整(与$x_9$
夹角小一点)$x_{14}$
被错判(本是叉,被错判为圈),则对下一轮$\pmb w$
进行调整(与$x_{14}$
夹角大一点)但感知器学习算法的问题是并不一定会找到演算停止的情形。
参考资料