机器学习之--梯度下降和最小二乘法算线性回归
生活随笔
收集整理的這篇文章主要介紹了
机器学习之--梯度下降和最小二乘法算线性回归
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
o1 = 0
o2 = 0
o3 = 0
a = 0.002
x = [1,3,5,3,5,7,2,6,7,3,6,9,4,8,9,6,5,3,3,2,7,1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8,9,9,9] #生成訓練數據
x = x * 250 #將訓練數據擴大50倍
y = []
#生成訓練數據的理論結果
for i in range(int(len(x)/3)):y.append(14*x[i] + 5*x[i+1] + 58*x[i+2])# print('y[{}]:{}'.format(i,y[i]))
#進行隨機梯度下降 每用一行數據,就下降一次,需要樣本足夠且,a值合理
for i in range(len(y)):o1 = o1 - a * (o1 * x[i] + o2 * x[i+1] + o3 * x[i+2] - y[i]) * x[i]o2 = o2 - a * (o1 * x[i] + o2 * x[i+1] + o3 * x[i+2] - y[i]) * x[i+1]o3 = o3 - a * (o1 * x[i] + o2 * x[i+1] + o3 * x[i+2] - y[i]) * x[i+2]print(o1 * x[i] + o2 * x[i+1] + o3 * x[i+2],y[i])
print(o1,o2,o3)
結果:
?
轉載于:https://www.cnblogs.com/cxhzy/p/10672676.html
總結
以上是生活随笔為你收集整理的机器学习之--梯度下降和最小二乘法算线性回归的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LDAP和Implementation
- 下一篇: Halcon 标定与准确测量