zoukankan      html  css  js  c++  java
  • 多项式拟合与线性回归

    https://blog.csdn.net/qq_31852975/article/details/72354578

    多项式拟合与线性回归

    多项式拟合

    设M次多项式为 fM(x,w)=w0+w1+w2x2+...+wMxM=Mj=0wjxj


    当损失函数为L(w)=12Ni=1(Mj=0wjxjyi)

    时,通过解L(w)最小的问题,可以拟合出该多项式。
    这个问题在《统计学习方法》李航的第一章中介绍。 不过其中1.18带入后的结果不正确。
    具体错误见勘误表http://www.hangli-hl.com/uploads/3/4/4/6/34465961/errata.pdf
    具体推导过程http://blog.csdn.net/xiaolewennofollow/article/details/46757657

    这里的多项表达式中,f是关于x的一个函数,式中只有一个变量x。

    线性回归

    线性回归假设特征与结果满足线性关系。这里为什么可以假设为线性关系?为什么可以假设数据是独立同分布的

    • 线性关系是用来假定样本集X,Y之间的关系,有了这个关系才可以继续推导出模型的参数向量θT
    • 监督学习假设X,Y满足联合概率分布P(X,Y)。训练数据与测试数据被看做是依联合概率分布独立同分布的。
    • 统计学习假定数据存在一定的规律,进而对模型进行学习,但是对于系统具体的定义是未知的。

    这里使用Andrew Ng讲义中的公式定义。
    对于n个特征的特征向量

    hθ(x)=θ0+θ1x1+θ2x2+...+θnxn=θT(x)


    这里同样用平方损失函数

    J(θ)=12i=1M(hθ(x(i))y(i))2(M,ii)

    J(θ)最小越小,拟合的直线就越接近样本。具体解释见Andrew Ng公开课。通过两种方式来求解θ

    梯度下降( LMS algorithm)

    而使得 J(θ)

    下降最快的方向为 J(θ)θ

    求偏导数的反方向。
    这里为什么是反方向是梯度下降最小的方向?

    • 因为梯度方向为函数增长最快的方向,所以J(θ)
    • 的最小值则为减法。

    对于每一个特征x,对J(θ)

    求偏导。

    θJ(θ)=(h(θ)(xj)y)xj


    那么对于所有的样本,通过如下的方式得到特征向量θ

    遍历n个样本 直至收敛

    θj:=θja(y(i)jh(θ)x(i)j)x(i)j(j)


    这样做的消耗是多少,如何优化为随机梯度下降?

    • θT
    • 每下降一次都需要对所有的样本计算一次。
    • 随机梯度下降(SGD)为每一次遍历只更新θT
    中的一个值,从而减少了遍历的次数,否则每次都需要遍历更新θT
    • 。除了减少时间复杂度,同时对于流式数据的处理可以实时更新模型。
    • 随机梯度下降的另一种方式是,小批量的更新数据,并不是一次更新一个而是一次更新几个。即几个样本计算一次下降值,对θT
    • 做下降。

    最小二乘法( Least squares revisited)

    通过直接对J(θ)

    求导可得最小二乘优化方法。

    θ=(XTX)1XTy⃗ 
  • 相关阅读:
    PHP filter_input_array() 函数
    pt-query-digest 用法
    [SDOI2017]苹果树
    C# json 转 xml 字符串
    C# json 转 xml 字符串
    C# double 好用的扩展
    C# double 好用的扩展
    win10 uwp 使用 Microsoft.Graph 发送邮件
    win10 uwp 使用 Microsoft.Graph 发送邮件
    Sublime Text 安装中文、英文字体
  • 原文地址:https://www.cnblogs.com/fengff/p/9779551.html
Copyright © 2011-2022 走看看