大连理工大学选修课——机器学习笔记(9):线性判别式与逻辑回归

线性判别式与逻辑回归

概述

判别式方法

产生式模型需要计算输入、输出的联合概率

  • 需要知道样本的概率分布,定义似然密度的隐式参数
  • 也称为基于似然的分类

判别式模型直接构造判别式 g i ( x ∣ θ i ) g_i(x|\theta_i) gi(xθi),显式定义判别式参数,不关心数据生成过程

基于判别式的方法只关注类区域之间的边界

在这里插入图片描述

一般认为,估计样本集的类密度比估计类判别式更困难,因为构造判别式通常采用简单的模型

如,线性判别式:

g i ( x ∣ w i , w i 0 ) = w i T + w i 0 = ∑ j = 1 d w i j x j + w i 0 g_i(x|w_i,w_{i0})=w_i^T+w_{i0}=\sum_{j=1}^dw_{ij}x_j+w_{i0} gi(xwi,wi0)=wiT+wi0=j=1dwijxj+wi0

广义上,线性判别式代表了一类机器学习模型

  • 逻辑回归
  • 支持向量机
  • 感知机
  • 神经网络

狭义上,线性判别式仅代表逻辑回归

线性判别式

建立判别式

g i ( x ∣ w i , w i 0 ) = w i T x + w i 0 = ∑ j = 1 d w i j x j + w i 0 g_i(x|w_i,w_{i0})=w_i^Tx+w_{i0}=\sum_{j=1}^dw_{ij}x_j+w_{i0} gi(xwi,wi0)=wiTx+wi0=j=1dwijxj+wi0

最大熵模型的判别式还是从条件后验概率出发

在这里插入图片描述

建模的条件

  1. 数据只有两类

  2. 线性可分

    在这里插入图片描述

判别式模型不考虑数据集的概率分布,直接假定判别式的形式

模型的训练

g i ( x ∣ w i , w i 0 ) = w i T x + w i 0 = ∑ j = 1 d w i j x j + w i 0 g_i(x|w_i,w_{i0})=w_i^Tx+w_{i0}=\sum_{j=1}^dw_{ij}x_j+w_{i0} gi(xwi,wi0)=wiTx+wi0=j=1dwijxj+wi0

可以采用梯度法,牛顿法等

也可以采用全局优化算法,如遗传算法,模拟退火算法等

线性模型的推广

如果数据不是线性可分的,可以提高模型的复杂度,例如使用二次判别式

  • 升维操作,增加高阶项

在这里插入图片描述

  • 升维操作的一般形式

    g i ( x ) = ∑ j = 1 k w j θ i j ( x ) + w i 0 g_i(x)=\sum_{j=1}^kw_j\theta_{ij}(x)+w_i0 gi(x)=j=1kwjθij(x)+wi0

    其中, θ i j \theta_{ij} θij是非线性函数,称为基函数

    常用的基函数有sin,exp,log等

线性模型的及决策

原则上,每个类别对应一个判别式,二值分类一个判别式可以分类

g ( x ) > 0 ? C 1 : C 2 g(x)>0\ ?\ C_1:C2 g(x)>0 ? C1:C2

线性模型的几何意义

任取超平面的两个点 x 1 , x 2 , x_1,x_2, x1,x2, g ( x 1 ) = g ( x 2 ) g(x_1)=g(x_2) g(x1)=g(x2)

w T w^T wT为超平面法线

x的新表达式为

x = x p + r w ∣ ∣ w ∣ ∣ x=x_p+r\frac{w}{||w||} x=xp+r∣∣w∣∣w

其中, x p x_p xp x x x到超平面的投影;r是x到超平面的距离 r = g ( x ) ∣ ∣ w ∣ ∣ r=\frac{g(x)}{||w||} r=∣∣w∣∣g(x)

超平面到原点的距离为 r 0 = w o ∣ ∣ w ∣ ∣ r_0=\frac{w_o}{||w||} r0=∣∣w∣∣wo

处理多类问题

当类别数大于2时,需要k个判别式,假定所有类均线性可分,则可以用线性判别式进行区分

对于属于类别 C i C_i Ci的样本 x x x,我们期望其判别式函数 g i ( x ) > 0 g_i(x)>0 gi(x)>0,而其它判别式函数 g j ( x ) < 0 g_j(x)<0 gj(x)<0

但是现实中,多个类别的判别式可能同时给出 g ( x ) > 0 g(x)>0 g(x)>0

因此,我们取判别式值最大的类即 预测类别 = m a x g i ( x ) 预测类别=max\ g_i(x) 预测类别=max gi(x)

此方法称为线性分类器

如果类线性不可分,则可以采取

  1. 升维
  2. 逐对分离:假定各类别间逐对线性可分,那么,有 K ( K − 1 ) 2 \frac{K(K-1)}{2} 2K(K1)个对,建立这么多个线性判别式

在这里插入图片描述

如果k既不属于i也不属于j,则在训练中舍弃样本 x t x^t xt x t x^t xt为其它类样本

这种不断排除的理念类似决策树

逻辑回归

讨论二值分类的对数线性模型

我们从后验概率 P ( C i ∣ x ) P(C_i|x) P(Cix)的计算出发,建立学习模型

定义 P ( C 1 ∣ x ) = y , P ( C 2 ∣ x ) = 1 − y P(C_1|x)=y,P(C_2|x)=1-y P(C1x)=y,P(C2x)=1y

决策为:

在这里插入图片描述

假设两个类别的数据 C 1 , C 2 C_1,C_2 C1,C2服从高斯分布,两类别共享协方差矩阵,在此假设下,贝叶斯分类器的判别式 g ( x ) g(x) g(x)是线性的,推导如下:

根据高斯判别分析的结论:

  • 后验概率 P ( C 1 ∣ x ) P(C_1|x) P(C1x)可表示为:

l o g P ( C 1 ∣ x ) P ( C 2 ∣ x ) = w T x + w 0 \begin{align} log\frac{P(C_1|x)}{P(C_2|x)}=w^Tx+w_0 \end{align} logP(C2x)P(C1x)=wTx+w0

  • 由于 P ( C 2 ∣ x ) = 1 − P ( C 1 ∣ x ) P(C_2|x)=1-P(C_1|x) P(C2x)=1P(C1x),上式等价于:

l o g P ( C 1 ∣ x ) 1 − P ( C 1 ∣ x ) = w T x + w 0 = l o g i t ( P ( C 1 ∣ x ) ) \begin{align} log\frac{P(C_1|x)}{1-P(C_1|x)}=w^Tx+w_0=logit(P(C_1|x)) \end{align} log1P(C1x)P(C1x)=wTx+w0=logit(P(C1x))

这正是对数几率的定义

  • ( 2 ) (2) (2)移项,得:

P ( C 1 ∣ x ) = 1 1 + e − ( w T + w 0 ) P(C_1|x)=\frac{1}{1+e^{-(w^T+w_0)}} P(C1x)=1+e(wT+w0)1

( 3 ) (3) (3)式为逻辑回归的模型形式,sigmoid。

Logistic函数(也称sigmoid)

P ( C 1 ∣ x ) = 1 1 + e − ( w T + w 0 ) = s i g m o i d ( w T x + w 0 ) P(C_1|x)=\frac{1}{1+e^{-(w^T+w_0)}}=sigmoid(w^Tx+w_0) P(C1x)=1+e(wT+w0)1=sigmoid(wTx+w0)

在这里插入图片描述

sigmoid函数图像,y>0.5,选C_1

Logistic函数的一般形式

在这里插入图片描述

其中, μ \mu μ为位置参数, γ > 0 \gamma>0 γ>0为形状参数,关于 ( μ , 1 2 ) (\mu,\frac{1}{2}) (μ,21)对称

逻辑回归

逻辑回归的核心思想,在于不考虑数据分布,假定类似然密度的对数比为线性函数,那么:

l o g P ( x ∣ C 1 ) P ( x ∣ C 2 ) = w T x + w 0 0 \begin{align} log\ \frac{P(x|C_1)}{P(x|C_2)}=w^Tx+w_0^0 \end{align} log P(xC2)P(xC1)=wTx+w00

通过贝叶斯定理,将后验概率转换为似然比和先验比的乘积:

l o g P ( C 1 ∣ x ) P ( C 2 ∣ x ) = l o g P ( x ∣ C 1 ) P ( x ∣ C 2 ) + l o g P ( C 1 ) P ( C 2 ) \begin{align} log\frac{P(C_1|x)}{P(C_2|x)}=log\frac{P(x|C_1)}{P(x|C_2)}+log\frac{P(C_1)}{P(C_2)} \end{align} logP(C2x)P(C1x)=logP(xC2)P(xC1)+logP(C2)P(C1)

由公式 ( 2 ) ( 3 ) ( 4 ) (2)(3)(4) (2)(3)(4)得:

l o g i t ( P ( C 1 ∣ x ) ) = w T x + w 0 0 + l o g P ( C 1 ) P ( C 2 ) \begin{align}logit(P(C_1|x))=w^Tx+w^0_0+log\frac{P(C_1)}{P(C_2)} \end{align} logit(P(C1x))=wTx+w00+logP(C2)P(C1)

w 0 0 + l o g P ( C 1 ) P ( C 2 ) w^0_0+log\frac{P(C_1)}{P(C_2)} w00+logP(C2)P(C1)合并为新的偏置项,那么先验概率 P ( C k ) P(C_k) P(Ck)被吸收到了偏置项,模型仍保持线性:

l o g i t ( P ( C 1 ∣ x ) ) = w T x + w 0 0 logit(P(C_1|x))=w^Tx+w^0_0 logit(P(C1x))=wTx+w00

处理多类问题

我们推广二值分类至 K > 2 K>2 K>2的情形,假定:

l o g p ( x ∣ C i ) p ( x ∣ C k ) = w i T + w i 0 0 \begin{align} log\frac{p(x|C_i)}{p(x|C_k)}=w_i^T+w_{i0}^0 \end{align} logp(xCk)p(xCi)=wiT+wi00

进而:

p ( C i ∣ x ) p ( C k ∣ x ) = e w i T + w i 0 , i = 1 , 2 , ⋯ , K − 1 \begin{align} \frac{p(C_i|x)}{p(C_k|x)}=e^{w_i^T+w_{i0}},\quad i=1,2,\cdots,K-1 \end{align} p(Ckx)p(Cix)=ewiT+wi0,i=1,2,,K1

∑ i = 1 K p ( C i ∣ x ) p ( C K ∣ x ) = 1 p ( C k ∣ x ) = 1 + ∑ j = 1 K − 1 e w j x + w j 0 \begin{align} \sum_{i=1}^K\frac{p(C_i|x)}{p(C_K|x)}=\frac{1}{p(C_k|x)}= 1+\sum_{j=1}^{K-1}e^{w_jx+w_{j0}} \end{align} i=1Kp(CKx)p(Cix)=p(Ckx)1=1+j=1K1ewjx+wj0

于是:

p ( C k ∣ x ) = 1 1 + ∑ j = 1 K − 1 e w j x + w j 0 \begin{align} p(C_k|x)=\frac{1}{1+\sum_{j=1}^{K-1}e^{w_jx+w_{j0}}} \end{align} p(Ckx)=1+j=1K1ewjx+wj01

对于其它类别 i = 1 , ⋯ , K − 1 , i=1,\cdots,K-1, i=1,,K1,由公式 ( 3 ) (3) (3)得:

p ( C i ∣ x ) = e w i x + w i 0 1 + ∑ j = 1 K − 1 e w j x + w 0 \begin{align} p(C_i|x)=\frac{e^{w_ix+w_{i0}}}{1+\sum_{j=1}^{K-1}e^{w_jx+w_0}} \end{align} p(Cix)=1+j=1K1ewjx+w0ewix+wi0

将公式同一形式,对所有 i = 1 , ⋯ , K : i=1,\cdots,K: i=1,,K:

p ( C i ∣ x ) = e w i x + w i 0 ∑ j = 1 K e w j x + w j 0 , 其中 w K , w K 0 = 0 p(C_i|x)=\frac{e^{w_ix+w_{i0}}}{\sum_{j=1}^Ke^{w_jx+w_{j0}}},其中w_K,w_{K0}=0 p(Cix)=j=1Kewjx+wj0ewix+wi0,其中wK,wK0=0

softmax函数

y i = p ^ ( C i ∣ x ) = e w i x + w 0 ∑ e w j x + w j 0 y_i=\hat p(C_i|x)=\frac{e^{w_ix+w_0}}{\sum e^{w_jx+w_{j0}}} yi=p^(Cix)=ewjx+wj0ewix+w0

如果一个类C的判别式加权函数值明显大于其它类的加权和,那么 y i y_i yi接近于1,将数值限定在了 [ 0 , 1 ] [0,1] [0,1]之间,可以用概率表示。

逻辑回归与最大熵模型

逻辑回归和最大熵模型可以认为是同一类模型的不同表现形式。

在这里插入图片描述

逻辑回归的训练——梯度下降法

逻辑回归交叉熵损失函数:

E = − ∑ [ r l o g y + ( 1 − r ) l o g ( 1 − y ) ] E=-\sum [rlogy+(1-r)log(1-y)] E=[rlogy+(1r)log(1y)]

对E求偏导,乘以学习率,为更新方向:

△ w j = − η ∂ E ∂ w j = η ∑ ( r − y ) x j \triangle w_j=-\eta\frac{\partial E}{\partial w_j}=\eta\sum(r-y)x_j wj=ηwjE=η(ry)xj

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

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

相关文章

OpenCV 图像处理核心技术 (第二部分)

欢迎来到 OpenCV 图像处理的第二部分&#xff01;在第一部分&#xff0c;我们学习了如何加载、显示、保存图像以及访问像素等基础知识。现在&#xff0c;我们将深入探索如何利用 OpenCV 提供的强大工具来修改和分析图像。 图像处理是计算机视觉领域的基石。通过对图像进行各种…

【鸿蒙HarmonyOS】一文详解华为的服务卡片

7.服务卡片 1.什么是卡片 Form Kit&#xff08;卡片开发服务&#xff09;提供一种界面展示形式&#xff0c;可以将应用的重要信息或操作前置到服务卡片&#xff08;以下简称“卡片”&#xff09;&#xff0c;以达到服务直达、减少跳转层级的体验效果。卡片常用于嵌入到其他应…

探索目标检测:边界框与锚框的奥秘

笔者在2022年开始学习目标检测的时候&#xff0c;对各种框的概念那是相当混淆&#xff0c;比如&#xff1a; 中文名词&#xff1a;边界框、锚框、真实框、预测框等英文名词&#xff1a;BoundingBox、AnchorBox、Ground Truth等 同一个英文名词比如BoundingBox翻译成中文也有多个…

[原创](现代Delphi 12指南):[macOS 64bit App开发]: [1]如何使用原生NSAlert消息框 (runModal模式)

[作者] 常用网名: 猪头三 出生日期: 1981.XX.XX 企鹅交流: 643439947 个人网站: 80x86汇编小站 编程生涯: 2001年~至今[共24年] 职业生涯: 22年 开发语言: C/C++、80x86ASM、Object Pascal、Objective-C、C#、R、Python、PHP、Perl、 开发工具: Visual Studio、Delphi、XCode、…

LangChain的向量RAG与MCP在意图识别的主要区别

LangChain的向量RAG与MCP在意图识别实现上的区别主要体现在技术路径、流程设计以及应用场景三个方面&#xff1a; 1. 技术路径差异 LangChain向量RAG 语义相似度驱动&#xff1a;通过用户输入的原始查询与向量化知识库的语义匹配实现意图识别。例如&#xff0c;用户提问"…

[特殊字符] Spring Cloud 微服务配置统一管理:基于 Nacos 的最佳实践详解

在微服务架构中&#xff0c;配置文件众多、管理复杂是常见问题。本文将手把手演示如何将配置集中托管到 Nacos&#xff0c;并在 Spring Cloud Alibaba 项目中实现统一配置管理 自动刷新机制。 一、为什么要使用 Nacos 统一配置&#xff1f; 传统方式下&#xff0c;每个服务都…

2025平航杯—团队赛

2025平航杯团队赛 计算机取证 分析起早王的计算机检材&#xff0c;起早王的计算机插入过USB序列号是什么(格式&#xff1a;1)分析起早王的计算机检材&#xff0c;起早王的便签里有几条待干(格式&#xff1a;1)分析起早王的计算机检材&#xff0c;起早王的计算机默认浏览器是什…

JSON-RPC 2.0 规范中文版——无状态轻量级远程过程调用协议

前言 JSON-RPC是一种简单、轻量且无状态的远程过程调用&#xff08;RPC&#xff09;协议&#xff0c;它允许不同系统通过标准化的数据格式进行通信。自2010年由JSON-RPC工作组发布以来&#xff0c;已成为众多应用中实现远程交互的基础协议之一。本规范主要表达了JSON-RPC 2.0版…

微控制器编程 | ISP、IAP 与 ICP 的原理与比较

注&#xff1a;英文引文&#xff0c;机翻未校。 图片清晰度限于引文原状。 Introduction to Programming of Microcontroller: ISP, IAP and ICP 微控制器编程介绍&#xff1a;ISP、IAP 和 ICP Date: 30-11-2022 1. What is Microcontroller Programming 什么是微控制器编…

Allegro23.1新功能之新型via structure创建方法操作指导

Allegro23.1新功能之新型via structure创建方法操作指导 Allegro升级到了23.1后,支持创建新型via structure 通过直接定义参数来生成 具体操作如下 打开软件,选择 Allegro PCB Designer

IBM WebSphere Application Server 7.0/8.5.5证书过期问题处理

证书过期错误日志&#xff1a; [3/14/16 7:22:20:332 PDT] 0000007d WSX509TrustMa E CWPKI0312E: The certificate with subject DN CNMXSYSTEMS, OUctgNodeCell01, OUctgNode01, OIBM, CUS has an end date Mon Jan 11 11:17:18 PST 2016 which is no longer valid. [3/14/…

select,poll,epoll区别联系

selsect,poll,epoll区别联系 目录 一、区别 二、联系 select、poll 和 epoll 都是在 Linux 系统中用于实现 I/O 多路复用的机制&#xff0c;它们的主要目的是让程序能够同时监控多个文件描述符&#xff0c;以判断是否有事件发生&#xff0c;从而提高 I/O 操作的效率。 一、区…

curl和wget的使用介绍

目录 一、curl 和 wget 区别 二、wget的使用 2.1 参数说明 2.2 wget 使用示例 三、curl的使用 3.1 参数说明 3.2 curl使用示例 一、curl 和 wget 区别 wget 和 curl 都可以下载内容。它们都可以向互联网发送请求并返回请求项&#xff0c;可以是文件、图片或者是其他诸如…

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(12): ておき ます

日语学习-日语知识点小记-构建基础-JLPT-N4阶段&#xff08;12&#xff09;&#xff1a; ておき ます。 1、前言&#xff08;1&#xff09;情况说明&#xff08;2&#xff09;工程师的信仰 2、知识点&#xff08;1&#xff09;&#xff5e;ておき ます。&#xff08;2&#x…

高质量水火焰无损音效包

今天设计宝藏给大家分享的是Cinematic Elements: Fire & Water音频资源库包含大量高质量的火焰和水的声音效果。它具有非常强烈的个性特征和次世代的音效。火焰和水是两个令人印象深刻而 interessing 的元素。它们的表现形式从微小无害到巨大毁灭性都有。因此,它们的声音特…

毕业论文 | 传统特征点提取算法与匹配算法对比分析

传统特征点提取算法与匹配算法对比分析 一、特征点提取算法对比二、特征匹配算法对比三、核心算法原理与公式1. **Harris角点检测**2. **SIFT描述子生成**3. **ORB描述子**四、完整Matlab代码示例1. **Harris角点检测与匹配**2. **SIFT特征匹配(需VLFeat库)**3. **ORB特征匹配…

【网络原理】从零开始深入理解HTTP的报文格式(二)

本篇博客给大家带来的是网络HTTP协议的知识点, 续上篇文章,接着介绍HTTP的报文格式. &#x1f40e;文章专栏: JavaEE初阶 &#x1f680;若有问题 评论区见 ❤ 欢迎大家点赞 评论 收藏 分享 如果你不知道分享给谁,那就分享给薯条. 你们的支持是我不断创作的动力 . 王子,公主请阅…

Microsoft .NET Framework 3.5 离线安装包 下载

Microsoft. NET Framework 3.5 是支持生成和运行下一代应用程序和XML Web Services 的内部Windows 组件&#xff0c; 对 .NET Framework 2.0 和 3.0 中的许多新功能进行了更新和增补&#xff0c; 且附带了 .NET Framework 2.0 Service Pack 1 和 .NET Framework 3.0 Service…

Flask + ajax上传文件(三)--图片上传与OCR识别

本教程将详细介绍如何使用Flask框架构建一个图片上传与文字识别(OCR)的Web应用。我们将使用EasyOCR作为OCR引擎,实现一个支持中文和英文识别的完整应用。 环境准备 首先,确保你已经安装了Python 3.7+环境,然后安装必要的依赖库: pip install flask easyocr pillow werkz…

模型部署技巧(一)

模型部署技巧&#xff08;一&#xff09; 以下内容是参考CUDA与TensorRT模型部署内容第六章&#xff0c;主要针对图像的前/后处理中的trick。 参考&#xff1a; 1.部署分类器-int8-calibration 2. cudnn安装地址 3. 如何查找Tensor版本&#xff0c;与cuda 和 cudnn匹配 4. ti…