机器学习线性回归算法原理推导

一个例子

  • 数据:工资和年龄(2个特征)
  • 目标:预测银行会贷款给我多少钱(标签)
  • 考虑:工资和年龄都会影响最终银行贷款的结果,那么他们各自会有多大的影响呢?(参数)
    样本数据如下图所示:
    在这里插入图片描述

通俗解释

  • X1,X2就是我们的两个特征(工资,年龄),Y是银行最终会借给我们多少钱
  • 找到合适的一条线(想象一个高维)来最好的拟合我们的数据点
    在这里插入图片描述

数学公式

  • 假设 θ 1 \theta_1 θ1是年龄的参数, θ 2 \theta_2 θ2是工资的参数
  • 拟合的平面: h θ ( x ) = θ 0 + θ 1 ( x 1 ) + θ 2 h_\theta(x)=\theta_0+\theta_1(x_1)+\theta_2 hθ(x)=θ0+θ1(x1)+θ2( x 2 x_2 x2)( θ 0 \theta_0 θ0是偏置项)
  • 整合后: h θ ( x ) = ∑ n = 1 N x n θ n = θ T x h_\theta(x)=\sum_{n=1}^N{x_n\theta_n}=\theta^Tx hθ(x)=n=1Nxnθn=θTx(其中 x 0 x_0 x0全为1)

误差

  • 真实值和预测值之间肯定是存在差异的(用 ϵ \epsilon ϵ来表示该误差)
  • 对于每个样本 i i i y i = θ T x i + ϵ i y^i=\theta^Tx^i+\epsilon^i yi=θTxi+ϵi
  • 误差 ϵ i \epsilon^i ϵi是独立并且具有相同的分布,并且服从均值为0,方差为 θ 2 \theta^2 θ2的高斯分布
  • 独立:张三和李四一起来贷款,他俩没关系
  • 同分布:他俩都来得是我们假定的这家银行
  • 高斯分布:银行可能会多给,也可能会少给,但是绝大多数情况下这个浮动不会太大,极小情况下浮动会比较大,符合正常情况(值特殊时是正太分布)
  • 高斯分布
  • 预测值和误差: y i = θ T x i y^i=\theta^Tx^i yi=θTxi+ ϵ i — — ( 1 ) \epsilon^i ——(1) ϵi1
  • 由于误差服从高斯分布: p ( ϵ i ) = 1 2 π σ ∗ e − ( ϵ i ) 2 2 σ 2 — — ( 2 ) p(\epsilon^i)=\frac{1}{\sqrt{2π}\sigma}*e^{\frac{-(\epsilon^i)^2}{2\sigma^2}} ——(2) p(ϵi)=2π σ1e2σ2(ϵi)22
  • 将(1)式代入(2)式: p ( y i ∣ x i ; θ ) = 1 2 π σ ∗ e − ( y i − θ T x i ) 2 2 σ 2 p(y^i|x^i;\theta)=\frac{1}{\sqrt{2π}\sigma}*e^{\frac{-(y^i-\theta^Tx^i)^2}{2\sigma^2}} p(yixi;θ)=2π σ1e2σ2(yiθTxi)2
  • 似然函数 L ( θ ) = ∏ i = 1 m p ( y i ∣ x i ; θ ) = ∏ i = 1 m 1 2 π σ ∗ e − ( y i − θ T x i ) 2 2 σ 2 L(\theta)=\prod_{i=1}^mp(y^i|x^i;\theta)=\prod_{i=1}^m\frac{1}{\sqrt{2π}\sigma}*e^{\frac{-(y^i-\theta^Tx^i)^2}{2\sigma^2}} L(θ)=i=1mp(yixi;θ)=i=1m2π σ1e2σ2(yiθTxi)2
    • 解释:什么样的参数跟我们的数据组合后恰好是真实值
  • 对数似然 log ⁡ L ( θ ) = log ⁡ ∏ i = 1 m p ( y i ∣ x i ; θ ) = ∏ i = 1 m 1 2 π σ ∗ e − ( y i − θ T x i ) 2 2 σ 2 \log L(\theta)=\log \prod_{i=1}^mp(y^i|x^i;\theta)=\prod_{i=1}^m\frac{1}{\sqrt{2π}\sigma}*e^{\frac{-(y^i-\theta^Tx^i)^2}{2\sigma^2}} logL(θ)=logi=1mp(yixi;θ)=i=1m2π σ1e2σ2(yiθTxi)2
    • 解释:乘法难解,加法就容易了,对数里面乘法可以转换成加法
    • 展开化简: ∑ i = 1 m log ⁡ 1 2 π σ ∗ e − ( y i − θ T x i ) 2 2 σ 2 = m log ⁡ 1 2 π σ − 1 σ 2 ∗ 1 2 ∑ i = 1 m ( y i − θ T x i ) 2 \sum_{i=1}^m \log \frac{1}{\sqrt{2π}\sigma}*e^{\frac{-(y^i-\theta^Tx^i)^2}{2\sigma^2}}=m\log \frac{1}{\sqrt{2π}\sigma}- \frac{1}{\sigma^2}*\frac{1}{2}\sum_{i=1}^m(y^i-\theta^Tx^i)^2 i=1mlog2π σ1e2σ2(yiθTxi)2=mlog2π σ1σ2121i=1m(yiθTxi)2
  • 目标:让似然函数(对数变换后也一样)越大越好 J ( θ ) = 1 2 ∑ i = 1 m ( y i − θ T x i ) 2 ( 最 小 二 乘 法 ) J(\theta)=\frac{1}{2}\sum_{i=1}^m(y^i-\theta^Tx^i)^2(最小二乘法) J(θ)=21i=1m(yiθTxi)2
  • 目标函数: J ( θ ) = 1 2 ∑ i = 1 m ( h θ ( x i ) − y i ) 2 = 1 2 ( X θ − y ) T ( X θ − y ) J(\theta)=\frac{1}{2}\sum_{i=1}^m(h_\theta(x^i)-y^i)^2=\frac{1}{2}(X\theta-y)^T(X\theta-y) J(θ)=21i=1m(hθ(xi)yi)2=21(Xθy)T(Xθy)
  • 求偏导: ∇ θ = ∇ θ ( 1 2 ( X θ − y ) T ( X θ − y ) ) = ∇ θ ( 1 2 ( θ T X T − y T ) ( X θ − y ) ) \nabla_\theta=\nabla_\theta(\frac{1}{2}(X\theta-y)^T(X\theta-y))=\nabla_\theta(\frac{1}{2}(\theta^TX^T-y^T)(X\theta-y)) θ=θ(21(Xθy)T(Xθy))=θ(21(θTXTyT)(Xθy))
    = ∇ θ ( 1 2 ( θ T X T X θ − θ T X T y − y T X θ + y T y ) ) =\nabla_\theta(\frac{1}{2}(\theta^TX^TX\theta-\theta^TX^Ty-y^TX\theta+y^Ty)) =θ(21(θTXTXθθTXTyyTXθ+yTy))
    = 1 2 ( 2 X T X θ − X T y − ( y T X ) T ) = X T X θ − X T y =\frac{1}{2}(2X^TX\theta-X^Ty-(y^TX)^T)=X^TX\theta-X^Ty =21(2XTXθXTy(yTX)T)=XTXθXTy
  • 令偏导等于0: θ = X T y X T X \theta=\frac{X^Ty}{X^TX} θ=XTXXTy

评估方法

  • 最常用的评估项 R 2 : 1 − ∑ i = 1 m ( y ^ i − y i ) 2 ( 残 差 平 方 和 ) ∑ i = 1 m ( y i − y ‾ ) 2 ( 类 似 方 差 项 ) R^2:1-\frac{\sum_{i=1}^m(\hat y_i-y_i)^2(残差平方和)}{\sum_{i=1}^m(y_i-\overline y)^2(类似方差项)} R2:1i=1m(yiy)2()i=1m(y^iyi)2()
  • R 2 R^2 R2的取值越接近于1,我们认为模型拟合的越好
  • R 2 R^2 R2的取值越接近于0,我们认为模型拟合的不好
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值