机器学习基石 总结

学习编程

台湾大学林轩田老师讲授的《机器学习基石》、《机器学习技法》两门公开课在两岸三地享有盛誉,造福了许多机器学习小白。作为小白中的一员,八月中旬的时候我有幸学习了《机器学习基石》,感到受益匪浅。林老师授课深入浅出,循循善诱,自觉跟着林老师的脚步也能窥测machine learning这个神奇大世界中一二门道,非常感谢林老师的无私奉献以及让知识自由流动的互联网,高山仰止景行行止。

曾经听说过一句名言,不知道是马云先生还是鲁迅先生说的,名言一般挂在这二位名人头上:

不做笔记、不复习、不总结的学习就是耍流氓,比不结婚谈恋爱还流氓

为了不当流氓,也为了温故知新,特意于此时此刻2017-11-10 20:54:47将学习《机器学习基石》公开的的笔记和心得整理一番。


《机器学习基石》一共分为16个课时,每课时大概在一个小时左右。总体说来,这门课可以分为以下几个部分:

  • Lecture1-3:机器学习的基本概念
  • Lecture4-7:可学习性理论,机器学习为什么有效?
  • Lecture8:噪声和误差
  • Lecture9:线性回归
  • Lecture10:逻辑回归
  • Lecture11:用于分类问题的线性模型
  • Lecture12:非线性变换nonlinear transformation
  • Lecture13:过拟合问题
  • Lecture14:正则化
  • Lecture15:验证validation
  • Lecture16:三大原则three learning priciple

本文并不打算照搬ppt,逐个介绍模型,推导公式,这样的文章如汗牛充栋,早已有之。既然是为了总结,本文的目的是记录让那些作者感觉耳目一新的知识点和概念,它们都凝结着天才的智慧火花。

机器学习的基本概念

机器学习的初心是 利用数据data来计算求出假设g,目的是近似逼近目标函数f;机器学习模型 = 学习算法A + 假说集H。在学习各种纷繁复杂的算法和模型的时候,不要忘了这个基本出发点。学习机器学习算法,就是学习怎样使用符合业务实际的假说集H,就是学习能够求得最优假说函数g的学习算法learning algorithm A。

机器学习基石 总结

可学习性理论

可学习性理论主要研究机器学习为什么能够学习到知识,里面涉及到的内容有VC维、泛化理论等,十分复杂。实话实说,在学习这几个课时的时候,作者就感到云里雾里,晦涩难懂,几个月后的今天在回顾时竟然只记得一张图(这种图个人认为对于理解模型复杂度十分重要),其他的内容竟然全部忘光了。后面又和好几位工作一线的算法工程师沟通,他们都表示不懂,建议我放弃,毕竟只是未来的搬砖民工,自然难以像林教授这样理解透彻。所以,作者只放一张图在这里,这张图直观生动地表明了了模型复杂度过高(过拟合)时的危害。

机器学习基石 总结

图中的VC维\({d_{VC}}\)可以理解为模型的复杂度,\({d_{VC}}\)不是越大越好,过拟合会导致模型的效果很差。因此,机器学习中存在着一系列的方法来控制模型的复杂度,防止过拟合。

噪声与误差

错误衡量函数\(\mathop {err}\limits^{\text{^}} \)的定义一般有两种,分别是0/1错误函数和平方错误函数,前者的优化是NP-hard问题。

\[err(g(x),f(x) = \left\{ {\begin{array}{*{20}{c}}
{\left[\kern-0.15em\left[ {g(x) \ne f(x)}
\right]\kern-0.15em\right]}&{for{\kern 1pt} {\kern 1pt} classification{\kern 1pt} {\kern 1pt} problem} \\
{{{(\mathop y\limits^{\text{~}} - y)}^2}}&{for{\kern 1pt} {\kern 1pt} regression{\kern 1pt} {\kern 1pt} problem}
\end{array}} \right.\]

相关推荐