zoukankan      html  css  js  c++  java
  • 线性回归算法原理推导

    机器学习的有监督算法分为分类和回归两种。

    • 回归:通过输入的数据,预测出一个值,如银行贷款,预测银行给你贷多少钱。
    • 分类:通过输入的数据,得到类别。如,根据输入的数据,银行判断是否给你贷款。

    一、线性回归

      现在这里有一个例子
      数据:工资和年龄(2个特征)
      目标:预测银行会贷款给我多少钱(标签)
      考虑:工资和年龄都会影响最终银行贷款的结果那么它们各自有多大的影响呢?(参数)

    工资 年龄 额度
    4000 25 20000
    8000 30 70000
    5000 28 35000
    7500 33 50000
    12000 40 85000

      输入为工资和年龄,输出为银行贷款的额度。那么输入和输出到底有什么关系呢?

      假设X1,X2就是我们的两个特征(年龄,工资),Y是银行最终会借给我们多少钱

      线性回归呢就是找到最合适的一条线(想象一个高维)来最好的拟合我们的数据点,那么这个地方因为自变量涉及两个,所以最终目的就是找出一个拟合平面。

      

      那么现在继续假设θ1是年龄的参数, θ2是工资的参数。那么拟合的平面表达式为(θ0为偏置项,θ1、θ2为权重参数):

       

      这里的话总共有两个特征,那么当有n个特征的时候的表达式为(θ0对应的X0全为1):

      

    二、误差

      真实值和预测值之间肯定是要存在差异的(用 ε 来表示该误差),而对于每个样本来说,真实值等于预测值加上误差值,公式表达为:

      

    • 误差ε(i)是独立并且具有相同的分布,并且服从均值为0方差为θ2的高斯分布(正态分布)。
    • 独立:张三和李四一起来贷款,他俩没关系。
    • 同分布:他俩都来得是我们假定的这家银行。
    • 高斯分布:银行可能会多给,也可能会少给,但是绝大多数情况下这个浮动不会太大,极小情况下浮动会比较大,符合正常情况。

       

      预测值与误差:

      

      由于误差服从高斯分布:

      

      将两个式子整合得到:

      

      似然函数(什么样的参数跟我们的数据组合后(这个组合后的值就是预测值)恰好是真实值),最大似然估计(参数跟数据组合后恰好是真实值的概率是最大的),下面两个竖线数学符号的意思是进行累乘。

      

      对数似然(乘法理解,加法就容易了,对数里面乘法可以转化成加法):

       

    三、推导

      对上面的对数似然进行整合可以得到:

      

      我们的最终目标就是让似然函数(对数似然也是一样)越大越好,因为上面这个式子,前半部分是恒大于0的且是常数,后半部分也是恒大于0的,所以要保持整个式子最大,就只有让后半部分越小越好。于是可以得到:

      

       那下面的过程就是怎么样才能求解使得上面这个式子的值越小越好呢?

      

      这上面的推导过程表示并没有看得太懂哈哈哈。但是结果表示当θ取这个值的时候,整体的偏导等于0,而偏导等于0是极小值点,至于为什么是极小值点,涉及机器学习中的凸优化问题。

  • 相关阅读:
    numpy基础篇-简单入门教程4
    杭电oj 多项式求和
    杭电oj 素数判定
    杭电oj 水仙花数
    杭电oj 求数列的和
    杭电oj 数值统计
    杭电oj 平方和与立方和
    杭电oj 求奇数的乘积
    杭电 oj 第几天?
    杭电 oj 成绩转换
  • 原文地址:https://www.cnblogs.com/xiaoyh/p/11129427.html
Copyright © 2011-2022 走看看