机器学习_批量梯度下降法(BGD)

一元线性回归

fθ(x)=θ0+θ1xf_{\theta}(x)=\theta_{0}+\theta_{1}xfθ(x)=θ0+θ1x

目标函数即损失函数

E(θ)=12∑i=1n(y(i)−fθ(x(i)))2E(\theta)=\cfrac{1}{2}\sum_{i=1}^{n}(y^{(i)}-f_{\theta}(x^{(i)}))^2E(θ)=21i=1∑n(y(i)−fθ(x(i)))2

最优化问题

找到使得E(θ)E(\theta)E(θ)的值最小时的θ\thetaθ,此时函数EEE是关于θ\thetaθ的函数,对EEE求导,当函数EEE的导数在θ\thetaθ等于某一个值的时候大于0,函数EEE是递增的,此时想要获取最小的函数值,应该降低θ\thetaθ,此时使用θ\thetaθ-导数(导数为正);函数EEE的导数在θ\thetaθ等于某一个值的时候小于0,函数EEE是递减的,此时想要获取最小的函数值,应该增加θ\thetaθ,此时使用θ\thetaθ-导数(导数为负)

梯度下降法

η\etaη是学习率,通过多次迭代才会获取到最终使得损失函数E达到最小值时的θ\thetaθ

θ:=θ−ηddθE(θ)\theta := \theta - \eta \cfrac{d}{d_{\theta}}E(\theta)θ:=θ−ηdθdE(θ)

偏导数

由于θ\thetaθ可能会有多个,当存在多个θ\thetaθ时,需要使用偏导数对每个θ\thetaθ单独求导,然后进行梯度下降,相当于从多个维度同时使得损失函数E趋于最小值

θ0:=θ0−η∂E∂θ0θ1:=θ1−η∂E∂θ1 \theta_0 := \theta_0 - \eta \cfrac{\partial E}{\partial \theta_0} \\ \theta_1 := \theta_1 - \eta \cfrac{\partial E}{\partial \theta_1} θ0:=θ0−η∂θ0∂Eθ1:=θ1−η∂θ1∂E

对损失函数求导函数

损失函数为复合函数

E(θ)=12∑i=1n(y(i)−fθ(x(i)))2E(\theta)=\cfrac{1}{2}\sum_{i=1}^{n}(y^{(i)}-f_{\theta}(x^{(i)}))^2E(θ)=21i=1∑n(y(i)−fθ(x(i)))2

对复合函数求导,做以下假设

u=E(θ)v=fθ(x)∂u∂θ=∂u∂v⋅∂v∂θ \begin{split} u &= E(\theta) \\ v &= f_{\theta}(x) \\ \cfrac{\partial u}{\partial \theta} &= \cfrac{\partial u}{\partial v} \cdot \cfrac{\partial v}{\partial \theta} \end{split} uv∂θ∂u=E(θ)=fθ(x)=∂v∂u⋅∂θ∂v

u对v进行求导

∂u∂v=∂∂v(12∑i=1n(y(i)−v)2)=12∑i=1n(∂∂v(y(i)−v)2)=12∑i=1n(∂∂v(y(i)2−2y(i)v+v2))=12∑i=1n(−2y(i)+2v)=∑i=1n(v−y(i)) \begin{split} \cfrac{\partial u}{\partial v} &= \cfrac{\partial}{\partial v} \begin{pmatrix} \cfrac{1}{2} \sum\limits_{i=1}^{n}(y^{(i)}-v)^2 \end{pmatrix} \\ &=\cfrac{1}{2} \sum\limits_{i=1}^{n} \begin{pmatrix} \cfrac{\partial}{\partial v} (y^{(i)}-v)^2 \end{pmatrix} \\ &=\cfrac{1}{2} \sum\limits_{i=1}^{n} \begin{pmatrix} \cfrac{\partial}{\partial v} (y^{(i)^2}-2y^{(i)}v+v^2) \end{pmatrix} \\ &=\cfrac{1}{2} \sum\limits_{i=1}^{n} \begin{pmatrix} -2y^{(i)}+2v \end{pmatrix} \\ &=\sum\limits_{i=1}^{n} \begin{pmatrix} v-y^{(i)} \end{pmatrix} \\ \end{split} ∂v∂u=∂v∂(21i=1∑n(y(i)−v)2)=21i=1∑n(∂v∂(y(i)−v)2)=21i=1∑n(∂v∂(y(i)2−2y(i)v+v2))=21i=1∑n(−2y(i)+2v)=i=1∑n(v−y(i))

v对θ0\theta_0θ0进行求导

∂v∂θ0=∂∂θ0(θ0+θ1x)=1 \begin{split} \cfrac{\partial v}{\partial \theta_0} &= \cfrac{\partial}{\partial \theta_0} \begin{pmatrix} \theta_0+\theta_1 x \end{pmatrix} \\ & = 1\\ \end{split} ∂θ0∂v=∂θ0∂(θ0+θ1x)=1

u对θ0\theta_0θ0进行求导

∂u∂θ0=∂u∂v⋅∂v∂θ0=∑i=1n(v−y(i))⋅1=∑i=1n(fθ(x(i))−y(i)) \begin{split} \cfrac{\partial u}{\partial \theta_0} &= \cfrac{\partial u}{\partial v} \cdot \cfrac{\partial v}{\partial \theta_0} \\ &=\sum\limits_{i=1}^{n} \begin{pmatrix} v-y^{(i)} \end{pmatrix} \cdot 1\\ &=\sum\limits_{i=1}^{n} \begin{pmatrix} f_{\theta}(x^{(i)})-y^{(i)} \end{pmatrix}\\ \end{split} ∂θ0∂u=∂v∂u⋅∂θ0∂v=i=1∑n(v−y(i))⋅1=i=1∑n(fθ(x(i))−y(i))

v对θ1\theta_1θ1进行求导

∂v∂θ1=∂∂θ1(θ0+θ1x)=x \begin{split} \cfrac{\partial v}{\partial \theta_1} &= \cfrac{\partial}{\partial \theta_1} \begin{pmatrix} \theta_0+\theta_1 x \end{pmatrix} \\ &= x\\ \end{split} ∂θ1∂v=∂θ1∂(θ0+θ1x)=x

u对 \\theta_1 进行求导

∂u∂θ1=∂u∂v⋅∂v∂θ1=∑i=1n(v−y(i))⋅x(i)=∑i=1n(fθ(x(i))−y(i))⋅x(i) \begin{split} \cfrac{\partial u}{\partial \theta_1} &= \cfrac{\partial u}{\partial v} \cdot \cfrac{\partial v}{\partial \theta_1} \\ &=\sum\limits_{i=1}^{n} \begin{pmatrix} v-y^{(i)} \end{pmatrix} \cdot x^{(i)}\\ &=\sum\limits_{i=1}^{n} \begin{pmatrix} f_{\theta}(x^{(i)})-y^{(i)} \end{pmatrix} \cdot x^{(i)} \\ \end{split} ∂θ1∂u=∂v∂u⋅∂θ1∂v=i=1∑n(v−y(i))⋅x(i)=i=1∑n(fθ(x(i))−y(i))⋅x(i)

更新θ0\theta_0θ0和θ1\theta_1θ1

θ0:=θ0−η∑i=1n(fθ(x(i))−y(i))θ1:=θ1−η∑i=1n(fθ(x(i))−y(i))⋅x(i) \begin{split} \theta_0 :&= \theta_0 - \eta \sum\limits_{i=1}^{n} \begin{pmatrix} f_{\theta}(x^{(i)})-y^{(i)} \end{pmatrix} \\ \theta_1 :&= \theta_1 - \eta\sum\limits_{i=1}^{n} \begin{pmatrix} f_{\theta}(x^{(i)})-y^{(i)} \end{pmatrix} \cdot x^{(i)} \end{split} θ0:θ1:=θ0−ηi=1∑n(fθ(x(i))−y(i))=θ1−ηi=1∑n(fθ(x(i))−y(i))⋅x(i)

相关推荐
硅谷秋水1 小时前
ABot-M0.5:统一的移动-与-操作世界动作模型
人工智能·深度学习·机器学习·计算机视觉·语言模型·机器人
Rocky Ding*1 小时前
一文读懂Kimi k1.5大模型核心基础知识
论文阅读·人工智能·深度学习·机器学习·aigc·ai-native·kimi k1.5
道影子3 小时前
《黄帝内经》021章|津凝精晶 沉降为患
人工智能·深度学习·神经网络·算法·机器学习
道影子3 小时前
《黄帝内经》022章|调和双旋 伏风自消
人工智能·深度学习·神经网络·算法·机器学习
探物 AI3 小时前
yolo核心组件4:CA 注意力机制 (Coordinate Attention)
深度学习·yolo·机器学习
m沐沐4 小时前
【计算机视觉】人脸识别三大经典算法:LBPH、Eigenfaces、FisherFaces 原理与实战
图像处理·人工智能·深度学习·opencv·算法·机器学习·计算机视觉
其美杰布-富贵-李4 小时前
梯度提升与梯度下降:区别、联系与完整原理解析
人工智能·机器学习
今天AI了吗4 小时前
Spring AI 框架实战:Java 后端集成大模型的架构设计与工程落地
java·人工智能·python·spring·机器学习
酉鬼女又兒4 小时前
[特殊字符]零基础入门AI:归纳演绎、假设空间、归纳偏好、NFL、过拟合与欠拟合、模型评估选择、超参数、性能度量、混淆矩阵、P-R曲线和F1
人工智能·windows·python·深度学习·安全·机器学习·矩阵
学习中.........5 小时前
从 Karpathy 手写 BPE 到 CS336 `train_bpe` 作业实现
人工智能·机器学习·语言模型·自然语言处理