SPGD优化算法的实现原理:
这个编辑器确实不怎么好用。。。
SGD算法广泛应用于各种深度学习的优化模型算法中,这几天终于把该算法的优化原理研究明白了
首先,我们假设一个函数y = 2x-1,对应的
x = 1,2,3,4,5,6,7,8,9
y = 1,3,5,7,9,11,13,15,17
但是如果我们不知道该函数对应的数学关系,而只是x,y的值,如何让计算机去计算这个模型的数学函数,并且预测x = 20时候的值呢?
代码在最后。。
SPGD算法原理:
首先建立模型,假设这个函数是一个一元二次方程:y = axx+bx+c;且a = 1,b = 1,c = 1;那么我们得到两个曲线,分别如下:

其中,红色的曲线对应着y = 2x-1;
黑色曲线对应着y = xx+x+1;
我们要做的就是让模型更接近于现有的数据真实模型y = 2x-1;
首先我随机产生几个小数,比如[0.1,0.2,0.3];(每次的随机数都不同)
然后将[1,1,1],先加上随机数,再减去随机数,得到
y = 1.1xx+1.2x+1.3;
和y = 0.9xx+0.8x+0.7;
两个函数曲线,然后对统一减去y = 2x-1(应该是将【x = 1,2,3,4,5,6,7,8,9;y = 1,3,5,7,9,11,13,15,17】的值依次带入计算,这里为了便于理解,使用y = 2x-1函数代替);得到:
y = 1.1

本文详细介绍了SGD优化算法的实现原理,通过实例演示如何通过迭代优化一元二次方程,逐步逼近真实数据模型,并应用到深度学习模型预测中。通过MATLAB代码展示了从随机猜测到收敛的优化过程。
最低0.47元/天 解锁文章
727

被折叠的 条评论
为什么被折叠?



