机器学习11:逻辑回归-Logistic Regression

news2024/9/24 11:31:29

目录

1.计算概率

2.损失和正则化

2.1 逻辑回归的损失函数

2.2 逻辑回归中的正则化

3.参考文献


1.计算概率

许多问题需要概率估计作为输出。逻辑回归是一种极其有效的概率计算机制。实际上,我们可以通过以下两种方式使用返回的概率:

  • 原始概率:不经转换的原始计算结果
  • 二元类别:将原始计算结果转换为二元类别

那么,如何 “按原样” 使用概率?假设我们创建一个 逻辑回归(Logistic Regression模型来预测狗在半夜吠叫的概率。我们称这个概率为:

p(bark | night)

如果逻辑回归模型预测 p(bark | night) = 0.05,那么在一年多的时间里,狗的主人应该被惊醒大约 18 次:

startled = p(bark | night) * nights = 0.05 * 365 = 18

在许多情况下,我们倾向于将逻辑回归输出映射到二元分类问题的解决方案中,其中的目标是正确预测两个可能的标签之一(例如 “垃圾邮件” 或 “非垃圾邮件”)。那么,逻辑回归模型如何确保输出始终落在 0 和 1 之间呢?这就需要特殊的函数来辅助了,如下的 sigmoid 函数会产生具有相同特征的输出:

y = \frac{1}{1 + e^{-z}}

sigmoid 函数产生以下图:

图 1:S 型函数

如果 z 表示用逻辑回归训练的模型的线性层的输出,然后 sigmoid(z) 将产生一个介于 0 和 1 之间的值(概率)。用数学术语来说:

y' = \frac{1}{1 + e^{-z}}

其中,

  • y' 是特定示例的逻辑回归模型的输出。
  • z = b + w_1x_1 + w_2x_2 + \ldots + w_Nx_N
    •  w 值是模型的学习权重,并且 b 是偏差。
    • x 值是特定示例的特征值。

注意:z 也称为对数概率,因为 sigmoid 的倒数表明,z 可以定义为概率的对数:

z = \log\left(\frac{y}{1-y}\right)

这是带有 ML 标签的 sigmoid 函数:

图 2:逻辑回归输出

 

2.损失和正则化

2.1 逻辑回归的损失函数

线性回归的损失函数是平方损失。逻辑回归的损失函数是对数损失:Log Loss,其定义如下:

\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' 是预测值(介于 0 和 1 之间),给定特征集 x

2.2 逻辑回归中的正则化

正则化 在逻辑回归建模中极其重要。如果没有正则化,逻辑回归的渐近性质会将高维损失推向 0。因此,大多数逻辑回归模型使用以下两种策略之一来降低模型复杂性:

  • L_{2} 正则化。
  • 提前停止,即限制训练步骤数或学习率。

在后面的文章中,笔者将介绍第三种策略——L_{1} 正则化 。想象一下,为每个示例分配一个唯一的 id,并将每个 id 映射到其自己的特征。如果不指定正则化函数,模型将完全过拟合。这是因为该模型会尝试将所有示例的损失推至零,但永远无法实现这一目标,从而将每个指标特征的权重推向+无穷大或-无穷大。这种情况可能发生在具有特征交叉的高维数据中,当存在大量罕见交叉且每个交叉仅发生在一个示例上时。幸运的是,使用 L_{2} 或提前停止训练可以避免这个问题。

概括

  • 逻辑回归模型生成概率。
  • 对数损失是逻辑回归的损失函数。
  • 逻辑回归被许多从业者广泛使用。

3.参考文献

链接-https://developers.google.cn/machine-learning/crash-course/logistic-regression/model-training

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/696737.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Appium安装部署

目录 一、检查Java环境 二、安装android SDK 一、检查Java环境 Android SDK依赖ava环境,因此需要先安装jdk。在CMD中输入java -version 出现下图的结果,说明当前环境已安装jdk 如果提示java命令无效,请安装后进行下一步。 二、安装androi…

360手机打开USB调试+文件传输

360手机USB调试文件传输[用户版] 参考:360手机-360刷机360刷机包twrp、root 360刷机包360手机刷机:360rom.github.io 【前言】 *360手机USB调试 ,必须提前打开“开发者模式USB调试”进行 【操作流程】 打开:开发者模式、USB调…

vue3进阶-----单文件组件

目录 三.vue3进阶 1.单文件组件 1-1组件定义-重塑经脉,断了? 1-2单文件组件(SFC)-独立日 1-3Vue-CLI创建项目-锅灶升级 1-4 vuecli选项介绍 1-5 VueCLI创建项目-风云再起 index.html main.js 作用 ES6 导入 导出 解决跨域之“Vue-Cli配置跨域…

Vue 自定义ColorPicker

Vue 自定义ColorPicker 创建自定义组件ColorPicker.vue <template><div class"box"><div class"picker-box"><div class"color" :style"{ background: color }"></div><div class"el-icon-arr…

使用元类实现ORM

使用元类实现ORM ORM 是 python编程语言后端web框架 Django的核心思想&#xff0c;“Object Relational Mapping”&#xff0c;即对象-关系映射&#xff0c;简称ORM。 我们想实现的目标是: 创建一个实例对象&#xff0c;用创建它的类名当做数据表名&#xff0c;用创建它的类属…

十分钟实现 Android Camera2 相机拍照

1. 前言 因为工作中要使用Android Camera2 API&#xff0c;但因为Camera2比较复杂&#xff0c;网上资料也比较乱&#xff0c;有一定入门门槛&#xff0c;所以花了几天时间系统研究了下&#xff0c;并在CSDN上记录了下&#xff0c;希望能帮助到更多的小伙伴。 上篇文章 我们使用…

【数据分享】1929-2022年全球站点的逐月平均压力数据(Shp\Excel\12000个站点)

气象数据是在各项研究中都经常使用的数据&#xff0c;气象指标包括气温、风速、降水、能见度等指标&#xff0c;说到气象数据&#xff0c;最详细的气象数据是具体到气象监测站点的数据&#xff01; 对于具体到监测站点的气象数据&#xff0c;之前我们分享过1929-2022年全球气象…

paddlespeech 声纹识别embedding向量提取;TTS文本合成语音

1、声纹识别embedding向量提取 参考&#xff1a; https://aistudio.baidu.com/aistudio/projectdetail/4353348 https://github.com/PaddlePaddle/PaddleSpeech/blob/develop/demos/speaker_verification/README_cn.md https://aistudio.baidu.com/aistudio/projectdetail/4…

Apache Zeppelin 番外篇——参与开源的得与失

背景 经常在公司做一些业务开发&#xff0c;公司里面由于各种人员流动等问题&#xff0c;导致代码质量也是参差不齐&#xff0c;最终问题就是很难维护&#xff0c;前期还想着能够优化代码&#xff0c;但是大部分时间都是需求都是倒排期&#xff0c;所以也导致不再想进行代码优…

车联网 CAN Bus 协议介绍与数据实时流处理

什么是 CAN Bus&#xff1f; CAN&#xff08;Control Area Network&#xff09;Bus 是一种串行通信协议&#xff0c;能够让设备之间可靠而高效地传输数据。它广泛应用于车辆领域&#xff0c;像神经系统一样连接车辆内部的各个电子控制单元。 CAN Bus 最初由博世公司在 20 世纪…

matlab合并/拼接多个excel表

一、 说明&#xff1a;Excel中数据含有 日期&#xff0c;double如何实现多个表合并 解&#xff1a; path E:\xxx\; namelist dir([path,*.csv]); L length(namelist); a []; for i 1:Lfilename{i} [path,namelist(i).name];bb readtable(filename{i},Range,A1:G2881)…

智能指针

目录 RAII auto_ptr unique_ptr shared_ptr shared_ptr的循环引用 weak_ptr 删除器 智能指针的出现主要是针对程序的资源泄露问题而产生的。 RAII RAII&#xff08;Resource Acquisition Is Initialization)是种利用对象生命周期来控制程序资源的简单技术。 在对象构…

2024考研408-计算机组成原理第四章-指令系统学习笔记

文章目录 前言一、指令系统现代计算机的结构1.1、指令格式1.1.1、指令的定义1.1.2、指令格式1.1.3、指令—按照地址码数量分类①零地址指令②一地址指令&#xff08;1个操作数、2个操作数情况&#xff09;③二地址指令④三地址指令⑤四地址指令 1.1.4、指令-按照指令长度分类1.…

c#泛型类

派生抽象基类 public abstract class cal<T> {public abstract T add(); }public class ab : cal<string> {public override string add(){return null;} }泛型类的静态成员 public class cal<T> {public static int X9; }public class ab : cal<strin…

detr(detection transformer)模型训练自己的数据集

目录 1.detr源码下载 2. 编译配置 3. 编译报错问题 4. 训练过程打印参数解读 1.detr源码下载 GitHub - facebookresearch/detr: End-to-End Object Detection with Transformers 2. 编译配置 编译参数只需要传递数据集路径即可&#xff0c;数据集格式是coco数据集类型 数…

投稿TMC的感受

投稿任务告与段落了&#xff0c;最终的结果是被TMC给early reject了。这神一样的审稿意见让我真的是老头地铁看手机啊&#xff01;所以虽然TMC没有给我rebuttal的机会。所以我还是打算在CSDN进行一次rebuttal。 其实我做的东西很简单&#xff0c;就是把时间序列中的将时间序列转…

FreeRTOS学习笔记—基础知识

文章目录 一、什么是RTOS二、前后台系统三、实时内核&#xff08;可剥夺型内核&#xff09;四、RTOS系统五、FreeRTOS系统简介六、FreeRTOS源码下载 一、什么是RTOS RTOS全称为:Real Time OS&#xff0c;就是实时操作系统&#xff0c;核心在于实时性。实时操作系统又分为硬实时…

git查看/切换远程仓库

文章目录 一、查看远程仓库地址二、切换远程仓库地址三、整体演示 一、查看远程仓库地址 命令&#xff1a; git remote -v二、切换远程仓库地址 命令&#xff1a; git remote set-url <新的远程仓库地址>三、整体演示

pg报错attempted to delete invisible tuple

问题描述 postgresql数据库执行delete报错&#xff1a;attempted to delete invisible tuple&#xff0c;执行同样条件的select不报错 delete from lzltab1; select count(*) from lzltab1;执行全表删除和全表查询的结果&#xff1a; M# delete from lzltab1; ERROR: 5500…

有一个三位数,他的各个位数的阶乘相加得到这个数

有一个三位数,他的各个位数的阶乘相加得到这个数 1.描述 有一个三位数,它的各个位数的阶乘相加得到这个数 2.代码 输入数据 依次对个位&#xff0c;十位和百位进行拆解计算阶乘 然后相加看看是不是和原来的数据是相等 public class Mian4 {public static void main(String[…