zoukankan      html  css  js  c++  java
  • A-01 最小二乘法


    更新、更全的《机器学习》的更新网站,更有python、go、数据结构与算法、爬虫、人工智能教学等着你:https://www.cnblogs.com/nickchen121/p/11686958.html

    最小二乘法

    最小二乘法,可以理解为最小平方和,即误差的最小平方和,在线性回归中,=。最小二乘法的核心思想就是——通过最小化误差的平方和,使得拟合对象无限接近目标对象,最小二乘法一般解决线性问题。

    一、最小二乘法——代数法

    假设线性回归的假设函数为

    (1)hω(x0,x1,,xn)=ω0x0+ω1x1++ωnxn(2)=i=0nωixi

    其中n1是特征数。如果针对所有的ωi(i=1,2,,n)而言,假设函数是非线性的,但是针对某一个ωi的话,由于变量只剩下一个ωi,假设函数就是线性的,既可以使用最小二乘法求解。

    通过线性回归的假设函数既可以得到目标函数为

    (3)J(ω0,ω1,,ωn)=j=1m(hω(x(j))y(j))2(4)=j=1m(i=0nωixi(j)y(j))2

    其中m为样本数。

    利用目标函数分别对ωi求偏导,并且令导数为0,即

    j=1mi=0n(ωixi(j)y(j))xi(j)=0

    通过求解上式,可以得到n+1元一次方程组,通过求解这个方程组就可以的得到所有的ωi

    二、最小二乘法——矩阵法

    最小二乘法矩阵法比代数法简单不少。我们把代数法中线性回归的假设函数可以写成

    hω(X)=Xω

    其中hω(X)m1维的向量,Xmn维的矩阵,ωn1维的向量,m为样本数,n为特征数。

    通过上述矩阵形式的假设函数可以得到矩阵形式的目标函数为

    J(ω)=12(XωY)T(XωY)

    其中12只是为了方便计算。

    目标函数对ω求导取0,可以得

    ωJ(ω)=XT(XωY)=0

    上述求偏导使用了矩阵求导链式法则和两个矩阵求导的公式

    (5)X(XTX)=2X(6)Xf(AX+B)=ATAX+Bf

    通过对上述式子整理可得

    (7)XTXω=XTX(XTX)1(8)ω=(XTX)1XTY

    通过上述的化简可以直接对向量ω求导,而不需要对ω中的每一个元素求偏导。

    三、最小二乘法优缺点

    3.1 优点

    1. 简洁高效,比梯度下降法方便

    3.2 缺点

    1. 最小二乘法需要计算XTX的逆矩阵,可能XTX没有逆矩阵(一般需要考虑使用其他的优化算法,或者重新处理数据让XTX有逆矩阵)
    2. 当特征数n非常大的时候,XTX的计算量非常大(使用随机梯度下降法或使用降维算法降低特征维度)
    3. 最小二乘法只有拟合函数为线性的时候才可以使用(想办法通过某些机巧让拟合函数转化为线性的)
  • 相关阅读:
    【1】Chrome
    Vue
    GitHub版本控制工具入门(一)
    Vue.js 组件笔记
    最全的javascriptt选择题整理
    网站如何实现 在qq中发自己链接时,便自动获取链接标题、图片和部分内容
    js 唤起APP
    密码加密MD5,Bash64
    HTTP和HTTPS的区别及HTTPS加密算法
    计算机网络七层的理解
  • 原文地址:https://www.cnblogs.com/abdm-989/p/14117928.html
Copyright © 2011-2022 走看看