梯度上升算法
终于得到这张图了,迫不及待放上来
还知道一个奇怪的事实:数组 +/* 矩阵=矩阵(P78代码倒数第二/四行)
python大法好啊
随机梯度上升算法
此时出现一个报错:
结果发现是抄书少打了,参数应该是:(array(dataArr),labelMat)
这就引发了一个思考:这dataArr原本就不是数组,只是个列表,而一个数字乘以列表得到的是对列表元素复制再放进原列表(额,语言匮乏,以图为证),一个数字乘以数组得到对数组每个元素乘以这个数字得到的结果(恩,太匮乏了,放图放图)。总之,对列表操作得到一个列表再加上那个weights数组就不对了。
这个故事告诉我们:基础知识多么重要啊。。。(泪目)
细节很重要,每个微小的变化背后都有其特定的含义。
看能看出个大概意思,再要深究,里面门门道道多着呢,不过有趣就有趣在这儿了。
以下是随机梯度上升算法的图,明显错太多啦~
改进的随机梯度上升算法
使用了样本随机选择和α动态减少机制,收敛速度更快,缓解了上一个的波动。
上图上图
预测病马死亡率
居然有溢出
居然有溢出还能算出来
那我就不深究了(惭愧惭愧,到饭点了)