zoukankan      html  css  js  c++  java
  • [参数方法] 最小二乘

    问题:给定一些样本,给定输出和输出,怎么通过回归模型讲数值输出写成输入的函数?

    在模型、策略、算法三层中,最小二乘属于策略,是做高斯假设后最大似然估计的做法

    ——————————————————————————————————————————

    假设输出是输入的确定性函数与随机噪声的和

    y = f(x) + e

    假设噪声e服从均值为0,方差为d^2的高斯分布:

    f(x)我们不知道,替换成估计g(x | theta),则p(y | x)也服从均值为g(x | theta),方差为d^2的高斯分布

    联合概率密度为p(x, y) = p(y | x)p(x),计算其对数似然,忽略掉无关项后,得到

    E(theta | X) = 0.5*∑[y - g(x | theta)]2    (1)

    ——————(1)式是最常用的误差函数,最小化(1)式的过程就是所谓的最小二乘法 —————

    假设线性模型,故有估计g(x | theta) = g(x | w1, w0) = w1*x + w0

    然后通过求w1的导数和w0的导数,得到两个方程,求解得到w1, w0的值;多项式回归类似。

    故在最开始假设的是高斯分布误差,则最大似然对应于最小化误差的平方和∑[y - g(x | theta)]

    另外,相对平方误差(relative square error, RSE),则由

    ERSE = ∑[y - g(x | theta)] / ∑[y - y']

    这个指标代表着回归是否很好地拟合了,更常用的是下面一个度量,即决定系数(coefficient of determination)

    R2 = 1 - ERSE

    R2为1表明ERSE趋近0,则表明函数拟合得很好,y与x很线性(多项式)相关;为0则相反。

  • 相关阅读:
    Scala学习十二——高阶函数
    Scala学习十一——操作符
    Scala学习十——特质
    Scala学习九——文件和正则表达式
    Scala学习八——继承
    Scala学习七——包和引入
    Scala学习六——对象
    Scala学习五——类
    Scala学习四——映射和数组
    Spark Broadcast内幕解密:Broadcast运行机制彻底解密、Broadcast源码解析、Broadcast最佳实践
  • 原文地址:https://www.cnblogs.com/littletail/p/5239302.html
Copyright © 2011-2022 走看看