机器学习——回归

机器学习——回归

机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

一、线性回归

1.1 拟合函数

\[h_\theta (x)=\theta ^T x \]

1.2 代价函数

\[Cost(h_\theta (x),y)=\theta ^T x-y \]

那么,

\[J(\theta)=\frac{1}{m}\sum \limits_{i=1}^{m} (h_\theta ( x^{(i)} )-y^{(i)})^2 \]

1.3 梯度下降法

want \(\min \limits_\theta J(\theta)\):
Repeat{
$$\theta_j:=\theta_j-\alpha \frac{\partial}{\partial \theta_j}J(\theta)$$
}
其中,\(\frac{\partial}{\partial \theta_j}J(\theta)=\frac{1}{m} \sum \limits_{i=1}^{m}(h_\theta ( x^{(i)})-y^{(i)})x^{(i)}\)

1.4 正规方程组

通过求伪逆的方法求得最优解。

\[\theta=(X^T X)^{-1}X^T Y \]

二、Logistic回归

2.1 拟合函数

\[h_\theta (x)=g(\theta ^T x )=\frac{1}{1+e^{-\theta ^T x}} \]

2.2 代价函数

\[Cost(h_\theta (x),y)=-y log(h_\theta (x))-(1-y)log(1-h_\theta (x)) \]

其中,\(y=0,1\)
那么,

\[J(\theta)=\frac{1}{m}\sum \limits_{i=1}^{m} Cost(h_\theta ( x^{(i)} ),y^{(i)}) \]

2.3 梯度下降法

want \(\min \limits_\theta J(\theta)\):
Repeat{
$$\theta_j:=\theta_j-\alpha \frac{\partial}{\partial \theta_j}J(\theta)$$
}
其中,\(\frac{\partial}{\partial \theta_j}J(\theta)=\frac{1}{m} \sum \limits_{i=1}^{m}(h_\theta ( x^{(i)})-y^{(i)})x_j^{(i)}\)

2.4 多元分类

简单说,多元分类就是将问题看成多个二元分类问题,通过区别第i类和其他类的函数\(h_\theta^{(i)}(x)\)来实现。

三、欠拟合、适当拟合、过拟合

以下面两幅图为例,从左到右分别为欠拟合、适当拟合、过拟合。所谓过拟合,就是利用训练集太充分,使得不再适应新的测试点。而欠拟合恰恰相反,是利用训练集不充分,导致不能很好地适应新的测试点。

3.1 怎么解决过拟合问题

训练数据比较少时,为了充分利用数据,会将模型设为很复杂的多项式。结果造成过拟合。解决方案如下:

  1. 减少特征的数量
    1.1 人工选择保留哪些特征
    1.2 利用特征选择函数
  2. 正则化
    2.1 保留所有特征,但是减小参数\(\theta_j\)的幅度
    2.2 当有很多特征时,效果很好,因为每个对结果都有贡献

3.2正则化方法

\(J(\theta)\)后加入\(\theta\)的多项式,使得每个多项式的作用减弱。

正则化线性回归

\[J(\theta)=\frac{1}{2m}[\sum \limits_{i=1}^{m}(h_\theta(x^{(i)}-y^(i))^2+\lambda \sum \limits_{j=1}^{n} \theta_j^2)] \]

其中,\(\lambda\)称为正则化因子。
注意:此处不能添加\(\theta_0\)。如果添加,会使得所有\(\theta_j\)同时变化,从而起不到约束幅度的目的。
梯度下降法
Repeat{

\[\theta_0:=\theta_0-\alpha \frac{1}{m} \sum \limits_{i=1}^{m}(h_\theta ( x^{(i)})-y^{(i)})x_0^{(i)} \]

\[\theta_j:=\theta_j-\alpha [ \frac{1}{m} \sum \limits_{i=1}^{m}(h_\theta ( x^{(i)})-y^{(i)})x_j^{(i)}+{ \lambda \over m} \theta_j ],j=1,2,\ldots,n \]

}
其中,$$\theta_j:=\theta_j(1-\alpha {\lambda \over m})-\alpha\frac{1}{m} \sum \limits_{i=1}^{m}(h_\theta ( x{(i)})-y)x_j^{(i)},j=1,2,\ldots,n $$

可以发现,\(1-\alpha {\lambda \over m} <1\)

正规方程法

\[\theta {\rm{ = }}{\left( {{{\rm{X}}^T}X + \lambda \left[ {\matrix{ 0 & {} & {} & {} \cr {} & 1 & {} & {} \cr {} & {} & \ddots & {} \cr {} & {} & {} & 1 \cr } } \right]} \right)^{ - 1}}{X^T}y,\lambda > 0 \]

正则化Logistic回归

\[J(\theta)=\frac{1}{2m}[\sum \limits_{i=1}^{m}(-y^{(i)} log(h_\theta (x^{(i)}))-(1-y^{(i)})log(1-h_\theta (x^{(i)}))+\lambda \sum \limits_{j=1}^{n} \theta_j^2)] \]

梯度下降法
Repeat{

\[\theta_0:=\theta_0-\alpha \frac{1}{m} \sum \limits_{i=1}^{m}(h_\theta ( x^{(i)})-y^{(i)})x_0^{(i)} \]

\[\theta_j:=\theta_j-\alpha [ \frac{1}{m} \sum \limits_{i=1}^{m}(h_\theta ( x^{(i)})-y^{(i)})x_j^{(i)}+{ \lambda \over m} \theta_j ],,j=1,2,\ldots,n \]

}

posted @ 2015-07-23 10:19  connorzx  阅读(298)  评论(0编辑  收藏  举报