线性回归对线性方程y = w * x + b
中w,b
求解
知识点:
- 损失函数:loss = (y - w * x - b )**2
- 怎么迭代:loss对要求的值求偏导:
- w(新) = w(旧) - ∂loss/∂w
- b(新) = b(旧) - ∂loss/∂b
- 为什么是减号呢:设想当前点在最优解左边(凹函数),斜率就是负值,怎么向右移动呢?负负得正,减去这个负值就好啦!
- 随着点越来越靠近最优解,loss自然就下降了
import torch
import numpy as np
#计算当前b, w下的损失函数总值
def compute_error_for_line_given_points(b, w, points):
totalError = 0
for i in range(0, len(points)):
x = points[i, 0]
y = points[i, 1]
totalError +