线性回归算法

2019-01-26  本文已影响0人  shadowflow

h_\theta(x) = θ₀ + θ₁x₁ + θ₂x₂ (θ₀ 是偏置项)
整合:
h_\theta(x)=\sum_{i=0}^Nθ_ix_i=θ^TX
注:(x_0=1

1 误差

1.1 真实值与预测值之间肯定要存在差异的(用\epsilon来表示该误差)

(0) 对于每个样本:y^{(i)}=\theta^T x^{(i)} + \epsilon^{(i)}

误差\epsilon^{(i)}是独立并且具有相同的分布,并且服从均值为0方差为\theta^2的高斯分布

  • 独立:张三和李四一起来贷款,他俩没关系
  • 同分布:他俩都是来的我们假定的这家银行
  • 高斯分布:银行可能会多给,也可能会少给,但是绝大多数情况下这个浮动不会太大,极小情况下浮动比较大,符合正常情况。

2 似然函数

(1)高斯分布:f(x)=\frac{1} {\sqrt[]2\pi\sigma}exp(-\frac{(x-\mu)^2}{2\sigma^2})
(2)由于误差服从u=0,\sigma^2的高斯分布:p(\epsilon^{(i)})=\frac{1} {\sqrt[]2\pi\sigma}exp(-\frac{(\epsilon(i)^2)}{2\sigma^2})
(3)将(0)带入(2)求解:p(y^{(i)}|x^{(i)};\theta)=\frac{1} {\sqrt[]2\pi\sigma}exp(-\frac{(y^{(i)}-\theta^T x^{(i)})^2}{2\sigma^2})
似然函数:L(\theta)=\prod_{i=1}^mp(y^{(i)}|x^{(i)};\theta)=\prod_{i=1}^m\frac{1} {\sqrt[]2\pi\sigma}exp(-\frac{(y^{(i)}-\theta^T x^{(i)})^2}{2\sigma^2})
对数似然:logL(\theta)=log\prod_{i=1}^m\frac{1} {\sqrt[]2\pi\sigma}exp(-\frac{(y^{(i)}-\theta^T x^{(i)})^2}{2\sigma^2})
似然函数越大越好

3 目标函数

J(\theta)=\frac{1} {2}\sum_{i=1}^m(y^{(i)}-\theta^Tx^{(i)})^2   (越小越好)
J(\theta)=\frac{1} {2}\sum_{i=1}^m(h_\theta(x^{(i)})-y^{(i)})^2

4 求偏导

\nabla_\theta J(\theta)=X^TX\theta-X^Ty
偏导等于0:\theta=(X^TX)^{-1}X^Ty

5 评估方法

最常用的评估项R^2:1-\frac{ \sum_ {i=1}^m(\hat{y}_i-y_i)^2}{\sum_{i=1}^m(y_i-\bar{y})^2}
注:R^2取值越接近于1我们认为模型拟合的越好

6 梯度下降

引入:当我们得到了一个目标函数后,如何进行求解?(并不一定可直接求解,线性回归是个特例而已)
常规套路:机器学习的套路就是我交给机器一堆数据,然后告诉它什么样的学习方式是对的(目标函数),然后它朝着这个方向去做
如何优化:一口吃不成个胖子,我们要静悄悄的一步步的完成迭代(每次优化一点)
目标函数:J(\theta)=\frac{1} {2m}\sum_{i=1}^m(h_\theta(x^{(i)})-y^{(i)})^2

上一篇 下一篇

猜你喜欢

热点阅读