最小二乘法

回归用于预测我们没有记录的新数据

在这里插入图片描述

构建函数模型

在这里插入图片描述

将数据画出来后发现呈 正比关系的线性模型

f(t) = at + b

  • a,b为未知数,目标求a,b
  • t 和f(t) 为已知数
  • 当t=0 , f(t)=27

根据评估公式(损失函数)求最优解

L

  • f(t) 为预测的结果
  • y 是真实的结果
  • 相间为误差
  • 再所有样本点上,误差最小
展开损失函数
(f(t0)-y0)**2 + (f(t1)-y1)**2 +.....

f(t) = at + b

带入公式
((at0+b)-y0)**2 + ....

都展开得到  w1a**2 + w2b**2 + w3ab+....
(b-27.0)**2 + ((a-b)-26.8)**2 + ....

最终找到一组a,b的值使得损失函数的值最小



使用求导法求极限值
通过求他的 导数 让他  导数等于0 (既没有变化率的地方)


在这里插入图片描述

例一
y = 5(x+2)^^2 -10
(5u**2)'u'=10u *(1)=10x+20 =0  x = -2



复合函数求导思路
复合函数求导公式

由于我们公式中未知数有两个所以要求偏导数在这里插入图片描述

  • 求a得偏导数时候把b当常数
  • 目标分别对a,b求偏导, 让他们等于0 在联立一个公式解出a,b
  • 极为最小二乘法

在这里插入图片描述

((ati +b-yi)**2)'
u=ati + b -yi
a 求导  2u ** ti = (ati+b-yi)ti
b 求导  (ati+b -yi)



140a +28b = 717
28a + 8b = 208.5



#矢量得方法解方程
import numpy as np

A = np.array([[140,28],[28,8]])
b = np.array([717,208.5])
np.linalg.inv(A).dot(b)
Out[7]: array([-0.30357143, 27.125])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值