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

对数几率回归

对数几率回归简介

对数几率回归(Logistic Regression)是一种用于解决分类问题的经典统计模型,其核心思想是利用逻辑函数(Sigmoid函数)将线性回归模型的输出值映射到概率范围 [0, 1],从而实现分类预测。对数几率回归特别适合用于二分类问题。

模型表达式

对数几率回归的概率预测公式为:

eq?P%28y%3D1%7Cx%29%20%3D%20%5Csigma%28z%29%20%3D%20%5Cfrac%7B1%7D%7B1%20+%20e%5E%7B-z%7D%7D

其中:

  • eq?z%20%3D%20w%5ET%20x%20+%20b
  • w为权重向量,x 为输入特征向量,b为偏置项
  • eq?sigma%28z%29 是 Sigmoid 函数

目标是通过训练确定参数 w 和 b,以最大化模型对数据的预测能力。


极大似然函数与交叉熵损失

极大似然函数

在训练过程中,假设数据集包含 n 个样本eq?%5C%7B%28x_i%2C%20y_i%29%5C%7D_%7Bi%3D1%7D%5En​,目标是最大化样本标签 y 的条件概率的乘积,即似然函数:

eq?L%28w%2C%20b%29%20%3D%20%5Cprod_%7Bi%3D1%7D%5En%20P%28y_i%7Cx_i%29%20%3D%20%5Cprod_%7Bi%3D1%7D%5En%20%5Csigma%28z_i%29%5E%7By_i%7D%20%281%20-%20%5Csigma%28z_i%29%29%5E%7B1%20-%20y_i%7D

为简化计算,通常对似然函数取对数,得到对数似然函数:

eq?l%28w%2C%20b%29%20%3D%20%5Csum_%7Bi%3D1%7D%5En%20%5Cleft%5B%20y_i%20%5Clog%20%5Csigma%28z_i%29%20+%20%281%20-%20y_i%29%20%5Clog%20%281%20-%20%5Csigma%28z_i%29%29%20%5Cright%5D

交叉熵损失

对数似然函数的负值称为交叉熵损失,是对数几率回归优化的目标函数:

eq?%7BCross-Entropy%20Loss%7D%20%3D%20-%5Cell%28w%2C%20b%29%20%3D%20-%5Cfrac%7B1%7D%7Bn%7D%20%5Csum_%7Bi%3D1%7D%5En%20%5Cleft%5B%20y_i%20%5Clog%20%5Csigma%28z_i%29%20+%20%281%20-%20y_i%29%20%5Clog%20%281%20-%20%5Csigma%28z_i%29%29%20%5Cright%5D

通过最小化交叉熵损失函数,可以训练出最优的模型参数。

在信息论中涉及信息熵与交叉熵的概念。信息熵越大,表示随机变量的不确定性越大。相对熵=信息熵+交叉熵,相对熵用来度量两个随机变量之间的差异。


参数优化方法

梯度下降法

使用梯度下降法(Gradient Descent)通过迭代更新参数 w 和 b 来最小化损失函数。更新公式为:

eq?w%20%5Cleftarrow%20w%20-%20%5Ceta%20%5Ccdot%20%5Cfrac%7B%5Cpartial%20%5Cell%7D%7B%5Cpartial%20w%7D%2C%20%5Cquad%20b%20%5Cleftarrow%20b%20-%20%5Ceta%20%5Ccdot%20%5Cfrac%7B%5Cpartial%20%5Cell%7D%7B%5Cpartial%20b%7D

其中 η为学习率。

牛顿法

牛顿法是一种二阶优化方法,利用梯度和二阶导数(Hessian 矩阵)更新参数,相较于梯度下降法收敛更快。更新公式为:

eq?w%20%5Cleftarrow%20w%20-%20H%5E%7B-1%7D%20%5Cnabla%20%5Cell

其中:

  • ∇ℓ 是损失函数的梯度
  • H 是 Hessian 矩阵,定义为损失函数的二阶导数矩阵

优点: 牛顿法可以显著加快优化速度,特别是在凸优化问题中表现出色。
缺点: 计算 Hessian 矩阵和求逆的开销较大,不适合大规模数据。

 

 

 

 

 

 

 

http://www.lryc.cn/news/487449.html

相关文章:

  • docker 配置同宿主机共同网段的IP 同时通过通网段的另一个电脑实现远程连接docker
  • 4-7-1.C# 数据容器 - LinkedList(LinkedList 的定义、LinkedList 结点的遍历、LinkedList 的常用方法)
  • 「三」体验HarmonyOS端云一体化开发模板——使用DevEco Studio直接创建端云一体化工程
  • 确保以管理员权限运行 Visual Studio 开发者命令提示符
  • 命令执行简单(棱角社区有毒)
  • Keil基于ARM Compiler 5的工程迁移为ARM Compiler 6的工程
  • Kafka-创建topic源码
  • 【网络安全】(一) 0成本添加访问级监控
  • 【Three.js基础学习】26. Animated galaxy
  • vscode使用ssh配置docker容器环境
  • NLP论文速读(EMNLP 2024)|动态奖励与提示优化来帮助语言模型的进行自我对齐
  • 【LeetCode】167. 两数之和 II - 输入有序数组
  • Getx:GetxController依赖管理02,Binding绑定全局控制器(懒加载Controller)
  • leetcode 找不同
  • 2025 - 生信信息学 - GEO数据分析 - RF分析(随机森林)
  • Matlab深度学习(四)——AlexNet卷积神经网络
  • etcd defrag
  • golang语言整合jwt+gin框架实现token
  • 数据治理、数据素养和数据质量管理:文献综述
  • 【Linux】用户和用户组管理
  • 游戏引擎学习第16天
  • 如何通过对敏捷实践的调整,帮助远程团队提升研发效能?
  • Ubuntu Linux使用前准备动作 配置SSH
  • 疫情下的图书馆管理系统:Spring Boot技术
  • vue3完整安装并创建项目
  • 【Linux】Linux入门实操——进程管理(重点)
  • Linux-Apache
  • 高危,Laravel参数注入漏洞安全风险通告
  • 【Qt】使用QString的toLocal8Bit()导致的问题
  • Android上运行Opencv(TODO)