单变量线性回归模型(上)

单变量线性回归即 简单线性回归 ,是一种 回归分析 方法。 回归分析 在统计学上用来分析两个或者多个变量之间的相关关系及其程度。比如预测股票,预测产品销量等等。 单变量 即使用单一变量预测, 线性 即自变量与因变量之间的关系为线性的。 回归 即根据之前的数据预测一个准确的输出值。

要想预测就必须有数据,这些数据在机器学习中称为 训练集 ,训练集中的每条完整的数据称为 样本 。预测的目标被称为 标签 或者 目标 , 预测依据的自变量称为 特征 或者 协变量 。比如:

area *

age *

这里的

area 和

age 被称作

,b为

为预测目标,其中的

为协变量。

看到这里,突然想起来高中关注的up主,YJango,初听不知言中意,再听已是建模人。我们的学习过程确实和他讲得十分相似。

根据初中的知识,一个n元一次的方程只需要n + 1个点即可确定一条直线,但是未必存在一条直线通过所有这些点,我们需要找出一条直线尽可能的囊括所有的点并可以预测未来数据的出现。这个过程叫做 拟合 。拟合程度的好坏需要 代价(损失)函数 来衡量。

损失函数

损失函数 是将随机事件或其有关 随机变量的取值 映射为非负实数以表示该随机事件的”风险”或”损失”的函数。在应用中,损失函数通常作为学习准则与优化问题相联系,即通过最小化损失函数求解和评估模型。 损失函数 能够量化目标的实际值与预测值之间的差距。通常我们会选择非负数作为损失,且数值越小表示损失越小,完美预测时的损失为 0
摘自繁凡

数据集 :( x i , y ii = 1 … m
实际值 : y i
估计值 : h θ \theta θ ( x i ) = θ \theta θ 0 +θ \theta θ 1x i
估计误差 : h θ \theta θ ( x i ) – y i
代价函数定义:
J ( θ 0 , θ 1 ) = 1 2 m ∑ i = 1 m ( h θ ( x i ) − y i ) 2 J (\theta_0, \theta_1) = \frac {1}{2m} \sum_{i=1}^m{(h_\theta(x^i)-y^i)^2}J (θ0 ​,θ1 ​)=2 m 1 ​i =1 ∑m ​(h θ​(x i )−y i )2
这里的系数1 2 m \frac {1}{2m}2 m 1 ​是为了后面的 计算方便人为定义的。应该方便使用梯度下降算法计算

优化方法 (梯度下降算法)

梯度下降是一个用来求函数最小值的算法,这里用来求 J ( θ 0 , θ 1 ) J(\theta_0, \theta_1)J (θ0 ​,θ1 ​) 的最小值。

Δ θ j = ∂ J ( θ 0 , θ 1 ) ∂ θ j \Delta\theta_j = \frac{\partial J(\theta_0, \theta_1)}{\partial \theta_j}Δθj ​=∂θj ​∂J (θ0 ​,θ1 ​)​

θ j : = θ j − α Δ θ j \theta_j := \theta_j – \alpha\Delta\theta_j θj ​:=θj ​−αΔθj ​
(这里的:=指的是赋值)

h θ \theta θ ( x i ) = θ \theta θ 0 +θ \theta θ 1x i

α \alpha α指的是 学习率,值大于0来表示让代价函数下降的程度有多大。每次更新时让所有参数减去学习乘以代价函数的导数。比如这里更新θ 0 \theta_0 θ0 ​和θ 1 \theta1 θ1:Δ θ 0 = ∂ J ( θ 0 , θ 1 ) ∂ θ 0 = 1 m ∑ i = 1 m ( h θ ( x i ) − y i ) \Delta\theta_0 = \frac{\partial J(\theta_0,\theta_1)}{\partial\theta_0} = \frac {1}{m}\sum_{i = 1}^m{(h_\theta(x^i)-y^i)}Δθ0 ​=∂θ0 ​∂J (θ0 ​,θ1 ​)​=m 1 ​i =1 ∑m ​(h θ​(x i )−y i )Δ θ 1 = ∂ J ( θ 0 , θ 1 ) ∂ θ 1 = 1 m ∑ i = 1 m ( h θ ( x i ) − y i ) ∗ x i \Delta\theta_1 = \frac{\partial J(\theta_0,\theta_1)}{\partial\theta_1} = \frac {1}{m}\sum_{i = 1}^m{(h_\theta(x^i)-y^i)}*x^i Δθ1 ​=∂θ1 ​∂J (θ0 ​,θ1 ​)​=m 1 ​i =1 ∑m ​(h θ​(x i )−y i )∗x i

比如一个二次函数y = x 2 y = x ^ 2 y =x 2,当θ j \theta_j θj ​在函数右侧时,导数大于0,更新往极值点处挪动,同理在左侧时,导数小于0,更新亦往极值点处挪动,即这里的函数最小值。当然极小值点未必是最小值点,这并不是最优的优化方法。

再来看一遍代价函数:
J ( θ 0 , θ 1 ) = 1 2 m ∑ i = 1 m ( h θ ( x i ) − y i ) 2 J (\theta_0, \theta_1) = \frac {1}{2m} \sum_{i=1}^m{(h_\theta(x^i)-y^i)^2}J (θ0 ​,θ1 ​)=2 m 1 ​i =1 ∑m ​(h θ​(x i )−y i )2

Δ θ = 1 m X T e \Delta\theta = \frac {1}{m}X^Te Δθ=m 1 ​X T e
θ : = θ − α Δ θ \theta := \theta – \alpha\Delta\theta θ:=θ−αΔθ
有时间的话写下推导过程
这里的X T X^T X T指的是: [ 1 1 . . . 1 x 1 x 2 . . . x n ] \left[ \begin{matrix} 1 & 1 & …&1 \ x^1 & x^2 & … & x^n \end{matrix} \right][1 x 1 ​1 x 2 ​……​1 x n ​]
这里的e指的是估计误差:[ e 1 e 2 . . . e n ] \left[ \begin{matrix} e^1 \ e^2 \ … \ e^n \ \end{matrix} \right]⎣⎢⎢⎡​e 1 e 2 …e n ​⎦⎥⎥⎤​

比赛时间紧迫,代码实现部分以后有时间学习整理在(下)

Original: https://blog.csdn.net/weixin_51709063/article/details/122724799
Author: vFairyo
Title: 单变量线性回归模型(上)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/630543/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球