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

【机器学习300问】15、什么是逻辑回归模型?

一、逻辑回归模型是为了解决什么问题?

        逻辑回归(Logistic Regression)是一种广义线性回归分析模型,尤其适用于解决二分类问题(输出为两个类别)。

(1)二分类举例

  • 邮件过滤:判断一封电子邮件是否为垃圾邮件。结果为垃圾邮件(1)或非垃圾邮件(0);
  • 医疗诊断:判断病人是否患有某种疾病,如癌症。结果为患病(1)或健康(0);
  • 情感分析:针对一段文本评论,判断其情感倾向是积极(1)还是消极(0);
  • 用户点击预测:在广告推荐系统中,预测用户是否会点击展示的广告。结果为点击(1)或未点击(0)

        逻辑回归虽然最初是设计来处理二分类问题的,它其实是回归模型的一种,只不过它解决的是分类问题而不是预测问题。虽然后面他也可以使用“一对多”(One-vs-All)的策略来处理可以处理多分类问题,但我在这篇文章中只介绍逻辑回归模型处理二分类问题。

二、逻辑回归模型与sigmoid函数的关系

(1)首先我有一个线性函数

模型的核心部分是一个线性函数,即输入特征与模型参数(权重和偏置)的线性组合。

        f_{w,b}(x)=w_{1}x_{1}+w_{2}x_{2}+...+w_{n}x_{n}+b

        z = w_{1}x_{1}+w_{2}x_{2}+...+w_{n}x_{n}+b

        第一个式子是我们之前学过的多元线性回归模型,第二个式子中我用一个中间变量z来接收这个多项式。其中,z是线性组合的输出,x_{i}是特征变量,w_{i}是对应的特征权重,b是偏置项。

(2)其次我将线性函数与sigmoid函数结合

        为了将线性函数的输出转换为预测类别(通常是0或1)的概率,逻辑回归引入了sigmoid函数,它又叫做logistic函数。结合操作就是指将上面的z带入\sigma (z)中。

\sigma (z) = \frac{1}{1+e^{-z}}

其图像如下图:

        在逻辑回归模型中,Sigmoid函数用于将样本特征的线性组合转换为概率,这个转换过程实际上是一种“概率编码”。sigmoid函数将线性函数的输出压缩并平滑地映射到(0,1)区间内,从而可以解释为正类(例如1)的概率。当预测概率大于某预定阈值(通常取0.5)时,模型预测为正类;否则预测为负类。

(3)结合后的逻辑回归模型

逻辑回归模型的输出是这样的形式:

P(y=1|x;\theta )=\sigma (\widehat{w}x+b)

  • x 是输入特征向量,
  • θ=(w,b) 是模型参数,其中w 是权重向量,b 是偏置项,
  • σ 是sigmoid函数,
  • P(y=1∣x;θ) 表示给定特征 x 的条件下,样本属于正类的概率。
http://www.lryc.cn/news/287705.html

相关文章:

  • C#调用C动态链接库
  • 前端实现转盘抽奖 - 使用 lucky-canvas 插件
  • 2024.1.23力扣每日一题——最长交替子数组
  • C语言王道练习题第七周两题
  • 某马头条——day11+day12
  • springboot实现aop
  • Golang 中高级工程师学习笔记
  • USB-C接口给显示器带来怎样的变化?
  • 写一份简单的产品说明书:格式和排版建议
  • 【Python学习】Python学习21- 正则表达式(1)
  • Docker 和 Kubernetes:容器化时代的崛起与演变
  • 美易官方京东养车回应索赔事件:推动行业健康发展并携手品牌商家加码补贴
  • 深度学习与图像描述生成——看图说话(3)
  • [SAP ABAP] ABAP编程中SY-SUBRC值的含义
  • 测试模型分类
  • mavros和PX4中的海拔高与椭球高转换
  • 洛谷刷题-【入门2】分支结构
  • 文件包含技术总结
  • Docker搭建私有仓库
  • 【计算机网络】【练习题】【新加坡南洋理工大学】【Computer Control Network】
  • 【学习笔记】CF1349F2 Slime and Sequences (Hard Version)
  • HarmonyOS 鸿蒙应用开发( 六、实现自定义弹窗CustomDialog)
  • # Java NIO(一)FileChannel
  • [嵌入式软件][启蒙篇][仿真平台] STM32F103实现串口输出输入、ADC采集
  • Deepin基本环境查看(四)【硬盘/分区、文件系统、硬连接/软连接】
  • JS之打地鼠案例
  • Kubernetes入门
  • EtherNet/IP开发:C++搭建基础模块,EtherNet/IP源代码
  • Django(九)
  • 解决Android Studio Unexpected tokens (use ; to separate expressions on the same line)