本篇文章1676字,读完约4分钟
雷锋。本文的作者是jahnavi mahanta,他曾是美国运通公司的高级机器学习工程师,也是deeplearningtrack(deep learning track)的联合创始人,deep learning track是一个在线教育网站。
贾纳维·马汉塔:建立对算法作用的直观理解——当我第一次开始机器学习时,它让我感到非常困难。不仅很难理解数学理论和符号本身,而且也很无聊。我去了在线教程寻找一种方法,但是只有公式或高级解释,而且在大多数情况下,它们没有深入细节。
当时,一位数据科学的同事向我介绍了一种新方法——用excel电子表格实现算法,这让我大吃一惊。以后,不管有什么算法,我都会试着在excel上小范围的学习它——相信我,提高你对算法的理解和充分理解它的数学美是一个奇迹。
让我举个例子给你解释一下这个情况。
大多数数据科学算法都是优化问题。该领域最常用的算法是梯度下降。
也许梯度下降听起来很神秘,但是读完这篇文章,你对它的感觉可能会改变。
这里,以房价预测问题为例。
现在,有了历史住房数据,我们需要创建一个模型,它可以预测给定面积的新住房的价格。
任务:对于新房子,给定面积x,价格y是多少?
让我们从绘制历史住房数据开始。
现在,我们将使用一个简单的线性模型,用一条线匹配历史数据,并根据面积x预测新住房的价格。
在上图中,红线给出了不同区域的预测价格。
ypred = a+bx
蓝线是根据历史数据得出的实际房价。
实际值和实际值之间的差距,即黄色虚线,是预测误差e..
我们需要找到一条直线,使权重A和B得到最佳值,并通过减少预测误差和提高预测精度来实现历史数据的最佳匹配。
因此,我们的目标是找到最佳的a、b,并使yactual和ypred之间的误差e最小化。
误差平方和(sse) =?a(实际价格–预测价格)2=?a(y–ypred)2
(雷锋。com提醒您,测量误差的方法不止一种,这只是其中之一)
此时,梯度下降。梯度下降是一种优化算法,它可以找到最佳权重(a,b)以减少预测误差。
理解梯度下降现在,让我们逐步理解梯度下降算法:
权重a和b用随机值和计算误差(sse)初始化。
计算梯度,即当权重(a&b)相对于随机初始值略有增加或减少时,上交所发生变化。这有助于我们将a&b的价值向最小化上交所转移。
用梯度调整权重,以达到最佳值并最小化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是梯度,它给出了基于上交所的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来预测和计算上交所的总量。
你可以看到,在新的预测中,上证综指已经从0.677下跌至0.553。这意味着预测精度正在提高。
第五步
重复第三和第四步,直到A和B的调整不能有效减少误差。此时,我们已经达到了最佳的甲、乙和最高的预测精度。
这是梯度下降算法。这种优化算法及其变体是许多机器学习算法的核心,例如深度网络甚至深度学习。
由雷Feng.com编辑。
相关文章:
监督学习最常见的五种算法是什么?
雷锋文章版权所有。严禁擅自转载。详情请参考转载说明。
来源:搜狐微门户
标题:史上最简洁易懂教程 用Excel理解梯度下降
地址:http://www.shwmhw.com/shxw/60588.html