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

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

机器学习任务可以分为两类: 一类是样本的特征向量 𝒙 和标签 𝑦 之间存在未知的函数关系𝑦 = 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.lryc.cn/news/533606.html

相关文章:

  • 【信息系统项目管理师-案例真题】2017上半年案例分析答案和详解
  • CSP晋级组比赛生成文件夹与文件通用代码Python
  • 正则表达式进阶(二)——零宽断言详解:\b \B \K \z \A
  • Android 中实现 PDF 预览三种方式
  • 尚硅谷课程【笔记】——大数据之Zookeeper【二】
  • CodeGPT + IDEA + DeepSeek,在IDEA中引入DeepSeek实现AI智能开发
  • postgresql 游标(cursor)的使用
  • 计算机组成原理——指令系统(六)
  • Python设计模式 - 原型模式
  • 金和OA C6 DownLoadBgImage任意文件读取漏洞
  • 【stm32学习】STM32F103实操primary(FlyMCU)
  • 如何将Excel的表格存为图片?
  • 51单片机之使用Keil uVision5创建工程以及使用stc-isp进行程序烧录步骤
  • AUTOSAR面试题集锦(1)
  • 【Uniapp-Vue3】从uniCloud中获取数据
  • AIOS: 一个大模型驱动的Multi-Agent操作系统设计与Code分析
  • Python----Python高级(网络编程:网络基础:发展历程,IP地址,MAC地址,域名,端口,子网掩码,网关,URL,DHCP,交换机)
  • 收集的面试资料
  • pytest-xdist 进行多进程并发测试!
  • LVGL4种输入设备详解(触摸、键盘、实体按键、编码器)
  • 全流程安装DeepSeek开源模型
  • 人工智能领域-CNN 卷积神经网络 性能调优
  • 人工智能A*算法与CNN结合- CNN 增加卷积层的数量,并对卷积核大小进行调整
  • 机器学习中常用的评价指标
  • Windows安装cwgo,一直安装的是linux平台的
  • GitHub Pages + Jekyll 博客搭建指南(静态网站)
  • 21.[前端开发]Day21-HTML5新增内容-CSS函数-BFC-媒体查询
  • C++SLT(五)——list
  • 网络安全ITP是什么 网络安全产品ips
  • 评估大模型(LLM)摘要生成能力:方法、挑战与策略