用Excel理解梯度下降:简单到拍案叫绝
雷锋网按:本文作者为Jahnavi Mahanta,前American Express(美国运通公司)资深机器学习工程师、深度学习在线教育网站Deeplearningtrack联合创始人。
Jahnavi Mahanta:对算法的作用建立直觉性的理解——在我刚入门机器学习的时候,这让我觉得非常困难。不仅仅是因为理解数学理论和符号本身不容易,也因为它很无聊。我到线上教程里找办法,但里面只有公式或高级别的解释,在大多数情况下并不会深入细节。
就在那时,一名数据科学同事介绍给我一个新办法——用Excel表格来实现算法,该方法让我拍案叫绝。后来,不论是任何算法,我会试着小规模地在Excel 上学习它——相信我,对于提升你对该算法的理解、完全领会它的数学美感,这个法子简直是奇迹。
案例
让我用一个例子向各位解释。
大多数数据科学算法是优化问题。而这方面最常使用的算法是梯度下降。
或许梯度下降听起来很玄,但读完这篇文章之后,你对它的感觉大概会改变。
这里用住宅价格预测问题作为例子。
现在,有了历史住宅数据,我们需要创建一个模型,给定一个新住宅的面积能预测其价格。
任务:对于一个新房子,给定面积X,价格Y是多少?
让我们从绘制历史住宅数据开始。
现在,我们会用一个简单的线性模型,用一条线来匹配历史数据,根据面积X来预测新住宅的价格Ypred。
上图中,红线给出了不同面积下的预测价格Ypred。
Ypred = a+bX
蓝线是来自历史数据的实际住宅价格Yactual。
Yactual和Ypred之间的差距,即黄色虚线,是预测误差 E。
我们需要发现一条使权重a,b获得最优值的直线,通过降低预测误差、提高预测精度,实现对历史数据的最佳匹配。
所以,目标是找到最优a, b,使Yactual和Ypred之间的误差E最小化。
误差的平方和(SSE) = ½ a (实际价格 – 预测价格)2= ½ a(Y – Ypred)2
(雷锋网提醒,请注意衡量误差的方法不止一种,这只是其中一个)
这时便是梯度下降登场的时候。梯度下降是一种优化算法,能找到降低预测误差的最优权重(a,b) 。
理解梯度下降
现在,我们一步步来理解梯度下降算法:
用随机值和计算误差(SSE)初始化权重a和b。
计算梯度,即当权重(a & b)从随机初始值发生小幅增减时,SSE的变动。这帮助我们把a & b的值,向着最小化SSE的方向移动。
用梯度调整权重,达到最优值,使SSE最小化。
使用新权重来做预测,计算新SSE。
重复第二、第三步,直到对权重的调整不再能有效降低误差。
我在 Excel 上进行了上述每一步,但在查看之前,我们首先要把数据标准化,因为这让优化过程更快。
第一步
用随机值的a、b初始化直线Ypred = a + b X,计算预测误差SSE。
第二步
计算不同权重的误差梯度。
∂SSE/∂a = – (Y-YP)
∂SSE/∂b = – (Y-YP)X
这里, SSE=½ (Y-YP)2 = ½(Y-(a+bX))2
你需要懂一点微积分,但没有别的要求了。
∂SSE/∂a、∂SSE/∂b是梯度,它们基于SSE给出 a、b 移动的方向。
第三步
用梯度调整权重,达到最小化SSE的最优值
我们需要更新a、b的随机值,来让我们朝着最优a、b的方向移动。
更新规则:
a – ∂SSE/∂a
b – ∂SSE/∂b
因此:
新的a = a – r * ∂SSE/∂a = 0.45-0.01*3.300 = 0.42
新的b = b – r * ∂SSE/∂b= 0.75-0.01*1.545 = 0.73
这里,r是学习率= 0.01, 是权重调整的速率。
第四步
使用新的a、b做预测,计算总的SSE。
你可以看到,在新预测上总的SSE从0.677降到了0.553。这意味着预测精度在提升。
第五步
重复第三、第四步直到对a、b 的调整无法有效降低误差。这时,我们已经达到了最优a、b,以及最高的预测精度。
这便是梯度下降算法。该优化算法以及它的变种是许多机器学习算法的核心,比如深度网络甚至是深度学习。
相关文章
-
新安卓Office Mobile发布!Word/Excel/PPT完美三合一
今天,微软正式发布全新安卓手机端Office Mobile应用,中国首发。现在,用户已可以通过华为应用市场、小米应用商店、腾讯应用宝、百度手机助手微软官网等下载并体验全...
2017-04-20 09:24:15阅读全文 -
AMD Ryzen真逼Intel处理器降价了?事实似乎没那么简单
不少对AMD Ryzen的评测都指出,此次它的性能可以叫板Intel的最新i7,而且整体价格不高,很有市场竞争力。...
2017-04-15 12:36:48阅读全文 -
美!日本老人仍坚持Excel作画:直到画不动为止
日本有位另类的画家,他的作品很受大家的喜欢,其作画方式很特别,因为是用Excel。
2017-04-11 13:36:23阅读全文
... -
高能时刻:《守望先锋》毛妹教你简单的几何学 大锤致命飙车
游戏世界中向来充满精彩或者逗比的瞬间,有些让人看了捧腹大笑,有些则让人血脉喷张。本期中我们将见到《守望先锋》大锤致命飙车,毛妹现场上课,教你什么叫简单的几...
2017-04-02 16:18:17阅读全文 -
Excel超赞新功能上线:支持多人实时编辑
微软CEO纳德拉曾经在一次采访中表示,微软带给这个世界最伟大的东西不是Windows操作系统,而是Office办公软件,尤其是Excel,大大提高了人们工作效率,并将人类工作带...
2017-03-29 14:26:02阅读全文 -
Windows 10正式版更新:SSD用户快升
统计显示,Windows 10创意者更新的使用人数已经过半,其次是年度更新(Build 14393)。今天,微软为年度更新正式版用户(version 1607)推送了累积更新...
2017-07-21阅读全文 -
微软宣布Win10秋季创意者:尴尬名称最终被换
大家还记得吗,之前微软公布了Windows 10秋季创意者更新的名字,不过却是十分尴尬...
2017-07-21阅读全文 -
神级播放器MPC-HC死亡:你可知道这么多人抄了它
近日,影音播放玩家们迎来了一个不幸的消息;神级播放器MPC-HC宣告完结,除非有开发者继续跟进该项目,否则MPC-HC将走向死亡。...
2017-07-21阅读全文 -
勒索病毒漏洞还在!金山毒霸新发现:电脑秒变“矿工”
勒索蠕虫(WannaCry)病毒疯狂传播已过去两个多月了,但令人吃惊的是,仍然有相当数量的系统未修补其所利用的永恒之蓝高危漏洞。...
2017-07-21阅读全文 -
经典不死!11年免费播放器MPC-HC闪电归来
播放软件众多,MPC-HC(Media Player Classic Home Cinema)可以说是极为经典的一个,基于经典版Windows Media Player 6.4...
2017-07-21阅读全文