首先假设有这样一组数据
X1 | X2 | … | Y |
---|---|---|---|
a1 | b1 | … | c1 |
a2 | b2 | … | c2 |
… | … | … | … |
目标是找到一条合适的线来拟合数据点,可以根据给的X预测Y值
设置权重参数
假设每个X都有一个对应的θ为它的权重参数,可得:
Y = Θ 0 + Θ 1 X 1 + Θ 2 X 2 + . . . Y=\Theta_0+\Theta_1X_1+\Theta_2X_2+... Y=Θ0+Θ1X1+Θ2X2+...
Θ
0
\Theta_0
Θ0为设置的偏置项,可以对这一项乘以一列X0,其中X0全部为1即可将式子化为:
Y
=
∑
i
=
1
n
Θ
i
2
x
i
=
Θ
T
X
Y=\displaystyle\sum_{i=1}^{n} \Theta_i^2x_i=\Theta^TX
Y=i=1∑nΘi2xi=ΘTX
接着误差用
ϵ
\epsilon
ϵ表示,误差一定存在,且经验可知误差是独立且一般为(0,
Θ
2
\Theta^2
Θ2)的高斯分布,如图:
下面用小标r表示真实值,即
ϵ
r
\epsilon^r
ϵr表示真实的误差值
- Y r = Θ X r + ϵ r Y^r=\Theta X^r+ \epsilon^r Yr=ΘXr+ϵr
- 由于误差服从高斯分布所以可得:: P ( ϵ r ) = 1 ( 2 π ) σ e ( ϵ r ) 2 − 2 σ 2 P(\epsilon^r)=\frac{1}{\sqrt (2\pi)\sigma}e^\frac{(\epsilon^r)^2}{-2\sigma^2} P(ϵr)=(2π)σ1e−2σ2(ϵr)2
- 1带入2式子可得: P ( ϵ r ) = 1 ( 2 π ) σ e ( y r − Θ T X r ) 2 − 2 σ 2 P(\epsilon^r)=\frac{1}{\sqrt (2\pi)\sigma}e^\frac{(y^r-\Theta^TX^r)^2}{-2\sigma^2} P(ϵr)=(2π)σ1e−2σ2(yr−ΘTXr)2
手写比较方便,下面上图
这里引入似然函数,
似然函数简单来讲,就是根据样本来估计权重参数的值,即假假设权重参数使之与数据组合之后能接近真实值),因为每一次产生误差都是相互独立的事件,所以应该概率相乘
对数似然
之所以取log运算由于累乘不好算,对似然函数取对数,将累乘化成累加,再化简可得:
误差一定产生了,既然产生,我们就根据极大似然估计断定一定发生在概率最大的地方。换句话说Log(L(θ))越大,预测值接近真实值的可能性就越大,为了尽可能接近真实值,所以Log(L(θ))要尽可能大, 而前一项可知是恒正的,因此需要后一项尽可能小,再去掉σ这个常数项之后最终可得:
是不是很眼熟,这里就是最小二乘法。
要注意的是,这里的X,θ,Y都是矩阵,A矩阵的平方=A的转置×A,可得
再使偏导等于0
为什么偏导等于0就能取到极小值点?因为机器学习中的凸优化,默认函数为凸函数(这个以后再说)。
现在就得到了一个可求的权重参数,但是这个θ一般是无法直接进行求解的,需要进行优化(例如梯度下降等),通常不直接求解。
评估方法
最常用评估项
分子表示预测值减去真实值,可以推出分子越小越好,即R²越接近1模型拟合的越好
学习笔记