在大学时,曾经有学妹问我:如何调节在学生会工作以及日常学习的压力?我说:如果觉得有压力就别干了。事实如此,人是血肉做的,不是机器,压力让你觉得难受,那是反人性的,又何苦凹造型呢?人活在世上,首先要顺应自己的天性。在人工智能的大潮来袭之时,新概念、新技术层出不穷,今天觉得FANCY的技术明天就OUT了,处在波涛汹涌的信息大潮中不免觉得慌乱,唯恐自己显得局限、狭隘、过时。压力无处不在?那是我们的欲望超出了自己的能力边界。大多数人已不记得初次接触新知识时的单纯喜悦。有些东西是恒常不变的,如温故而知新、触类旁通、举一反三。在兵荒马乱的年代,眼是迷乱的,耐心是稀缺的,陪伴更是虎头蛇尾。要立竿见影、结果导向,然而忘了对知识的爱,是要用心血和时间来浇灌的。诗人顾城说:“手我是有的,就是不知如何碰你。”我想,对于机器学习,我们也是这种陌生又喜悦的心态。如果不知如何下手,那就用心去感受吧。
今天学习的是ADAptive LInear NEuron classifier,也是一个单层神经网络。它的重点是定义及最优化 cost function, 对于理解更高层次更难的机器学习分类模型是非常好的入门。它与 Perceptron 不同的地方在于更新 weights 时是用的 linear activation function, 而不是unit step function。Adaline 中这个 linear activation function 输出等于输入, φ(wTx)=wTx。
定义 cost function 为 SSE: Sum of Squared Errors
这个 function 是可导的,并且是 convex 的,可以进行最优化,使用 gradient descent 算法。
左图显示 learning rate 太大,error 没有变小, 反而变大了。
右图显示 learning rate 太小,error 变化速度太小。
Standardizing features and re-training adaline:
分类效果不错,error 最终接近于0。
值得注意的是,虽然我们的分类全部正确,但 error 也不等于0。
下周学习随机梯度下降法,相比之前学习的批量梯度下降法学习速率高很多,敬请期待:)