梯度下降方法通过学习样本不断修改theta值,使得h(x)不断拟合,今天实验的是一种数学的方式来进行theta值的确定,目的跟之前是一样的,求J(θ)达到最小(极小)值,那么有:
令上式等于0,得:
下面用昨天的实验进行验证:
from numpy import *
x=mat('[1,1,4;1,2,5;1,5,1;1,4,2]')
y=mat('[19,26,19,20]')
print (x.T * x).I * x.T * y.T
结果为:
[[ -8.52651283e-14]
[ 3.00000000e+00]
[ 4.00000000e+00]]
而昨天随机梯度下降的实验结果为:
[0.00010493
2.99998
3.99998]
可见,结果是极其近似的,之间的差距基本可以忽略!