供参考

参照(2.2)式子

0\approx r = \begin{bmatrix} x_{2}& x_{1}& x_{0}\\ x_{3}& x_{2}& x_{1}\\ x_{4}& x_{3}& x_{2}\\ x_{5}& x_{4}& x_{3}\\ x_{6}& x_{5}& x_{4} \end{bmatrix} \begin{bmatrix} 1\\ -f_{1}\\ -f_{2} \end{bmatrix}     (1)

转换样式

0\approx r = \begin{bmatrix} 1 & a_{1} & a_{2} \end{bmatrix} \begin{bmatrix} x_{2} & x_{3} & x_{4} & x_{5}& x_{6}\\ x_{1}& x_{2} & x_{3} & x_{4} & x_{5}\\ x_{0}& x_{1} & x_{2} & x_{3} & x_{4} \end{bmatrix}  (2)

其中a_{1} = -f_{1},a_{2} = -f_{2}

符合线性回归公式

\frac{\partial}{\partial \theta_{j} }J(\theta ) =\sum_{i=1}^{m}(h_{\theta} (x^{(i)})-y^{(i)})x_{j}(3)

因此参数 a 更新公式参考

\theta _{j}:=\theta _{j}-\alpha\frac{\partial}{\partial \theta_{j} }J(\theta ) (4)

编程详情:

(1)、将多条输入输出数据向量如 \begin{bmatrix} x_{2} & x_{1} & x_{0} \end{bmatrix}\begin{bmatrix} x_{3} & x_{2} & x_{1} \end{bmatrix}\begin{bmatrix} x_{4} & x_{3} & x_{2} \end{bmatrix} 组合成二维数组

X = \begin{bmatrix} x_{2} & x_{3} & x_{4} & x_{5}& x_{6}\\ x_{1}& x_{2} & x_{3} & x_{4} & x_{5}\\ x_{0}& x_{1} & x_{2} & x_{3} & x_{4} \end{bmatrix}

(2)、初始化 a 数组 为 a = [1, 0.5, 0.5]

(3)、求取 a * X 的值 r_real r_{real} = \begin{bmatrix} r_{1} &r_{2} &r_{3} &r_{4} &r_{5} \end{bmatrix}

(4)、参照公式 3 计算损失值

cost_{gradient} = \frac{\partial}{\partial \theta_{j} }J(\theta ) = (r_{real} - r) *X^{T} = [r_{real1} -0, r_{real2}-0, r_{real3}-0, r_{real4}-0] * X^{T} = [m_{1}, m_{2}, m_{3}]

(5)、给个学习率如0.01,根据公式4 求取更新后的系数 a_{new} = a_{old} - rate * \frac{\partial}{\partial \theta_{j} }J(\theta )=[1, 0.5, 0.5] - [m1, m2, m3]= [a1, a2, a3]

(6)、迭代3到5,直到   cost=J(\theta )=\frac{1}{2} \sum_{i=1}^{m}(h_{\theta} (x^{(i)})-y^{(i)})^{2} 小于1e-5

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值