一.拟合非线性样本——局部加权线性回归(LWR)
第二讲线性回归中假设函数(hypothsis function)hθ(x)=θTX是线性函数。对非线性样本不能很好的拟合。所以,使用局部加权回归来拟合非线性样本。
图一的拟合函数为
,图二为
,图三为
。为了方便在二维坐标下表示,特征只有一种即房子的面积(只是对面积取不同的次幂)。从拟合的结果看,称图一是欠拟合(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})$。通过计算最大似然函数可以得到结论。证明如下:
三.二分类算法——逻辑回归(logistic regression)
判断是不是邮件垃圾;判断是否是恶性肿瘤,都可以看作y={0,1}二分类问题,如果使用线性的假设函数会造成边界处的分割点是不准确的,会因为训练样本差异产生错误偏移。
logistic function or the sigmoid function )
($x_0=1$)
同样需要设定一组假设,通过求最大似然函数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个相互独立的训练样本,似然函数为
求θ的值和在linear regression中一样使用梯度上升,θ的向量更新表达式:
因为这里是求最大似然函数,所以是加号。考虑一个训练样本(x,y)。
这里利用批梯度下降更新$\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$,
有$\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)}$
,$\nabla_\theta{l(\theta)}$是l($\theta$)对$\theta_i$的导数,H为n*n的Hessian矩阵(二阶偏导),n为$\theta$的维数。当然牛顿法的计算代价因为求逆是比较大的,实际上在n不是太大时牛顿法仍是很快的。
五.感知器
同上面的理论,当使用$h_\theta(x)=$
它的更新是这样的