首页 > 其他分享 >逻辑回归(Logistic Regression)

逻辑回归(Logistic Regression)

时间:2024-09-11 13:52:10浏览次数:7  
标签:输出 逻辑 函数 回归 损失 Logistic Regression log

许多问题需要将概率估算值作为输出。由于线性回归无法保证输出值表示概率(介于零和一之间),所以需要逻辑回归——它是一种极其高效的概率计算机制。那么逻辑回归如何保证其输出表示概率?

1. 逻辑回归如何计算概率?

碰巧,有一族函数称为“逻辑函数”,其输出满足上述条件。标准逻辑函数/S 型函数sigmoid表示S型)是其中之一,其公式为$y'=\frac{1}{1+e^{-z}}$。z代表该线性回归输出,又称对数几率(log odds)。为什么叫对数几率?因为$y'=f(z)$的反函数$z=\log \frac{y}{1-y}$满足定义。

2. 逻辑回归使用何种损失函数?

线性回归所用的损失函数见线性回归(Linear Regression)。逻辑回归不能照搬。为何?

先看一下表中标准S型函数输入较大时的逻辑输出值,以及捕捉到输出随输入发生了变化所需的输出保留精度位数。

输入 逻辑输出 所需精度位数
5 0.993 3
6 0.997 3
7 0.999 3
8 0.9997 4
9 0.9999 4
10 0.99998 5

倘若再使用平方型损失函数,所需精度位数会加倍。

逻辑回归采用对数损失函数,计算公式为:$\text{Log Loss} = \sum_{(x,y)\in D} -y\log(y') - (1 - y)\log(1 - y')$,其中:

  • $(x,y)\in D$是包含多个有标签样本的数据集,这些样本为$(x,y)$对;
  • $y$是有标签样本中的标签。由于这是逻辑回归,$y$的每个值都必须为0或1;
  • $y'$是给定$x$中的特征的条件下,模型的预测结果(介于零和一之间)。
  • 如果你看不懂这个公式,笔者不推荐你去看@冰冰 写的似然(likelihood)和NLLLoss 。因为他拿了个单分类的特殊情况对公式作了简化,不具代表性。

3. 前瞻

正则化:如果没有正则化,当模型具有大量特征时,逻辑回归的渐近性质将使损失不断趋向于 0。那么损失趋向于0有什么坏处呢?有人觉得这会导致过拟合。

大多数逻辑回归模型采用L2正则化或者早停法降低模型复杂度。

 

标签:输出,逻辑,函数,回归,损失,Logistic,Regression,log
From: https://www.cnblogs.com/ArmRoundMan/p/18408061

相关文章

  • SQL执行顺序和逻辑
    SQL执行顺序和逻辑MySQL的执行顺序:  (9)SELECT  (6)SUM(聚合函数)  (10)DISTINCT<select_list>  (1)FROM<left_table>  (3)<join_type>JOIN<right_table>  (2)ON<join_condition>  (4)WHERE<where_condition>  (5)GROUP......
  • 需求:多个接口同时调用,全部完成后才能继续后续的逻辑(promise.all)
    前景提要:async/awiat的使用规则:   async表示这是一个async函数,await只能用在async函数里面,不能单独使用(await并不是必须要写的)   async返回的是一个Promise对象,await就是等待这个promise的返回结果后,再继续执行   await等待的是一个Promise对象,后面必须跟一个Pr......
  • 【机器学习】嘿马机器学习(算法篇)第10篇:逻辑回归,学习目标【附代码文档】
    本教程的知识点为:机器学习算法定位、K-近邻算法1.4k值的选择1K值选择说明1.6案例:鸢尾花种类预测--数据集介绍1案例:鸢尾花种类预测1.8案例:鸢尾花种类预测—流程实现1再识K-近邻算法API1.11案例2:预测facebook签到位置1项目描述线性回归2.3数学:求导1......
  • FastAPI 深度指南:使用依赖注入处理分页和过滤逻辑
    在FastAPI框架中,Depends是一个关键的功能,它允许开发者通过依赖注入来管理和重用代码。这在处理API的分页和过滤逻辑时尤其有用,因为它可以将这些逻辑抽象化,从而减少冗余代码并提高效率。通过Depends,我们可以定义一个函数,该函数负责获取和验证分页参数(如skip和limit)以及过滤参数(如基......
  • Binary Search 二分查找算法:逻辑的舞蹈,二分法的精准步伐
    BinarySearch二分查找算法:逻辑的舞蹈,二分法的精准步伐二分查找算法,也称为二分搜索算法(BinarySearch),是一种在有序数组中查找特定元素的高效算法。它通过反复将搜索区间减半来快速定位目标值。二分查找算法的效率远高于线性搜索,因为它每次比较都能排除掉一半的搜索空间。......
  • 【C++】C++ STL 探索:List使用与背后底层逻辑
    C++语法相关知识点可以通过点击以下链接进行学习一起加油!命名空间缺省参数与函数重载C++相关特性类和对象-上篇类和对象-中篇类和对象-下篇日期类C/C++内存管理模板初阶String使用String模拟实现Vector使用及其模拟实现本文将通过模拟实现List,从多个角度深入剖析其底层机......
  • Java中的逻辑与和逻辑或 & && | ||
    1、&表示“按位与",这里的”位“是指二进制位(bit)例:十进制数字8转化为二进制是:1000;数字9转化为二进制是1001。publicclassTest{publicstaticvoidmain(String[]args){System.out.println(9&8);}}结果为8。原因1001&1000=1000。计算机......
  • 逻辑地址转换为物理地址题型:在页式存储管理系统中,逻辑地址0对应块号2,页大小为4KB,则换
    例题:在页式存储管理系统中,逻辑地址0对应块号2,页大小为4KB,则换为物理地址为多少?在页式存储管理系统中,逻辑地址通常由页号和页内偏移量组成。给定的信息是逻辑地址0对应块号2,页大小为4KB(即4096字节)。首先,我们需要确定页内偏移量。由于逻辑地址是0,这意味着页内偏移量也是0。接下......
  • C#ping ip地址和域名的逻辑是一样的吗
    在C#中,无论是pingIP地址还是域名,底层逻辑在大多数情况下是相同的,因为最终都是发送ICMP(InternetControlMessageProtocol)回显请求消息给目标,并监听回显应答。不过,处理域名时,有一个额外的步骤:域名解析。当你ping一个域名时,首先需要将该域名解析为对应的IP地址。这个过程通......
  • 【C++学习笔记】逻辑判断语句与循环语句(二)
    目录一、逻辑判断语句1.1ifelse语句1.2 switch语句1.3枚举类型二、循环语句2.1while循环2.2dowhile循环2.3for循环2.4break与continue关键字2.5goto语句一、逻辑判断语句1.1ifelse语句#include"iostream"usingnamespacestd;intmain(){......