《机器学习by周志华》学习笔记-线性模型-02

news2024/11/16 5:44:09

1、对数几率回归

1.1、背景

上一节我们考虑了线性模型的回归学习,但是想要做分类任务就需要用到上文中的广义线性模型。

当联系函数g(\cdot )连续且充分光滑,考虑单调可微函数g(\cdot ),令:

y=g^{-1}(w^{T}+b)

1.2、概念

找一个单调可谓函数g(\cdot ),将分类任务的真实标记y_{i}与线性回归模型的预测值f(xi)联系起来,也叫做「Heaviside函数」。

在二分类任务中,输出的真实标记y_{i}\in \left \{ 0,1 \right \},而线性回归模型产生的预测值f(x)=w^{T}+b是实数值。于是我们将f(x)转化为0、1值。最理想的情况就是「单位阶跃函数(unit-step function)」,如下所示:

y=\begin{cases} 0, \text{ f(x)< 0 } \\ 0.5, \text{ f(x)= 0 } \\ 1, \text{ f(x)> 0 } \end{cases}

        若f(x)> 0,就判为正例;

        若f(x)< 0,就判为反例;

        若f(x)= 0,则可任意判别;

        如下图所示(红色部分)

黑色部分函数,则称为「对数几率函数」,简称「对率函数」。

从上图可以看出,「单位阶跃函数(unit-step function)」(2条红线+一个点)不连续,因此不能直接用做g^{-1},我们可以在上图中,用「单位阶跃函数」的「替代函数」(对率函数)来用作g^{-1}。并且需要该函数单调可微。可得出:

g^{-1}=y=\frac{1}{1+e^{-f(x)}}=\frac{1}{1+e^{-(w^{T}+b)}}

Sigmoid函数:

Sigmoid函数即S形函数。「对率函数」是Sigmoid函数最重要的代表。我们将会在后面「神经网络」将看到他在神经网络中的重要作用。

综上所述,「对率函数」将f(x)转化为一个接近0或1的y值。并且值得范围在f(x)=0附近变化斜率高。

上述式子可以变化为:

ln\frac{g^{-1}}{1-g^{-1}}=w^{T}+b

g^{-1}视作样本x为正例的可能性。则1-g^{-1}视作样本x为负例的可能性。两者的比值:

\frac{g^{-1}}{1-g^{-1}}

称为「几率(odds)」

几率(odds):

Odds=P/(1-P)

Odds(几率)的计算公式为Odds=P/(1-P),这里的P是指某个事件发生的概率。

Odds是用来表示一个事件发生与不发生的比例,当P=0.5时,Odds=1,当P=0,则Odds趋向于无穷大,反之,当P=1,则Odds趋向于0。

对几率(odds)取对数,则得到了「对数几率(log odds)」,也叫做logit。如下表示:

ln\frac{g^{-1}}{1-g^{-1}}

上述式子,有文献译为「逻辑回归」。但中文「逻辑」与logisitic和logit的含义较大,此处作者翻译为「对数几率回归」,简称「对率回归」。

因为ln\frac{g^{-1}}{1-g^{-1}}=w^{T}+b中的w^{T}+b=y,故我们可以得出:

该等式左边是:线性回归模型的预测结果

而等式右边是:该模型的真实标记yi

因此,我们得出的公式结果,实际上就是在用线性回归模型的预测结果,去逼近真实标记yi的对数几率。所以其对应的模型称为「对数几率回归」。

需要注意的是,它的名字中虽然有回归,但实际是却是一种分类学习方法。其优点如下:

  • 他是直接对分类可能性进行建模,无需事先假设数据分布,这样就避免分布不准确所带来的问题。
  • 它不仅是预测出「类别」,而是可得到近似概率预测,这对许多需利用概率辅助决策的任务很有用。
  • 此外,对数函数是任意阶可导的凸函数,有很好的数学性质,现有的许多数值优化算法都可直接用于求取最优解。

1.3、求解

根据1.2的概念,本章主要求解公式中的w和b。如果我们将上述式子中的g^{-1}视为「后验概率」估计p(y=1|x),,则上述式子可以重写为:

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

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

相关文章

关系型数据库的相关概念

表、记录、字段 表 一个实体集相当于一个表记录 一个实体相当于一个记录&#xff0c;在表中表表现为一行数据字段 一个字段相当于数据库表中的列 表的关联关系 一对一(一对一的表可以合并成一张表)一对多多对多 必须创建第三张表&#xff0c;该表通常称为联接表&#xff0c…

个人电脑信息安全注意事项

个人电脑信息安全注意事项 一、密码安全&#xff1a; 设置复杂且独特的密码&#xff0c;避免使用容易猜测或常见的密码。 定期更换密码&#xff0c;特别是在重要账户或应用上。 不要在多个账户上重复使用相同的密码。 使用密码管理工具来安全地存储和访问密码。 二、软件安…

Axure琐碎细节

文章目录 琐碎细节注释预览编写原型图的时候可以把颜色改为灰色标尺竖直文字左对齐Axure中的文字怎么添加元件层级问题如何找到各种各样的形状&#xff0c;比如三角形了 五角星了 十字架了给按钮设置简单的交互动作通过锁来等比例缩放 琐碎细节 注释 有时候我们需要给我们的元…

探索通过GPT和云平台搭建网安实战培训环境

项目背景 网络安全是一个不断演变的领域&#xff0c;面临着日益复杂的挑战和不断扩大的威胁。数字化时代&#xff0c;随着勒索攻击、数据窃取、网络钓鱼等频频出现&#xff0c;网络攻击的威胁指数和影响范围进一步增加&#xff0c;如何防范网络攻击&#xff0c;确保数据安全&a…

ssh免秘钥登录与时钟同步

ssh免秘钥登录及数据拷贝 ssh免秘钥登录及数据拷贝环境生成秘钥拷贝公钥到到远程服务器通过ssh-copy-id命令拷贝公钥到远程服务器通过手动拷贝公钥到远程服务器 非root用户远程拷贝公钥 设置编码方式临时设置编码永久设置方法一永久设置方法二 设置时钟同步使用 ntpdate 命令使…

yabai,openssh 竟然把 Windows 搞蓝屏了

在虚拟化技术日益普及的今天&#xff0c;Oracle VirtualBox 提供了一个功能强大的平台&#xff0c;允许用户在单一物理机上运行多个操作系统。 本文将指导你如何使用 Oracle VirtualBox 安装 Oracle Linux 9.3。 1. Oracle VirtualBox 7.0 介绍 Oracle VirtualBox 7.0 是一款由…

Compose 布局

文章目录 Compose 布局ColumnColumn属性使用 RowRow属性使用 BoxBox属性使用 ConstraintLayoutLazyColumnLazyColumn属性使用使用多类型使用粘性标题回到顶部 LazyRowLazyRow属性使用 LazyVerticalGridLazyVerticalGrid属性使用 Compose 布局 Column Compose中的”垂直线性布…

大型网站系统架构演化实例_4.数据库读写分离

1.数据库读写分离 网站在使用缓存后&#xff0c;使对大部分数据读操作访问都可以不通过数据库就能完成&#xff0c;但是仍有一部分操作&#xff08;缓存访问不命中、缓存过期&#xff09;和全部的写操作都需要访问数据库&#xff0c;在网站的用户达到一定规模后&#x…

制作一个RISC-V的操作系统十二-定时器中断

文章目录 CLINT定时器中断mtimemtimecmp机制总体框架流程时间节拍系统时钟代码 CLINT 产生软件中断和定时器中断 定时器中断 mtime 类似计数器&#xff0c;按照硬件对应的固定频率递增 上电后会自动复位为0&#xff0c;有硬件自动完成 mtimecmp 需要自己设置&#xff0…

C++相关概念和易错语法(8)(匿名对象、构造+拷贝构造优化、构造析构顺序)

1.匿名对象 当我们实例化对象后&#xff0c;有的对象可能只使用一次&#xff0c;之后就没用了。这个时候我们往往要主动去析构它&#xff0c;否则会占着浪费空间。但是如果遇到大量的这种情况&#xff0c;我们并不想每次都去创建对象、调用、析构&#xff0c;这样会写出很多重…

【Linux】对system V本地通信的内核级理解

一、system V版本的进程间通信技术 通过之前的学习&#xff0c;我们大致可以感受出来&#xff0c;共享内存&#xff0c;消息队列和信号量在使用的时候是有很多共性的。它们三个的接口&#xff0c;包括接口中传的参数有的都有很大的相似度。其实&#xff0c;共享内存&#xff…

大功率岸电电源技术研究及发展趋势

大功率岸电电源是一种利用海洋潮汐、波浪等可再生能源进行电能充电的设备&#xff0c;也称为海洋能充电器或潮汐能发电机。它通过接收潮汐、波浪等可再生能源&#xff0c;将可再生能源转换为电能进行充电&#xff0c;为港口、岛屿等地区提供清洁、高效的电力。大功率岸电电源对…

SpringSecurity源码4

SecurityContext.class 当前线程关联的最小安全信息&#xff0c;提供Authentication的get/set方法 SecurityContextHolder.class SecurityContext的持有器 // 全部委托给策略类public static void setContext(SecurityContext context) {strategy.setContext(context);}public …

算法课程笔记——蓝桥云课第二次直播

注意是‘’ 都正确 可以理解为a的首地址也是数字&#xff0c;向右1 %p逻辑地址 Cin cout字符串“”单个字符本身‘’&#xff0c;其他时候不用加 这样就可以 逆运算 bool比较真假<从小到大排 11/25 都输出最省事 变成长度为n1的数组 考虑到整个都可能为一个颜色&#xff0c;…

UML/SysML建模工具更新情况-截至2024年4月(1)5款-Trufun建模平台 v2024

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 工具最新版本&#xff1a;itemis CREATE 5.2.2 更新时间 2024年3月22日 工具简介 原名YAKINDU Statechart Tools。状态机建模工具&#xff0c;支持各种语言的代码生成&#xff0c;提…

Semaphore信号量源码解读与使用

&#x1f3f7;️个人主页&#xff1a;牵着猫散步的鼠鼠 &#x1f3f7;️系列专栏&#xff1a;Java全栈-专栏 &#x1f3f7;️个人学习笔记&#xff0c;若有缺误&#xff0c;欢迎评论区指正 目录 1. 前言 2. 什么是Semaphore&#xff1f; 3. Semaphore源码解读 3.1 acquire…

yml文件解析

.yml 后缀的文件可以有多个application.yml # 项目相关配置 用于 RuoYiConfig.java ruoyi:# 名称name: RuoYi# 版本version: 3.8.5# 版权年份copyrightYear: 2023# 实例演示开关demoEnabled: true# 文件路径 示例&#xff08; Windows配置D:/ruoyi/uploadPath&#xff0c;Lin…

SQLite的知名用户(二十九)

返回&#xff1a;SQLite—系列文章目录 上一篇:SQLite作为应用程序文件格式&#xff08;二十八&#xff09; 下一篇:SQLite FTS5 扩展&#xff08;三十&#xff09; SQLite被数以百万计的应用程序使用 从字面上看&#xff0c;有数十亿次部署。 SQLite 是 当今世界。 下面…

C语言指针加法/减法

减法运算 指针的减法运算公式&#xff1a;就是两个指针的内存差值 / 指向的数据类型的内存空间大小 如果改变了指针类型指向的数据类型&#xff0c;对指针进行 - 运算&#xff0c;其新指向的位置只和转换后的数据类型有关 如果是char &#xff0c; 则指针指向变化1byte 如果…

【微服务】spring读取配置文件多种方式深入详解

目录 一、前言 二、java配置文件介绍 2.1 java配置文件产生原因 2.2 项目使用配置文件好处 2.3 springboot项目配置文件的必要性 2.4 微服务架构下配置文件使用场景 三、java读取配置文件常用方法 3.1 使用Properties类读取配置文件 3.1.1 使用getResourceAsStream读取…