机器学习(课程笔记3)——局部加权回归,过拟合,欠拟合;概率推导最小二乘的合理性;分类算法;感知器

一.非线性拟合——局部加权回归

  之前我们的假设函数(hypothsis function)hθ(x)=θTX是线性函数。在某种程度上,这并不能很好的拟合出可以在现实中准确预测的函数。故而,我们需要使用非线性函数拟合。

  

图中分别是线性,二次项,多次项。为了在二维坐标下表示,特征只有一种即房子的面积只是对面积取不同的次幂。从拟合的结果看,称图一是欠拟合(under fitting),图三为过拟合(overfitting)。

  为了实现从训练样本中自动获得一组好的特征,引出局部加权线性回归(LWR-locally weighted linear regression)。和线性回归算法不同,LWR中拟合参数θ使minimize$\sum_i{w^{(i)}(y^{(i)}-θ^Tx^{(i)})^2}$。通过降低误差大项的权值来减少拟合的误差。

  这里权值函数假设为钟形函数$w^{(i)}=exp{(-\frac{(x^{(i)}-x)^2}{2\boldsymbol{\tau}^2})}$。 这个权值函数是自定义,也可以定义为高斯函数(但这里不是,它的积分也不是1,但一定是非负数non-negative valued)。样本点$x^{(i)}$的权值大小取决于和其估计点x的距离,τ来控制在估计点附近权值下降的速度(如何取后面会讲)。

  LWR属于无参数学习算法(non-parametric),是因为当我们需要预估值时,还要在这一点重新计算一次线性回归,其假设函数就有很多个(取决于样本集的大小)。LR属于参数学习算法,是因为它的参数$\theta$经过训练后是固定的,预估点时直接带入求得。

   LWR的优点在于可以利用多段近似线性回归,更好的拟合出非线性曲线,同时它的计算量也是随着样本集数量线性增长的。Andrew Moorekd-tree算法可以对该问题进行优化 。http://www.cs.cmu.edu/~awm/index.html


 

二.线性回归用最小二乘构造合理性的概率推导

  为了证明二者的合理性,我们不得不进行一些合理化假设。一是方便数学解释,二是实际上这样的假设近乎是可行的。

  assume 1(加入误差函数):$y^{(i)}=\theta^Tx^{(i)}+\epsilon^{(i)}$       (1)  ,$\epsilon^{(i)}$是第i个样本上的误差,它包含了我们回归时忽略的特征和随机噪声。

  assume 2(IID,应用中心极限定理):$\epsilon^{(i)}$所包含的误差独立同分布(IID,independently and identically distribution),由中心极限定理(当独立随机变量逐渐增多,其和的分布趋于正态分布)  

  故,$\epsilon^{(i)}∼N(0,\sigma^2)$     (2)
    $P(\epsilon^{(i)})=\frac{1}{\sqrt{2\pi\sigma^2}}exp(-\frac{(\epsilon^{(i)})^2}{2\sigma^2})$      (3)

由(1)(3)推出$P(y^{(i)}|x^{(i)};\theta)=\frac{1}{\sqrt{2\pi\sigma^2}}exp(-\frac{(y^{(i)}-\theta^Tx^{(i)})^2}{2\sigma^2})$    (4)。该式表示在给定参数$\theta$条件下,$x^{(i)}$条件下$y^{(i)}$的分布。

  接下来用似然函数$L(\theta)=L(X,\overrightarrow{y};\theta)=P(y^{(i)}|x^{(i)};\theta)$,表示在$\theta)$下我们拿到的训练集发生的概率最大。这里X=$\begin{bmatrix} \cdots & x^{(1)}&\cdots \\ \cdots & x^{(2)}&\cdots\\\vdots & \ddots & \vdots \\ \cdots & x^{(m)}&\cdots \end{bmatrix}$      $y=\begin{bmatrix} y^{(1)}\cdots\

y^{(m)}\end{bmatrix}^T$。

  因为独立性假设,所以可以写$L(\theta)=\prod_{i=1}^{m}P(y^{(i)}|x^{(i)};\theta)=\prod_{i=1}^{m}\frac{1}{\sqrt{2\pi\sigma^2}}exp(-\frac{(y^{(i)}-\theta^Tx^{(i)})^2}{2\sigma^2})$。通过计算最大似然函数可以得到结论。证明如下:

  


 三.分类算法——逻辑回归(logistic regression)

  对于二分类问题y{0,1},类似这样的问题比如:判断垃圾是不是邮件;判断是否是恶性肿瘤;事件是否发生。如果使用线性回归的假设函数会造成分割点的边界处是不准确的,会随着样本的长度产生偏移,但实际上分割边界位置应是没有变化的。这里的假设函数设为S型函数(logistic function or the sigmoid function )$h_\theta(x)=g(\theta^Tx)=\frac{1}{1+e^{-\theta^Tx}}$

  同样,需要估计$\theta$的值,通过似然函数L($\theta$)。当我说似然函数时,是想找到一个$\theta$让我们的样本出现概率最大,也就是求最大似然估计。

  假设函数会产生[0 1]之间的数,,

    $p(y=1|x;\theta)=h_\theta(x)$        表示用$h_\theta(x)$ 去估计y=1的概率
    $p(y=0|x;\theta)=1-h_\theta(x)$

    简化形式可写为$L(\theta)=P(y|x;\theta)=(h_\theta(x))^y(1-h_\theta(x))^{1-y}   y=0,1$

  通常,假设函数知道后,我们可以采取最小二乘和梯度下降的方法来求出($\theta$)。还有就是上面提到的用求最大似然估计的方法来求($\theta$)。他们都是想让我们找到这个参数,来使拟合的误差尽量小,更贴合拿到的样本集。

             证明:

利用梯度上升最终得到 这里利用批梯度下降更新$\theata$。形式上和线性回归最小二乘一样,但这里并不是一样的,因为它们的h(x)是不同的。只是都用了梯度下降算法,这种情况在机器算法中是常见的。


 

四.感知器

  同上面的理论,当使用$h_\theta(x)=$  它的更新是这样的

 

 

 

  

 

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  

 

猜你喜欢

转载自www.cnblogs.com/g6z3z/p/9258391.html