一.拟合非线性样本——局部加权线性回归(LWR)

  第二讲线性回归中假设函数(hypothsis function)hθ(x)=θTX是线性函数。对非线性样本不能很好的拟合。所以,使用局部加权回归来拟合非线性样本。

  

非线性加权 机器学习_线性回归

  图一的拟合函数为

非线性加权 机器学习_拟合_02

,图二为

非线性加权 机器学习_人工智能_03

,图三为

非线性加权 机器学习_线性回归_04

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

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

non-negative valued)。样本点$x^{(i)}$的权值大小取决于和其估计点x的距离,τ来控制在估计点附近权值下降的速度(如何取后面会讲)。

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

Andrew Moore的 kd-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})$。通过计算最大似然函数可以得到结论。证明如下:

  

非线性加权 机器学习_线性回归_05


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

  判断是不是邮件垃圾;判断是否是恶性肿瘤,都可以看作y={0,1}二分类问题,如果使用线性的假设函数会造成边界处的分割点是不准确的,会因为训练样本差异产生错误偏移。

logistic function or the sigmoid function )

非线性加权 机器学习_线性回归_06

非线性加权 机器学习_数据结构与算法_07

($x_0=1$)

非线性加权 机器学习_人工智能_08

  同样需要设定一组假设,通过求最大似然函数L($\theta$)估计$\theta$的值。最大似然函数,是想找一个$\theta$当取其值时样本(x,y)出现概率最大,这样就相当于最佳的拟合样本。

    $p(y=1|x;\theta)=h_\theta(x)$        表示假设用$h_\theta(x)$ 去估计y=1的概率,$h_\theta(x)$会产生0~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$

  假设m个相互独立的训练样本,似然函数为             

非线性加权 机器学习_拟合_09

  求θ的值和在linear regression中一样使用梯度上升,θ的向量更新表达式:

非线性加权 机器学习_人工智能_10

因为这里是求最大似然函数,所以是加号。考虑一个训练样本(x,y)。

非线性加权 机器学习_线性回归_11

 

 

非线性加权 机器学习_线性回归_12

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


四.牛顿法(Newton's method)

上一节学习了二分类算法logistic regression,涉及到求参数使likelihood function$l(\theta)$maxmizing。当时用的是梯度上升(grdient ascent)方法。现在介绍一种对logistic regression收敛更快的算法。使用Newton's method 对假设函数是有要求的,假设函数要满足一系列的条件。

  一.函数  f  find  $\theta\in\Re$ st.  $f(\theta)=0$的$\theta$,

非线性加权 机器学习_拟合_13

有$\theta^{(1)}=\theta^{(0)}-\Delta=\theta^{(0)}-\frac{f(\theta^{(0)})}{f'(\theta^{(0)})}$

推广为:$\theta^{(t+1)}=\theta^{(t)}-\frac{f(\theta^{(t)})}{f'(\theta^{(t)})}$

  二.当 $l(\theta)$   want  $\theta$  st. $l'(\theta)=0$

有$\theta^{(t+1)}=\theta^{(t)}-\frac{f'(\theta^{(t)})}{f''(\theta^{(t)})}$

  三.$\theta$是向量时,推广为,

$\theta^{(t+1)}=\theta^{(t)}-H^{-1}\nabla_\theta{l(\theta)}$

     

非线性加权 机器学习_人工智能_14

 ,$\nabla_\theta{l(\theta)}$是l($\theta$)对$\theta_i$的导数,H为n*n的Hessian矩阵(二阶偏导),n为$\theta$的维数。当然牛顿法的计算代价因为求逆是比较大的,实际上在n不是太大时牛顿法仍是很快的。


 五.感知器

  同上面的理论,当使用$h_\theta(x)=$

非线性加权 机器学习_数据结构与算法_15

  它的更新是这样的

非线性加权 机器学习_人工智能_16