问题描述:
给定一个训练集:{xi, yi},i=1,..,m,拟合y(x),从而预测:y(xtest)。
线性模型:
假设训练集{xi, yi}满足线性方程y = a x + b,则对于某一个xi,yi, pred = a xi + b(yi, pred 为预测值)。(yi - yi, pred )2越小则拟合效果越好。
对于训练集中的m个样本,定义J(a,b) = 1/(2*m) * sumi [(yi - yi, pred )2]。
则问题可以转化为 mina,bJ,即寻找a,b的值使J最小。
梯度下降法求mina,bJ
基本思想:1. random initialize a, b
2. repeat {
calculate J(a, b), da, db (da, db = dJ/da, dJ/db)
J(a, b) = 1/(2*m) * sumi [(yi - yi, pred )2] = 1/(2*m) * sumi [(yi - a * xi - b )2]
da = 1/m * ( a * xi + b - yi ) * a
a <= a - alpha * da
b <= b - alpha * db
}
向量化
原文:https://www.cnblogs.com/douglas-penaldo-shaw/p/11332829.html