局部加权回归
区别“参数”学习和“非参数”学习:
- 参数化学习:算法的目的是习得参数具体的值,参数的数量不变。
- 非参数化学习:参数的数量随数据量(线性)增大,相当于最终结果保存了训练集。
局部加权回归是一种非参数化学习,即保存训练数据,在预测新数据时,给接近输入的那些数据更高的权重,用它们来产生模型参数,再代入求解。
精确来说:
我们改变了代价函数,相较于普通的线性回归,加上了权重
如果比较小(x是要预测的数据),则上式接近于1。如果比较大,则上式接近于0。可见,只有接近的数据会被用来做预测,故称“局部”。
τ是“宽度”,越大则参考的数据越多。
局部加权回归比较适合数据量较小的数据集,因为它需要保存所有训练数据。
使用平方误差的概率解释
使用least squares等价于使用误差为高斯分布且互相独立的maximum likelihood estimation方法。关于MLE具体见另一篇文章。
逻辑回归
用于解决分类的问题。
当y是0或1(离散)时,我们使用逻辑回归。
首先,定义sigmoid函数:
然后,将我们的假设函数定为:
可以设我们的模型对任何x,y的取值都有一个概率:
即:
则可以用MLE方法找到θ。
使用log likelihood会更简单一些
我们需要找到使得l(θ)最大的θ
方法是梯度上升:
具体看第二课。
代数方法算出上式等于:
可见上式与第二课的LMS一致,原因之后会揭晓。
可惜的是,逻辑回归没有解析解(正规方程),因此无法直接代入得到参数,必须诉诸迭代的方案。
牛顿方法
梯度下降之外另一种方法是牛顿方法。
牛顿方法通过不断更新θ找到函数f(θ)的零点
用以下公式更新:
当θ是向量时:
图示:
由于要找l(θ)的最大值点(或J的最小值点),我们使用牛顿方法找导函数l'(θ)的零点:
牛顿方法具有二次收敛的特点,收敛的速度必梯度下降快很多。
当θ是向量时:
H是n+1*n+1矩阵(包括第0项,即截止项)
牛顿方法的缺点在于当θ的维数比较大(比如几千几万)时,该方法的每一步都十分昂贵。因为涉及到求一个高维矩阵的逆。
牛顿算法能保证用一次迭代就找到线性回归的解