回归算法优化过程推导

假设存在一个数据集,包含工资、年龄及贷款额度三个维度的数据。我们需要根据这个数据集进行建模,从而在给定工资和年龄的情况下,实现对贷款额度的预测。其中,工资和年龄是模型构建时的两个特征,额度是模型输出的目标值。

工资年龄额度
40002520000
80003070000
50002835000
75003350000
120004085000

我们可以根据数据集和相关需求进行公式建模:
y = θ 0 + θ 1 x 1 + θ 2 x 2 + ε = θ T x + ε y = {\theta }_{0} + {\theta }_{1}x_1 + {\theta }_{2}x_2 + \varepsilon = {\theta }^{T}x + \varepsilon y=θ0+θ1x1+θ2x2+ε=θTx+ε
其中, θ 0 \theta _0 θ0 为偏置项, θ 1 \theta _1 θ1 θ 2 \theta _2 θ2 为两个特征 x 1 x_1 x1 x 2 x_2 x2 的权重项, ε \varepsilon ε 为误差项; θ T \theta ^T θT 为一个行向量, x x x 为包含特征 x 1 x_1 x1 x 2 x_2 x2 的矩阵。

θ 1 x 1 + θ 2 x 2 {\theta }_{1}x_1 + {\theta }_{2}x_2 θ1x1+θ2x2 在三维空间中表示的平面会尽可能去拟合所有数据点(目标值),但是这个平面并不一定是拟合度最高的,也许该平面沿着 y y y 维度向上或向下平移一点距离所得到的新平面才是拟合度最高的,因此我们会在该拟合表达式中加上一个偏置项 θ 0 \theta _0 θ0

θ 0 + θ 1 x 1 + θ 2 x 2 {\theta }_{0} + {\theta }_{1}x_1 + {\theta }_{2}x_2 θ0+θ1x1+θ2x2 是给定 x 1 x_1 x1 x 2 x_2 x2 值时,对目标值的预测,预测值与真实值之间必然会存在一个误差,因此我们在该表达式中还需加上一个误差项 ε \varepsilon ε

在这里插入图片描述

对于一个样本而言,公式可以写成如下形式:
y ( i ) = θ T x ( i ) + ε ( i ) ⇒ ε ( i ) = y ( i ) − θ T x ( i ) y^{(i)} = {\theta }^{T}x^{(i)} + \varepsilon ^{(i)} \Rightarrow \varepsilon ^{(i)} = y^{(i)} - {\theta }^{T}x^{(i)} y(i)=θTx(i)+ε(i)ε(i)=y(i)θTx(i)
其中,每个样本的误差 ε ( i ) \varepsilon ^{(i)} ε(i) 都是独立同分布的,服从均值为 0 0 0 的高斯分布。

高斯分布的概率密度函数如下所示:
f ( x ) = 1 2 π σ ⋅ e − ( x − μ ) 2 2 σ 2 f(x) = \frac{1}{\sqrt{2\pi }\sigma }·{e}^{-\frac{{(x-\mu )}^{2}}{2{\sigma }^{2}}} f(x)=2π σ1e2σ2(xμ)2
把误差带入进去,可得到公式:
f ( ε ( i ) ) = 1 2 π σ ⋅ e − ( ε ( i ) ) 2 2 σ 2 = 1 2 π σ ⋅ e − ( y ( i ) − θ T x ( i ) ) 2 2 σ 2 f({\varepsilon }^{(i)}) = \frac{1}{\sqrt{2\pi }\sigma }·{e}^{-\frac{{({\varepsilon }^{(i)})}^{2}}{2{\sigma }^{2}}} = \frac{1}{\sqrt{2\pi }\sigma }·{e}^{-\frac{{(y^{(i)} - {\theta }^{T}x^{(i)})}^{2}}{2{\sigma }^{2}}} f(ε(i))=2π σ1e2σ2(ε(i))2=2π σ1e2σ2(y(i)θTx(i))2
该公式表示误差趋于 0 0 0 的概率,或者说预测值 θ T x ( i ) {\theta }^{T}x^{(i)} θTx(i) 趋近于真实值的概率,这个概率自然是越大越好。

在这里插入图片描述

我们的最终目的是要求出最合适的 θ 0 \theta _0 θ0 θ 1 \theta _1 θ1 θ 2 \theta _2 θ2,而似然函数是统计学中用于估计参数的一个函数。因此在给出观测数据的前提下,我们可以利用似然函数来推断出未知的参数值。

构建的似然函数如下所示:
L ( θ ) = ∏ i = 1 m 1 2 π σ ⋅ e − ( y ( i ) − θ T x ( i ) ) 2 2 σ 2 L(\theta ) = \displaystyle\prod_{i=1}^{m}\frac{1}{\sqrt{2\pi }\sigma }·{e}^{-\frac{{(y^{(i)} - {\theta }^{T}x^{(i)})}^{2}}{2{\sigma }^{2}}} L(θ)=i=1m2π σ1e2σ2(y(i)θTx(i))2
其中,在各个样本都符合独立同分布的情况下,联合概率密度就等于各样本概率密度的乘积,因此这里用了累乘。

想在乘法中求解出参数 θ \theta θ,也许是一个比较难的事,但如果能把乘法转换成加法,对于参数的求解可能就容易了许多。鉴于此,我们可以使用对数似然函数来进行参数的求解。

构建的对数似然函数如下所示:
l o g L ( θ ) = l o g ∏ i = 1 m 1 2 π σ ⋅ e − ( y ( i ) − θ T x ( i ) ) 2 2 σ 2 logL(\theta ) = log\displaystyle\prod_{i=1}^{m}\frac{1}{\sqrt{2\pi }\sigma }·{e}^{-\frac{{(y^{(i)} - {\theta }^{T}x^{(i)})}^{2}}{2{\sigma }^{2}}} logL(θ)=logi=1m2π σ1e2σ2(y(i)θTx(i))2
将上述公式进行展开化简:
l o g L ( θ ) = ∑ i = 1 m l o g 1 2 π σ ⋅ e − ( y ( i ) − θ T x ( i ) ) 2 2 σ 2 = m l o g 1 2 π σ + ∑ i = 1 m l o g e − ( y ( i ) − θ T x ( i ) ) 2 2 σ 2 = m l o g 1 2 π σ − 1 σ 2 ⋅ 1 2 ∑ i = 1 m ( y ( i ) − θ T x ( i ) ) 2 logL(\theta ) = \displaystyle\sum_{i=1}^{m}log\frac{1}{\sqrt{2\pi }\sigma }·{e}^{-\frac{{(y^{(i)} - {\theta }^{T}x^{(i)})}^{2}}{2{\sigma }^{2}}} \\= mlog\frac{1}{\sqrt{2\pi }\sigma } + \displaystyle\sum_{i=1}^{m}log{e}^{-\frac{{(y^{(i)} - {\theta }^{T}x^{(i)})}^{2}}{2{\sigma }^{2}}} \\= mlog\frac{1}{\sqrt{2\pi }\sigma } - \frac{1}{{\sigma }^{2}}·\frac{1}{2}\displaystyle\sum_{i=1}^{m}{(y^{(i)} - {\theta }^{T}x^{(i)})}^{2} logL(θ)=i=1mlog2π σ1e2σ2(y(i)θTx(i))2=mlog2π σ1+i=1mloge2σ2(y(i)θTx(i))2=mlog2π σ1σ2121i=1m(y(i)θTx(i))2
我们要让似然函数越大越好,因此上述公式等价于让下述目标函数的目标值越小越好:
J ( θ ) = 1 2 ∑ i = 1 m ( y ( i ) − θ T x ( i ) ) 2 J(\theta ) = \frac{1}{2}\displaystyle\sum_{i=1}^{m}{(y^{(i)} - {\theta }^{T}x^{(i)})}^{2} J(θ)=21i=1m(y(i)θTx(i))2
我们首先对上述目标函数进行展开:
J ( θ ) = 1 2 ( X θ − y ) T ( X θ − y ) = 1 2 ( θ T X T − y T ) ( X θ − y ) = 1 2 ( θ T X T X θ − θ T X T y − y T X θ + y T y ) = 1 2 ( 2 X T X θ − X T y − ( y T X ) T ) = X T X θ − X T y J(\theta ) = \frac{1}{2}{(X\theta - y)}^{T}(X\theta - y) \\ = \frac{1}{2}{(\theta ^TX^T - y^T)}(X\theta - y) \\ = \frac{1}{2}(\theta ^TX^TX\theta - \theta ^TX^Ty - y^TX\theta + y^Ty) \\ = \frac{1}{2}(2X^TX\theta - X^Ty - (y^TX)^T) \\ = X^TX\theta - X^Ty J(θ)=21(y)T(y)=21(θTXTyT)(y)=21(θTXTθTXTyyT+yTy)=21(2XTXTy(yTX)T)=XTXTy
根据展开的公式推出参数值:
θ = ( X T X ) − 1 X T y \theta = (X^TX)^{-1}X^Ty θ=(XTX)1XTy
通过这种方法可以进行参数值 θ \theta θ 的求解,但是在上式中, X T X X^TX XTX 不一定是可逆的,也就是说不一定能求解出参数值 θ \theta θ

鉴于上述问题,我们需要考虑使用其他方法来求解合适的 θ \theta θ,而机器学习就是非常好的方法。一个常规的思路是,我们喂给机器一堆数据,然后告诉它该用什么样的方式学习,并让它朝着这个方向去做(目标/损失函数),每一次学习一点,经过多次迭代优化后,最终收敛至一个稳定的状态。

在对目标函数进行求解时,通常会用到梯度下降法来进行优化。梯度下降是一种常用的优化算法,用于求解目标函数的最小值或最大值。它的基本思想是通过迭代的方式,沿着目标函数的负梯度方向逐步更新参数,以逐渐接近最优解。具体来说,对于一个可微的目标函数,我们希望找到使其取得最小值的参数。梯度下降通过以下步骤进行迭代更新:

  1. 初始化参数:选择初始参数值作为起点
  2. 计算梯度:计算目标函数关于参数的梯度(导数)
  3. 更新参数:将当前参数值沿着负梯度方向移动一小步,更新参数值
  4. 重复步骤 2 和步骤 3,直到满足停止条件(如达到最大迭代次数或梯度变化很小)

梯度方向指示了函数上升最快的方向,而负梯度方向则指示了函数下降最快的方向。因此,通过不断更新参数,梯度下降算法可以朝着函数取得最小值的方向逐渐迭代,最终接近或达到最优解。

梯度下降算法有多种变体,如批量梯度下降(Batch Gradient Descent)、随机梯度下降(Stochastic Gradient Descent)和小批量梯度下降(Mini-Batch Gradient Descent),它们在每次更新参数时所使用的样本数量不同。这些变体具有不同的优缺点,适用于不同的问题和数据集规模。

回到上面的问题,此时的目标/损失函数如下所示:
J ( θ ) = 1 2 m ∑ i = 1 m ( y i − θ T x i ) 2 J(\theta ) = \frac{1}{2m}\displaystyle\sum_{i=1}^{m}(y^i - \theta ^Tx^i)^2 J(θ)=2m1i=1m(yiθTxi)2
当使用批量梯度下降时,目标函数关于第 j j j 个参数的梯度可以写成如下形式:
δ J ( θ ) δ θ j = − 1 m ∑ i = 1 m ( y i − θ T x i ) x j i \frac{\delta J(\theta)}{\delta \theta _j} = -\frac{1}{m}\displaystyle\sum_{i=1}^{m}(y^i - \theta ^Tx^i){x}_{j}^{i} δθjδJ(θ)=m1i=1m(yiθTxi)xji
更新参数后,新的参数可以表示成如下形式:
θ j ′ = θ j + α ⋅ 1 m ∑ i = 1 m ( y i − θ T x i ) x j i {\theta }_{j}^{'} = \theta _j + \alpha · \frac{1}{m}\displaystyle\sum_{i=1}^{m}(y^i - \theta ^Tx^i){x}_{j}^{i} θj=θj+αm1i=1m(yiθTxi)xji
当使用随机梯度下降时,目标函数关于第 j j j 个参数的梯度可以写成如下形式:
δ J ( θ ) δ θ j = − ( y i − θ T x i ) x j i \frac{\delta J(\theta)}{\delta \theta _j} = -(y^i - \theta ^Tx^i){x}_{j}^{i} δθjδJ(θ)=(yiθTxi)xji
更新参数后,新的参数可以表示成如下形式:
θ j ′ = θ j + α ⋅ ( y i − θ T x i ) x j i {\theta }_{j}^{'} = \theta _j + \alpha · (y^i - \theta ^Tx^i){x}_{j}^{i} θj=θj+α(yiθTxi)xji
当使用小批量梯度下降时,目标函数关于第 j j j 个参数的梯度可以写成如下形式:
δ J ( θ ) δ θ j = 1 10 ∑ k = i i + 9 ( θ T x k − y k ) x j k \frac{\delta J(\theta)}{\delta \theta _j} = \frac{1}{10}\displaystyle\sum_{k=i}^{i+9}(\theta ^Tx^k - y^k){x}_{j}^{k} δθjδJ(θ)=101k=ii+9(θTxkyk)xjk
更新参数后,新的参数可以表示成如下形式:
θ j ′ = θ j − α ⋅ 1 10 ∑ k = i i + 9 ( θ T x k − y k ) x j k {\theta }_{j}^{'} = \theta _j - \alpha · \frac{1}{10}\displaystyle\sum_{k=i}^{i+9}(\theta ^Tx^k - y^k){x}_{j}^{k} θj=θjα101k=ii+9(θTxkyk)xjk
批量梯度下降容易得到最优解,但是由于每次都要考虑所有样本,因此速度很慢;随机梯度下降每次找一个样本,迭代速度快,但不一定每次都朝着收敛的方向前进(存在离群点、噪声点等干扰);小批量梯度下降比较实用,用的也比较多。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/206854.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL数据库常见错误及解决方案

“时记数据安全,共享优质资源”,数据库安全是指数据库数据的完整、真实、可靠和可用性。数据库也是一种软件系统,与其他软件系统一样也需要保护,需要采取一定的技术和一定的安全管理策略,保证数据库中的数据不被泄漏、不被破坏、不被修改或删除。本文列举MySQL数据库常见错…

RH850 G3KH异常处理简述

目录 1.概述 2.异常处理后现场恢复 3.异常处理地址识别 4.小结 1.概述 我们首先来看,G3KH的关键寄存器,PSW PSW--Program status word PSW寄存器里有表征程序状态的flag,CPU操作状态的flag。如下 UM---是否是user mode;0--…

3D打印新突破:可一次性打印出带骨骼、肌腱、韧带的机械手

原创 | 文 BFT机器人 近日,来自瑞士苏黎世联邦理工学院 (ETH) 和美国初创公司Inkbit的研究团队采用最新的激光扫描技术,成功地实现了机械手的3D打印,其内部结构由类人骨骼、韧带和肌腱组成。这项新技术使一次性3D打印具有弹性的特种塑料成为…

羊大师教你如何有效解决工作中的挑战与压力?

在现代社会,工作问题一直是许多人头疼的难题。无论是从工作压力到职业发展,工作问题不仅会影响个人的心理健康,还可能对整个工作团队的效率和和谐产生负面影响。因此,如何有效解决工作问题成为了每个职场人士都需要面对的挑战。 …

那仰望的人

心底的孤独和叹息

LangChain库简介

❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️ 👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博…

算法设计与分析复习--分支界限法

文章目录 上一篇分支界限法性质装载问题0-1背包问题单源最短路问题最大团问题下一篇 上一篇 算法设计与分析复习–回溯法(二) 分支界限法性质 分支界限法是按广度优先策略或最小耗费优先遍历问题的解空间树。 搜索解空间: 子集树排列树 …

python-opencv划痕检测-续

python-opencv划痕检测-续 这次划痕检测,是上一次划痕检测的续集。 处理的图像如下: 这次划痕检测,我们经过如下几步: 第一步:读取灰度图像 第二步:进行均值滤波 第三步:进行图像差分 第四步&#xff1…

【蓝桥杯省赛真题45】Scratch九宫格游戏 蓝桥杯scratch图形化编程 中小学生蓝桥杯省赛真题讲解

目录 scratch九宫格游戏 一、题目要求 编程实现 二、案例分析 1、角色分析

BTS-GAN:基于MRI和条件对抗性网络的乳腺肿瘤计算机辅助分割系统

BTS-GAN: Computer-aided segmentation system for breast tumor using MRI and conditional adversarial networks BTS-GAN:基于MRI和条件对抗性网络的乳腺肿瘤计算机辅助分割系统背景贡献实验方法Parallel dilated convolution module(并行扩展卷积模块…

C++ DAY08 异常

概念 异常事件(如:除 0 溢出,数组下标越界,所要读取的文件不存在 , 空指针,内存不足 等等) 在 C 语言对错误的处理是两种方法: 一是使用整型的返回值标识错误; 二是使用 errn…

Windows权限维持方法论

Windows权限维持方法论 1.注册表自启动2.组策略设置脚本启动3.计划任务4.服务自启动5.dll劫持6.直接上远程控制木马 1.注册表自启动 通过修改注册表自启动键值,添加一个木马程序路径,实现开机自启动 常用的注册表启动键: # Run键 HKEY_CU…