吴神的机器学习神课,网上也有很多写得很好的笔记了比如:很好的中文版;更好的英文版 在视频看累的时候看看这个基本上也错过不了知识点。 这门课基本上算是入门的入门,概要地介绍了机器学习的各方面算法以及实际的简单运用,几乎不需要什么额外的数学知识(意思是你大概是本科学历学过高数线代概率论之类的这种)就能听懂,所以我也就做一个更简单的目录式的概要,以便可能想了解某个知识点的小朋友查阅一下以及记录下自己的学习历程。另外,视频的百度云链接在最后~
机器学习到底是蛇,机器学习到底能搞蛇
A computer program is said to learn from experience E with respect to some task T and some performance measure P, if its performance on T,as measured by P, improves with experience E.
大意就是“如果计算机程序对于任务T的 性能度量P 通过经验E得到了提高,则认为此程序对E进行了学习”,用人话讲就是如果做任务能得经验,那你就是学习到了。 然后,机器学习分类为有监督学习和无监督学习
一个关键词就是假设(Hypothesis),就是你的预测函数,把x放进去可以得出一个y值(这里的x,y都是向量),里面有Θ是你要训练出来的值。
然后一个重点概念是代价函数(cost function),用来判断你的预测函数和正真的值的差距,而拟合的最终结果就是让这个代价函数最小化。
之后就谈到最小化的方法梯度下降法(gradient descent),利用代价函数对于Θ的偏导数来更新Θ,以得到最小的代价函数值。
主要科普矩阵的知识,包括矩阵的运算,转置之类的,基本上都是课堂学过的。
要注意的是在梯度下降法中要尽量将变量xi的范围控制在大致差不多的范围内,这样梯度下降会比较平稳;并减去平均值,就拥有了为0的均值。
除了梯度下降法,又介绍一种求解Θ的方法,正规方程(normal equation):
并介绍了一下XTX的可逆性问题。
就是讲Octave的使用
这里主要讲的是单一的分类,即y=1 or y=0这两类。 而逻辑回归和线性回归的区别如下:
然后规定一个边界来分类。 另外逻辑回归的cost function也不一样,如下图:
简化形式:
而最后的偏导数形式也十分简洁:
最后一节介绍了诸如Conjugate Gradient(共轭梯度)、BFGS、L-BFGS之类的方法。