梯度下降算法

1、首先我们根据一组数据来通过训练得到一个函数一:

2、x是我们的输入数据,x的系数θ就是我们通过学习来得到的各个神经元对于输入值得加工。

3、我们还需要一个方法来判断θ的值是否合适,以便不断调整我们训练得到的函数一,这就是(损失函数)函数二:

这个函数就是将输入值的数据带入我们所的函数一中,然后根据实际值与函数一所的的预期值的差的平方和的大小,前面乘上的1/2是为了在求导的时候,这个系数就不见了。

4、那么我们如何调整这个θ的值以使J(θ)的值取得最小值呢?

有以下几个方法:1最小二乘法2梯度下降法

1最小二乘法:

2梯度下降法:

首先我们假设θ只有一个,随便赋予θ两个值θ1,θ2,然后计算J(θ1)和J(θ2),如果:

J(θ1) > J(θ2)说明我们应该向θ2方向调整参数

否则就向θ1方向调整参数值,

我们如何随机挑选出最合适的θ调整方向呢?

首先,我们在各个方向上均匀取很对θ1,θ2,使得a = |θ1-θ2|

然后带入函数二,就得到|J(θ1) - J(θ2)|的一个最大值,就得到了一个最优的方向减小我们的损失函数

原文地址:https://www.cnblogs.com/lycsdhr/p/8748970.html