人工智能01-线性回归模型

01-线性回归

回归分析

回归分析(Regression Analysis):根据数据,确定两种或两种以上变量间相互依赖的定量关系

例如:百万人口医生数量预测区域人均寿命

在这里插入图片描述

函数表达式:
y = f ( x 1 , x 2 , ⋯   , x n ) y=f(x_1,x_2,\cdots,x_n) y=f(x1,x2,,xn)

回归主要有以下分类方式:

  • 按变量数分为:
    • 一元回归: y = f ( x ) y=f(x) y=f(x)
    • 多元回归: y = f ( x 1 , x 2 , ⋯   , x n ) y=f(x_1,x_2,\cdots,x_n) y=f(x1,x2,,xn)
  • 按函数关系分为
    • 线性回归: y = a x + b y=ax+b y=ax+b
    • 非线性回归: y = a x 2 + b x + c y=ax^2+bx+c y=ax2+bx+c

线性回归

线性回归:回归分析中,变量和因变量存在线性关系,属于机器学习中的监督学习

函数表达式:
y = a x + b y=ax+b y=ax+b

回归问题求解步骤:例如,判断某 x x x x ~ \widetilde{x} x 是否在其对应 y y y y ~ \widetilde{y} y 的合理范围内

  • 确定 x x x y y y之间的定量关系
    • y = f ( x ) y=f(x) y=f(x)
    • 线性模型: y = a x + b y=ax+b y=ax+b——寻找合理的 a a a b b b
  • 根据关系预测合理值
    • y ( x = x ~ ) = f ( y ~ ) y_{(x=\widetilde{x})}=f(\widetilde{y}) y(x=x )=f(y )
  • 做出判断

如何寻找到最合适的 a a a b b b?假设 y ′ y' y为模型输出结果, m m m为样本数,目标: y ′ y^{\prime} y尽可能接近 y y y
m i n { ∑ i = 1 m ( y i ′ − y i ) 2 } min\{\sum^{m}_{i=1}{ (y_i^{\prime}-y_i)^{2}}\} min{i=1m(yiyi)2}
上式意味着 y i ′ y_i' yi y y y距离和最小
m i n { 1 2 m ∑ i = 1 m ( y i ′ − y i ) 2 } min\{\frac{1}{2m}\sum^m_{i=1}(y_i^{\prime}-y_i)^2\} min{2m1i=1m(yiyi)2}
在前式的基础上除以 2 m 2m 2m,可以在求导时将 2 m 2m 2m约掉,以上算式即为损失函数 J。那么,目标变为:尽可能让 J 变小!

(作为初学者:
看到这里我:就这??如果在学校这一定是水课!
开始听后面:啊?啊?啊?为什么啊?啊?)

损失函数

1 2 m ∑ i = 1 m ( y i ′ − y i ) 2 = 1 2 m ∑ i = 1 m ( a x i + b − y i ) 2 = g ( a , b ) \frac{1}{2m}\sum^m_{i=1}(y_i^{\prime}-y_i)^2=\frac{1}{2m}\sum^m_{i=1}(ax_i+b-y_i)^2=g(a,b) 2m1i=1m(yiyi)2=2m1i=1m(axi+byi)2=g(a,b)
通过换元得到以上等式,我们可以将损失函数推导为关于 a a a, b b b的二次函数。那么如何寻找最小值呢?

梯度下降法

通过向函数上当前点对应梯度(或者是近似梯度)的反方向的规定步长距离点进行迭代搜索,直到在极小点收敛。(你在说什么???)
J = f ( p ) → p i + 1 = p i − α ∂ ∂ p i f ( p i ) J=f(p)\rightarrow p_{i+1}=p_i-\alpha\frac{\partial}{\partial p_i}f(p_i) J=f(p)pi+1=piαpif(pi)
在这里插入图片描述

来点通俗易懂的:步长是从 p i p_i pi p i + 1 p_{i+1} pi+1在x轴上的距离,就是通过求偏导的方式向极小值一步一步靠近。

寻找损失函数极小值

主要分为以下步骤:

  • 设置 a a a b b b的初始值(只要不是小于极小值的数,看起来不无所谓,不过离极小值越远计算次数越多)
  • 计算两个临时值 t e m p a temp_a tempa t e m p b temp_b tempb满足下式:
    t e m p a = a − α ∂ ∂ a g ( a , b ) = a − α 1 m ∑ i = 1 m ( a x i + b − y i ) x i temp_a=a-\alpha\frac{\partial}{\partial a}g(a,b)=a-\alpha\frac{1}{m}\sum^m_{i=1}(ax_i+b-y_i)x_i tempa=aαag(a,b)=aαm1i=1m(axi+byi)xi
    t e m p b = b − α ∂ ∂ b g ( a , b ) = b − α 1 m ∑ i = 1 m ( a x i + b − y i ) temp_b=b-\alpha\frac{\partial}{\partial b}g(a,b)=b-\alpha\frac{1}{m}\sum^m_{i=1}(ax_i+b-y_i) tempb=bαbg(a,b)=bαm1i=1m(axi+byi)
  • t e m p a temp_a tempa t e m p b temp_b tempb作为初始值重复计算,直到两值稳定

关于步长的思考:有没有可能一步跨大了?或者跨得太小了这辈子跨不完?答案是有!经过检索发现,步长的选取是线性回归模型的优化方式之一,有固定步长和动态步长等选取方式。

回到数据预测

回归问题求解步骤:

  • 由数据生成损失函数
  • 使用梯度下降或其他方法求解最小化损失函数的模型参数
  • 得到回归模型
  • 使用回归模型预测

以上为B站BV1884y1k7cv的课程笔记,如有不足之处请指出,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值