(本文编辑于2019.04.20 出处来自于我自己的简书.https://www.jianshu.com/p/c4e498e5639c)
很多人认为Octave带来很便捷的矩阵算法,所以通常计算矩阵的时候不再用普通的点乘求和再遍历的方式,直接就是两个矩阵相乘就可以求和。殊不知常常没搞懂两个矩阵的行列数是否对应,就直接相乘,结果是错漏百出,各种调试,绞尽脑汁,都不知道出错在哪。
我在做machina learning第六章的作业----machina-learning-ex1使用Octave计算梯度算法的时候就吃过亏:我想一步到位直接就用训练集和相关参数的矩阵运算就能得出最优解,然而终不可得。后来当我拿出草稿纸,一步一步,循序渐进地写出梯度算法的细化的每个步骤的时候,又可以得出个正确答案,虽然没有达到牛人那种简洁而又一句到位的写法,但是想起以前学习太极拳的老师傅的一句话:基础要慢慢打好,不要想着一步就想把高深的拳术学习到位;就算让一个新人马上学习到怎么打好太极拳,他的基础也是很薄弱的,站桩都站不稳,别人一推就倒。学习算法也是这样,当有两条路给你选择,一条是捷径带有风险,另一条是崎岖难行,走的路比较长,但是一定能到达终点,那你一定要选择难走的那一条。百分之200的人会选择容易走的那一条,当他们遇到危险挫折的时候,由于潜意识决定他们宁愿走容易走的路,所以他们会避开绕开崎岖,从而不能体会到解决困难的过程,甚至缺乏相关的经验。所以对于新人来说,一定要时时刻刻保持良好的思维习惯,多选择走正