2018-07-26
Machine Learning-Linear Regression
线性回归算法
对于特征x,及预测值h_0(x)、参数\theta符合:
h_0(x)=\sum_{i=0}^{n}\theta_ix_i=\theta^Tx
对于M维的向量x,总有m-1阶数的方程 h_0(x)=\theta_1^Tx+\theta_2^Tx^2+\theta_3^Tx^3+...+\theta_{m-1}^Tx^{m-1}
高阶的非线性函数也可以看成是线性函数(x,x^2,x^3,...x^m)
对于每个样本而言: y^{(i)}=\theta^Tx^{(i)}+\epsilon^{(i)} ,其中误差 \epsilon^{(i)} 符合高斯分布
p(\epsilon^{(i)})= {1\over\sqrt{2\Pi}\sigma}exp{-{(\epsilon^{(i)})^2\over 2\sigma^2}}
- 似然函数是一种关于统计模型参数的函数。给定输出x时,关于参数θ的似然函数L(θ|x)(在数值上)等于给定参数θ后变量X的概率:L(θ|x)=P(X=x|θ)。预测值成为真实值的可能性
\epsilon^{(i)}=y^{(i)}-\theta^Tx^{(i)} 代入得似然函数:
L(\theta)= \Pi_{i=1}^{m}p(y^{(i)}|x^{(i)};\theta)= \Pi_{i=1}^{m}{1\over\sqrt{2\Pi}\sigma}exp{-{(y^{(i)}-\theta^Tx^{(i)})^2\over 2\sigma^2}}
\log L(\theta)=\log \prod_{i=1}^{m}\frac{1}{\sqrt{2\pi}\sigma}\exp(-\frac{(y^{(i))}-\theta ^{T}x^{(i)})^{2})}{2\sigma ^{2}})
展开化简得:
m\log \frac{1}{\sqrt{2\lambda }\sigma }-\frac{1}{\sigma ^{2}}\cdot \frac{1}{2}\cdot \sum_{i=1}^{m}(y^{(i))}-\theta ^{T}x^{(i)})^{2}
- 使得似然函数最大级要求目标函数最小
目标函数(最小二乘法):
J(\theta)=\frac{1}{2}\cdot \sum_{i=1}^{m}(y^{(i))}-\theta ^{T}x^{(i)})^{2}
为了避免过拟合,加入正则项,避免\theta值过大
- Ridge回归L2正则(\lambda \sum_{J=1}^{m}\theta _{j}^{2})
J(\theta)=\frac{1}{2}\cdot \sum_{i=1}^{m}(y^{(i))}-\theta ^{T}x^{(i)})^{2}+\lambda \sum_{J=1}^{m}\theta _{j}^{2}
- LASS0 L1 正则(\lambda \sum_{J=1}^{m}\left | \theta \right |)
J(\theta)=\frac{1}{2}\cdot \sum_{i=1}^{m}(y^{(i))}-\theta ^{T}x^{(i)})^{2}+\lambda \sum_{J=1}^{m}\left | \theta \right |
- Elastic Net
J(\theta)=\frac{1}{2}\cdot \sum_{i=1}^{m}(y^{(i))}-\theta ^{T}x^{(i)})^{2}+\lambda (P\sum_{J=1}^{m}\left | \theta \right |+(1-p)\sum_{J=1}^{m}\theta _{j}^{2})
- 预测值与真实值差的平方
- 都是凸函数
对目标函数求导后
\theta =(X^{T}X)^{-1}X^{T}y
- 评估的方法
R^{2}:1-\frac{\sum_{i=1}^{m}(\breve{y}-y_{i})^{2}}{\sum_{i=1}^{m}(y_{i}-\bar{y})^{2}}
预测值和真实值之间的差异:残差平方和/真实值和平均值的差异:类似方差项
- R方的取值越接近于1 拟合的越好(残差平方和越小越好)
误差如果不符合高斯分布,需要处理成正常的分布
梯度下降
\theta不一定可通过求导求得
目标函数:
J(\theta)=\frac{1}{2m}\cdot \sum_{i=1}^{m}(y^{(i))}-h_0(x^i))^{2}
局部最小,不一定是全局最小
沿着负梯度方向迭代,更新后的\theta使得J(\theta)更小
\theta =\theta -\alpha \cdot \frac{\partial J(\theta ))}{\partial \theta }
\alpha:学习率
-
批量梯度下降(BATCH)
\theta_{j}=\theta _{j}+\alpha \sum_{i=1}^{m}(y^{i}-h_{0}( x^{i} ))x_{j}^{i} -
随机梯度下降(SGD)
\theta_{j}=\theta _{j}+\alpha(y^{i}-h_{0}( x^{i} ))x_{j}^{i} -
小批量梯度下降(MINI-BATCH)
批量下降与随机梯度下降的结合