当前位置: 首页 > article >正文

机器学习-线性回归(最大似然估计)

机器学习任务可以分为两类: 一类是样本的特征向量 𝒙 和标签 𝑦 之间存在未知的函数关系𝑦 = h(𝒙),另一类是条件概率𝑝(𝑦|𝒙)服从某个未知分布。最小二乘法是属于第一类,直接建模 𝒙 和标签 𝑦 之间的函数关系。此外,线性回归还可以从建模条件概率 𝑝(𝑦|𝒙) 的角度来进行参数估计。

一、最大似然估计的概念

在统计学和机器学习中,最大似然估计(Maximum Likelihood Estimation,简称 MLE)是一种用于估计模型参数的方法,其核心思想是:在给定观测数据的情况下,选择使得数据出现概率最大的模型参数。

在线性回归中,最大似然估计(MLE)通过假设目标变量服从正态分布,将参数估计问题转化为最大化数据出现的概率。

最大似然估计是一种参数估计方法,其核心思想是选择参数使得观测数据出现的概率最大。也就是说,在给定数据的情况下,找到最有可能生成这些数据的参数值。这需要先假设数据服从某种概率分布,然后构建似然函数,最后通过优化方法找到使似然函数最大化的参数。

二、模型假设 - 构建对数似然函数

这里我们回顾一下高斯分布为:

假设目标变量 y 与特征 x 的关系为:

在线性回归模型中,假设我们有一组观测数据:

其中 x_i​ 是输入特征,y_i 是对应的输出。

在这种假设下,y_i 也服从均值为 w^Tx_i、方差为 σ2 的正态分布。

因此,单个观测值 y_i 的概率密度函数为:

由于观测值之间相互独立,整个数据集的似然函数是各个观测值概率密度函数的乘积:

这里用到的对数函数的性质,由乘积转换为求和:

更具体的形式为:

三、对参数求导并求解

1.对数似然函数关于 w 求偏导数:

2.令上述偏导数等于零,得到:

3.求解最优参数 w: 将上述方程整理为矩阵形式:

其中,X 是包含所有自变量的设计矩阵,y 是包含所有因变量的向量。

解得最优参数 w:

可以看出,最大似然估计的解和最小二乘法的解相同.

通过上述步骤,可以使用最大似然估计方法求解线性回归模型的最优参数 w。

需要注意的是,以上推导假设误差项 ϵ 服从正态分布,这使得似然函数具有上述形式。 在实际应用中,虽然误差项不一定严格服从正态分布,但在样本量足够大的情况下,参数估计的性质仍然良好。

四、第三步中,方程整理为矩阵形式的推导:

定义设计矩阵 X 为:

定义因变量向量 y 为:

定义参数向量 w 为:

则偏导数的矩阵形式为:

五、关于指数函数(exp)的说明:

线性回归模型中,指数函数exp)通常用于逻辑回归等模型中,以确保模型输出符合概率的要求。

在逻辑回归中,模型的输出是一个概率值,表示某个事件发生的可能性。

为了将线性组合的结果(如 w^Tx)转换为概率值,使用了sigmoid函数,其形式为:

通过应用指数函数,sigmoid函数将线性输出转换为0到1之间的概率值。

这使得模型的输出符合概率分布的性质,且增强了大值之间的相对差异,从而使得更大可能性的类别在概率上更具优势。

需要注意的是,线性回归模型本身并不直接使用指数函数。

在逻辑回归等模型中,指数函数的使用是为了确保模型输出符合概率的要求。

在最大似然估计的过程中,使用对数似然函数来简化计算。

通过对数变换,将乘积转化为求和,从而使得优化过程更加方便。

这也是为什么在一些机器学习算法中,会看到对某项加上exp的原因。

一方面,exp函数确保每个因子是正的;另一方面,通过对数变换,累乘关系转化为累加关系,优化过程变得更加简便。 


http://www.kler.cn/a/539547.html

相关文章:

  • go-elasticsearch创建ik索引并进行查询操作
  • 电脑重启后vscode快捷方式失效,找不到code.exe
  • 【DeepSeek】DeepSeek概述 | 本地部署deepseek
  • 《qt easy3d中添加孔洞填充》
  • Git(分布式版本控制系统)系统学习笔记【并利用腾讯云的CODING和Windows上的Git工具来实操】
  • TAPEX:通过神经SQL执行器学习的表格预训练
  • 最新的构建Jenkins插件的方式
  • 基于无线的分布式温度采集报警系统设计(论文+源码)
  • Git 日志查看与版本回溯
  • 软件工程的熵减:AI如何降低系统复杂度
  • 在 Java 中执行一个复杂的 SQL 查询(包含多表连接、子查询和聚合函数),如何确保查询的性能?请列举至少三条措施。请简要描述其工作原理?
  • 【课程设计参考】迷宫小游戏 :基于 Python+Pygame+AI算法
  • 大语言模型实践——基于现有API的二次开发
  • fetch请求总结,fastadmin中后台接口强制返回json数据
  • DeepSeek本地化部署【window下安装】【linux下安装】
  • 【React】页面刷新后状态丢失的原因与解决方案
  • 如何高效管理多个Facebook账户:矩阵操作的最佳实践
  • QUIC 协议与 TCP 协议相比,有哪些具体的优势和劣势?
  • 要使 if(USART_GetITStatus(USART3, USART_IT_TC) != RESET) 条件满足
  • 解决com.kingbase8.util.KSQLException: This _connection has been closed.
  • 解锁VSCode新姿势:与Deep Seek携手高效编程
  • 事务-----mysql
  • 数字滤波器的分类
  • spring-ioc-高阶知识
  • PHP语言的物联网
  • python实战(十六)——基于LSTM的股价预测