Machine learning的课程还是学习了那些,今天练车一上午就没了,下午又练了会回家后太困,因为早上起得早就睡了有一个半小时(猪吗我是?)。论文又挤牙膏写了1小时左右,写作真的是炒鸡实用的一个技能啊啊啊!
今天可以分享的内容是关于通过gradient descend方法得到使得cost function的值最小对应参数的过程,其实就是同时更新两个参数(单一变量线性回归的Hypothesis只有两个参数),更新的快慢可以用与参数偏导数相乘的learning rate进行调节,如果learning rate过于大,那cost function的值可能越变越大,称之为 It may fail to converge, or even diverge(不仅收敛不了,还发散),如果learning rate过于小(baby step),其实没什么大问题,就是要花一些时间多走几步才能达到收敛的状态罢了。learning rate值的设置还是有点学问的,默认好像是0.2,我貌似记得......
关于learning rate的值,它是个定值也是不影响最后收敛的效果的,Andrew老师还特别强调了,这是因为偏导数的值是会越来越小的,所以参数变化的也越来越慢,当偏导数为0的时候,也就是到达local minimum的时候,参数的值也就不会发生变化了,也就是收敛了。
还有一个很关键的知识点,那就是linear regression model是没有local minimum的,它的cost function长的像一个碗的形状(bowl shape)这就意味着对function的参数赋予什么样的初始值并不会得到不同的训练结果。
如果有些model存在多个local minimum,最后到达的是不是global minimum就要看参数初始化的值是什么了,出发地点异常重要,不过也是看运气?了。
最后就是”batch gradient descend“的概念,其实就是参数每更新一次就需要用上所有的训练集(training set),Each step of gradient descend uses all the training examples。
一周的课程就剩下Linear Algebra没有学习,希望明天可以学习完!之后再继续码字!