zoukankan      html  css  js  c++  java
  • Coursera Machine Learning : Regression 简单回归

     简单回归

      这里以房价预测作为例子来说明:这里有一批关于房屋销售记录的历史数据,知道房价和房子的大小。接下来就根据房子的大小来预测下房价。

      简单线性回归,如下图所示,找到一条线,大体描述了历史数据的走势。

      f(x) 代表房价的预测值

      wo 代表截距(intercept) 相关系数

      w1 代表特征(房子大小)的相关系数(coefficient)

      x 代表房子的大小

      yi 代表房价真实值

      xi 代表房子大小的真实值

      εi 代表真实值与预测值之间的误差

      

      已知x,只要求出wo和w1就能简单的对房价进行预测,但是w0和w1的值如何选择,更能准确的描述历史数据,更能准确的进行预测?

      这里要注意区分如下两个点:

        1、更准确的描述测试数据的点。

        2、更准确的对数据进行预测。

      更准确的描述测试数据,并不能代表可以更准确的对数据进行预测。后面会进一步讨论。

      咱们回到w0和w1值的选择,每种w0和w1的选择都会形成一条线,咱们先讨论如何评价每条线的“代价”。

        

      RSS残差平方和,针对每个测试数据,将真实值与预测值的差值进行平方,并将所有的结果进行求和。

      

      RSS的值越小,就说明这条线更准确的描述了测试数据的点。

      

      w0和w1的值为多少的时候RSS的值最小呐?

      

      

      先简单回顾一下,凹凸函数,

      凹函数(concave)有最大值点,凸函数(convex)有最小指点,另凸凹函数的导数为0,则可求出极值点。

      比如g(w) = 5-(w-10)2 , 对 g(w)求导 = 0 - 2(w-10)1 = -2w + 20 = 0, w = 10

        将w = 10 代入源函数g(10) = 5 - (10 - 10)2 = 5, 极大值为5

      

      通过下山方法查找最小值,如下图:

      取w(t),当W(t)的导数小于0,说明W(t)在最小值的左边,需要右移动增加一步,

             当W(t)的导数大于0,说明W(t)在最小值的右边,需要左移动增加一步,直到结果无限接近于0

      将增加一步的大小量化,记作步长μ,将无限接近于0量化为阀值ε,这种方式是进行迭代计算,直到结果小于阀值,结束运算,不然将根据步长迭代计算。

      

      

       根据上述的描述,可以计算出RSS的值取最小值时w0和w1的值:

      1、直接将倾斜度置为0,计算导数为0的结果。

      2、梯度下降,迭代运算,取最小值为小于阀值。

      接下来进行公式推导,求出具体的值。

      根据之前的推导知道RSS的公式,然后分别对w0和w1进行求导,求导结果如下:

      

      

      通过方法一求w0和w1,将结果置为0

      w1 =  (Σyixi - ΣyiΣxi/N) / (Σxi2 - ΣxiΣxi

          w0 =  Σyi/N - w1(Σxi/N)

      需要知道

      Σy房价总和

          Σxi 房屋总大小

      Σxi2  房屋大小平方和

      Σyix房价和房屋大小乘积和

      

      

      方法二,梯度下降算法实现,如下图:

      

      

      

      

      贴两个具体的计算实例,方便大家理解:

      

  • 相关阅读:
    java后台对上传的图片进行压缩
    Reflections框架,类扫描工具
    commons-httpclient和org.apache.httpcomponents的区别
    sql里面插入语句insert后面的values关键字可省略
    Callable接口、Runable接口、Future接口
    Java多线程之Callable接口的实现
    说说Runnable与Callable
    论坛贴吧问题:如何终止运行时间超时的线程
    使用Future停止超时任务
    spring的@Transactional注解详细用法
  • 原文地址:https://www.cnblogs.com/one--way/p/6110610.html
Copyright © 2011-2022 走看看