zoukankan      html  css  js  c++  java
  • 机器学习笔记----最小二乘法,局部加权,岭回归讲解

    前情提要:关于logistic regression,其实本来这章我是不想说的,但是刚看到岭回归了,我感觉还是有必要来说一下。

    一:最小二乘法

    最小二乘法的基本思想:基于均方误差最小化来进行模型求解的方法。在线性回归中,最小二乘法就是试图找到一条直线,使所有样本到直线上的欧氏距离之和最小。就是说让你现在追一个女生,你希望女生喜欢你是f(xi),而女生喜欢你的程度是yi,你是不是想让你们这两个值相差最少?我们的最小二乘法也是这个原理,但是他引入方差的概念,方差的几何意义对应着欧氏距离。其实大同小异,公式如下:

    最小二乘法总公式

    补充说下维基百科的一个小例子:

    某次实验得到了四个数据点(x,y),分别为(1,6),(2,5),(3,7),(4,10)我们希望找出一条和这四个点最匹配的直线:y=B1+B2X, 即找出在某种“最佳情况”下能够大致符合如下超定线性方程组的B1和B2

    普通公式

    最小二乘法采用的手段是尽量使得等号两边的方差最小,也就是找出这个函数的最小值:

    普通公式2

    最小值可以分别求B1 和B2的偏导数,然后使它们等于零得到:

    普通公式3

    如此就得到了一个只有两个未知数的方程组,很容易就可以解出:

    普通公式4

    也就是说直线y=3.5+1.4x7yy是最佳的。

    好,现在我们接着上面讲,我们的目标是得到:

    目标公式 ,且f(xi)与yi相差越小越好。

    为了方面,我们把b和我w写在一起,构成新的w=(w,b),这个w是一个向量,然后x写成一个矩阵,形如:

    矩阵X

    再把,样本原先的标记搞成向量模式:QQ截图20161012200831 ,那么可得出:

    QQ截图20161012202139

    可以改编成:

    证明

    下面我们对w求导。

    好像很多人对这种求导公式很烦。我来补充点公式吧。

    f(w)

    导数

    WTX

    X

    XTW

    X

    WTX

    2W

    WTCW

    2CW

    C是矩阵

     

    求导过程如下:

    最小二乘法推导过程

    结果:结果

    当XTX为满秩矩阵的时候,或者正定矩阵,可得:

    最后w

    所以线性回归模型为:

    f(x)=xTW

    下面给出,最小二乘法回归的代码:

    执行效果图:

    最小二乘法的实现效果图

    如果单纯的任何情况都用这种线性划分,很容易出现欠拟合现象,什么是欠拟合现象呢,如图:

    欠拟合现象

    由上图片可知:最后的几个点,没有拟合在直线上,这就叫做欠拟合现象。那如何解决呢。

    二 局部加权线性回归

    思路:如果要想解决这个问题,是不是这样就可以了,如下图:

    解决欠拟合现象1

    既然方向已经明确,那么来解决问题。

    要想解决上述问题,我们可不可以给每个点加一个权重,让这些权重去影响本来的直线,改变他们的方向。该算法给出的回归系数如下:

    局部加权线性回归

    ,W是一个矩阵,是为了给每个点赋予权重。

    那估计小伙伴会问,这个权重还能让我们自己凭空yy?我可不想yy了。哈哈。

    好,那么我们就引入核的概念,说白了,就是对附近的点让他有更高的权重,这里的核,我们在以后接着svm慢慢和大家说。

    最常用的核如下:

    2.1高斯核

    高斯核权重:高斯核

    高斯核分布如下:

    高斯核分布

    2.2 其他核函数,暂时就不赘述了,内容太多,等我另外开一章节再讲。

    2.3用高斯核对w进行赋值,

    代码实现如下:

    2.4效果图:

    解决欠拟合2

    感觉效果还行。注意那个K参数,不容易选择,以我现在的水平,我都是试着给的,等我水平上升了,我在来和大家说,哈哈。互相进步,互相伤害啊。

    三 岭回归

    回去看,是不是我给的代码中总有这样一段:

    错误

    这句话用数据来说,就是特征比样本还多,所以如果出现这种情况的话,前面的方法,是不是总是print this matrix is singular,cannot do inverse?这是因为X不是满秩矩阵了,不是满秩矩阵不可以求逆,你懂得。

    那我们如何解决呢,既然不是,那我们就让他是不就完了吗,现在我们给XTX加一个矩阵,然后在对这个新的矩阵求逆,不就完了吗。回归系数公式如下:

    岭回归

    岭回归是一种专用于共线性数据分析的有偏估计回归方法,实质上是一种改良的最小二乘估计法,通过放弃最小二乘法的无偏性,以损失部分信息、降低精度为代价获得回归系数更为符合实际、更可靠的回归方法,对病态数据的拟合要强于最小二乘法。

    本文总结:讲到了最小二乘法,局部加权回归,岭回归这些方法的优缺点,及推导。其实机器学习就这样,给出什么方法,然后为什么用这个方法,这就是算法+优化的过程。送给大家一句话,没有最好的算法,只有适合的算法,要让数据去选择算法。共勉。

  • 相关阅读:
    215. Kth Largest Element in an Array
    214. Shortest Palindrome
    213. House Robber II
    212. Word Search II
    210 Course ScheduleII
    209. Minimum Size Subarray Sum
    208. Implement Trie (Prefix Tree)
    207. Course Schedule
    206. Reverse Linked List
    sql 开发经验
  • 原文地址:https://www.cnblogs.com/xiaohuahua108/p/5956254.html
Copyright © 2011-2022 走看看