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

机器学习 | 线性判别分析(Linear Discriminant Analysis)

1 机器学习中的建模

1.1 描述性建模

以方便的形式给出数据的主要特征,实质上是对数据的概括,以便在大量的或有噪声的数据中仍能观察到重要特征。重在认识数据的主要概貌,理解数据的重要特征。

  • Task:聚类分析,数据降维,流形学习,密度估计,异常分析,可视化

1.2 预测性建模

以函数的形式给出感兴趣量(预测量)与可观测量之间的数量关系,实质上是根据观测到的对象特征来预测对象的其他特征。重在把握协变关系,据此进行预测。

  • Task:分类(类别预测),回归(数值预测),评分(排名预测)
1.2.1 预测性建模方法

概率方法:生成式建模方法,借助训练数据对同类数据的生成机制(概率分布)进行估计,基于概率关系对变量取值进行概率预测。把模式视为随机变量的抽样,利用统计决策理论(贝叶斯统计)成熟的判决准则与方法,对模式样本进行分类

如:贝叶斯分类器、贝叶斯网络(概率图模型)、高斯混合模型、隐马尔可夫模型、受限玻尔兹曼机、生成对抗网络,变分自动编码器

代数方法:判别式建模方法,借助训练数据对观测量和预测量的函数关系进行直接建模,基于函数关系对变量取值进行数值预测。利用向量空间的直观概念,使用代数方程方法,对模式进行分类

如:KNN,感知机,判别分析,决策树,随机森林,支持向量机、逻辑回归,神经网络

1.3 判别函数

1.3.1 线性可分概念与线性分类算法

一个分类问题是否属于线性可分,取决于是否有可能找到一个点、直线、平面或超平面来分离开两个相邻的类别。如果每个类别样本的分布范围本身是全连通的单一凸集,且互不重叠,则这两个类别一定是线性可分的,如图所示。线性分类算法主要有线性判别函数、Fisher判别分析、单层感知器、逻辑回归等

image.png

1.3.2 判别函数的定义

直接用来对模式进行分类的决策函数,若分属于ω1,ω2两类的n维模式在空间中的分布区域,可以用一代数方程d(X) =0决定的超平面作为分隔面,两类样本分布在分隔面的两侧,那么就称d(X)为判别函数(discriminant function)或称决策函数(decisionfunction)。代数方程d(X) =0表示的是n维空间的(n-1)维判决面 {或超平面(hyperplane)或超曲面(hypersurface) ,视d(x)形式而定}。

Note:这里的模式或许可以直接理解成数学里的自变量。

为了清晰地了解d(x)的含义,应该画出判别函数值d(x)这一轴,在没有画出的时候,就在自变量(模式)空间中画出d(x)取正负值的区域——这就是所谓判别面的正侧、负侧。

image.png|375

1.3.3 确定判别函数的两个因素
  1. 判决函数d(X)的函数形式:它可以是特征的线性非线性的函数。
  2. 判决函数d(X)的系数:用所给的模式样本,通过优化准则确定。

主要关注线性判别函数,一个一般的n元线性函数应该具有什么的性质才适合做两分类和多分类的判别函数

2 线性判别函数

2.1 两类问题

在两类别情况下,判别函数 g (x) 具有以下性质:

image.png|475

这是二维情况下判别由判别边界分类。情况如图:

image.png
在n维情况下:
image.png|475

2.2 区别分类与回归两个概念

回顾:一元/多元线性回归(Multivariate linear regression)

image.png|475

w参数学习/训练出来之后,所确定的g(x)模型也叫预测模型。

若用g(x)预测的是离散值,此类学习任务称为“分类(Classification)” ;若用g(x)预测的是连续值,此类学习任务称为“回归(regression)”。由于这里g(x)是线性的,故称为多元线性回归

离散值预测->分类, 连续值预测->回归

2.3 多类问题

对于多类问题,模式有 ω1 ,ω2 , … , ωm 个类别。可分三种情况讨论:

2.3.1 ω i / ω ˉ i \omega_i / \bar{\omega}_i ωi/ωˉi多类情况1 (是非两分法)

每一模式类与其他模式类间可用单个判别平面把一个类分开。这种情况,M类可有M个判别函数,且具有以下性质:
image.png|525
理解:
每一类别可用单个判别边界与其他类别分开。若一模式X属于ω1,则由图可清楚看出:这时g1(x) >0而g2(x) <0 , g3(x) <0 。 ω1 类与其他类之间的边界由g1(x)=0确定。模式属于哪一类,对应的那一类的判别函数值就大于0。

image.png|475
特殊情况:
image.png|475

2.3.2 ω i / ω j \omega_i / {\omega}_j ωi/ωj多类情况2(成对两分法)

每两个模式类间可用判别平面分开(即模式类成对可分)。

image.png|525

2.3.3 多类情况3: ω i / ω j \omega_i / {\omega}_j ωi/ωj 成对两分法(无IR区)

image.png|500

多类情况3下的一个示例:不存在IR区域,IR不确定区没有了,所以这种是最好的情况。

image.png|375

2.4 线性判别函数的性质

  1. 模式空间与加权空间:由于假设权向量W与模式向量X的内积为零(g(x)=0),故W与分界面H正交

image.png

相关文章:

机器学习 | 线性判别分析(Linear Discriminant Analysis)

1 机器学习中的建模 1.1 描述性建模 以方便的形式给出数据的主要特征&#xff0c;实质上是对数据的概括&#xff0c;以便在大量的或有噪声的数据中仍能观察到重要特征。重在认识数据的主要概貌&#xff0c;理解数据的重要特征。 Task&#xff1a;聚类分析&#xff0c;数据降…...

TypeScript-数组、函数类型

1.数组类型 1.1类型 方括号 let arry:number[][5,2,0,1,3,1,4] 1.2 数组泛型 let arry2:Array<number>[5,2,0,1,3,1,4] 1.3接口类型 interface makeArryRule{[index:number]:number }let arry3:makeArryRule[5,2,0,1,3,1,4] 1.4伪数组 说明&#xff1a; argument…...

Python深度学习034:cuda的环境如何配置

文章目录 1.安装nvidia cuda驱动CMD中看一下cuda版本:下载并安装cuda驱动2.创建虚拟环境并安装pytorch的torch_cuda3.测试附录1.安装nvidia cuda驱动 CMD中看一下cuda版本: 注意: 红框的cuda版本,是你的显卡能装的最高的cuda版本,所以可以选择低于它的版本。比如我的是11…...

【论文笔记】Text2QR

论文&#xff1a;Text2QR: Harmonizing Aesthetic Customization and Scanning Robustness for Text-Guided QR Code Generation Abstract 二维码通常包含很多信息但看起来并不美观。stable diffusion的出现让平衡扫描鲁棒性和美观变为可能。 为了保证美观二维码的稳定生成&a…...

【ReadPapers】A Survey of Large Language Models

LLM-Survey的llm能力和评估部分内容学习笔记——思维导图 思维导图 参考资料 A Survey of Large Language Models论文的github仓库...

站群CMS系统

站群CMS系统是一种用于批量建立和管理网站的内容管理系统&#xff0c;它能够帮助用户快速创建大量的网站&#xff0c;并实现对这些网站的集中管理。以下是三个在使用广泛的站群CMS系统&#xff0c;它们各具特色&#xff0c;可以满足不同用户的需求。 1. Z-BlogPHP Z-BlogPHP是…...

landsat8数据产品说明

1、下载数据用户手册 手册下载网址&#xff0c;搜索landsat science关键词&#xff0c;并点击到官网下载。 2、用户手册目录 3、landsat8数据产品说明 具体说明在手册的第四章&#xff0c;4.1.4数据产品章节&#xff0c;具体描述如下&#xff1a; 英文意思&#xff1a; L8 的…...

Golang 内存管理和垃圾回收底层原理(二)

一、这篇文章我们来聊聊Golang内存管理和垃圾回收&#xff0c;主要注重基本底层原理讲解&#xff0c;进一步实战待后续文章 垃圾回收&#xff0c;无论是Java 还是 Golang&#xff0c;基本的逻辑都是基于 标记-清理 的&#xff0c; 标记是指标记可能需要回收的对象&#xff0c…...

OpenHarmony:全流程讲解如何编写ADC平台驱动以及应用程序

ADC&#xff08;Analog to Digital Converter&#xff09;&#xff0c;即模拟-数字转换器&#xff0c;可将模拟信号转换成对应的数字信号&#xff0c;便于存储与计算等操作。除电源线和地线之外&#xff0c;ADC只需要1根线与被测量的设备进行连接。 一、案例简介 该程序是基于…...

计算机学生求职简历的一些想法

面试真的是一件非常难的事情&#xff0c;因为在短短的半小时到一个小时&#xff0c;来判断一个同学行不行&#xff0c;其实是很不全面的。作为一个求职的同学应该怎么办呢&#xff1f;求职的同学可以提前做一些准备&#xff0c;其中比较重要的要数简历的编写。 简历的作用 简…...

网工内推 | 售前专场,需熟悉云计算技术,上市公司,提成高

01 神州数码 招聘岗位&#xff1a;售前工程师 职责描述&#xff1a; 1.负责所在区域华为IT产品线&#xff08;服务器、存储、云、虚拟化&#xff09;的售前技术支持工作&#xff0c;包括客户交流、方案编写、配置报价、投标支持、测试等&#xff1b; 2.与厂商相关人员建立和保…...

excel匹配替换脱敏身份证等数据

假如excel sheet1中有脱敏的身份证号码和姓名&#xff0c;如&#xff1a; sheet2中有未脱敏的数据数据 做法如下&#xff1a; 1、在sheet2的C列用公式 LEFT(A2,6)&REPT("*",8)&RIGHT(A2,4) 做出脱敏数据&#xff0c;用来与sheet1的脱敏数据匹配 2、在sheet…...

[技术笔记] Flash选型之基础知识芯片分类

1、按照接口分类 分为 Serial串口Flash 和 Parallel并口Flash&#xff1b; 市场大量使用Serial Flash&#xff1b;价格便宜&#xff1b;已满足系统对数据读写速度的要求&#xff1b; Serial Flash已经可以代表 NOR Flash&#xff1b; 小知识&#xff1a; 1&#xff09;在…...

Jenkins常用插件安装及全局配置

Jenkins常用插件安装及全局配置 前言 ​ Jenkins是一个流行的持续集成工具&#xff0c;通过安装适用的插件&#xff0c;可以扩展Jenkins的功能&#xff0c;并与其他工具和系统集成。本文将介绍一些常用的Jenkins插件以及安装和配置的步骤。通过安装和配置这些常用插件&#xf…...

C++初学者:如何优雅地写程序

我喜欢C语言的功能强大&#xff0c;简洁&#xff0c;我也喜欢C#的语法简单&#xff0c;清晰&#xff0c;写起来又方便好用。 一、为什么不用C语言写程序。 C语言用来做题目&#xff0c;考试研究是很方便的&#xff0c;但是用来写程序做软件&#xff0c;你就会发现&#xff0c…...

图论- 最小生成树

一、最小生成树-prim算法 1.1 最小生成树概念 一幅图可以有很多不同的生成树&#xff0c;比如下面这幅图&#xff0c;红色的边就组成了两棵不同的生成树&#xff1a; 对于加权图&#xff0c;每条边都有权重&#xff08;用最小生成树算法的现实场景中&#xff0c;图的边权重…...

LeetCode刷题记(一):1~30题

1. 两数之和 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是&#xff0c;数组中同一个元素在答案里不能重复出现。 你可以…...

芒果YOLOv5改进89:卷积SPConv篇,即插即用,去除特征图中的冗余,FLOPs 和参数急剧下降,提升小目标检测

芒果专栏 基于 SPConv 的改进结构,改进源码教程 | 详情如下🥇 👉1. SPConv 结构、👉2. CfSPConv 结构 💡本博客 改进源代码改进 适用于 YOLOv5 按步骤操作运行改进后的代码即可 即插即用 结构。博客 包括改进所需的 核心结构代码 文件 YOLOv5改进专栏完整目录链接:…...

Linux:详解TCP报头类型

文章目录 温习序号的意义序号和确认序号报文的类型 TCP报头类型详解ACK: 确认号是否有效SYN: 请求建立连接; 我们把携带SYN标识的称为同步报文段FIN: 通知对方, 本端要关闭了PSH: 提示接收端应用程序立刻从TCP缓冲区把数据读走RST: 对方要求重新建立连接; 我们把携带RST标识的称…...

【Leetcode】top 100 二分查找

35 搜索插入位置 给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(log n) 的算法。 基础写法&#xff01;&#xff01;&#xff01;牢记…...

stm32G473的flash模式是单bank还是双bank?

今天突然有人stm32G473的flash模式是单bank还是双bank&#xff1f;由于时间太久&#xff0c;我真忘记了。搜搜发现&#xff0c;还真有人和我一样。见下面的链接&#xff1a;https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...

ES6从入门到精通:前言

ES6简介 ES6&#xff08;ECMAScript 2015&#xff09;是JavaScript语言的重大更新&#xff0c;引入了许多新特性&#xff0c;包括语法糖、新数据类型、模块化支持等&#xff0c;显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var&#xf…...

椭圆曲线密码学(ECC)

一、ECC算法概述 椭圆曲线密码学&#xff08;Elliptic Curve Cryptography&#xff09;是基于椭圆曲线数学理论的公钥密码系统&#xff0c;由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA&#xff0c;ECC在相同安全强度下密钥更短&#xff08;256位ECC ≈ 3072位RSA…...

【Linux】C语言执行shell指令

在C语言中执行Shell指令 在C语言中&#xff0c;有几种方法可以执行Shell指令&#xff1a; 1. 使用system()函数 这是最简单的方法&#xff0c;包含在stdlib.h头文件中&#xff1a; #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...

visual studio 2022更改主题为深色

visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中&#xff0c;选择 环境 -> 常规 &#xff0c;将其中的颜色主题改成深色 点击确定&#xff0c;更改完成...

Python爬虫(二):爬虫完整流程

爬虫完整流程详解&#xff08;7大核心步骤实战技巧&#xff09; 一、爬虫完整工作流程 以下是爬虫开发的完整流程&#xff0c;我将结合具体技术点和实战经验展开说明&#xff1a; 1. 目标分析与前期准备 网站技术分析&#xff1a; 使用浏览器开发者工具&#xff08;F12&…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案

随着新能源汽车的快速普及&#xff0c;充电桩作为核心配套设施&#xff0c;其安全性与可靠性备受关注。然而&#xff0c;在高温、高负荷运行环境下&#xff0c;充电桩的散热问题与消防安全隐患日益凸显&#xff0c;成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...

学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2

每日一言 今天的每一份坚持&#xff0c;都是在为未来积攒底气。 案例&#xff1a;OLED显示一个A 这边观察到一个点&#xff0c;怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 &#xff1a; 如果代码里信号切换太快&#xff08;比如 SDA 刚变&#xff0c;SCL 立刻变&#…...

云原生玩法三问:构建自定义开发环境

云原生玩法三问&#xff1a;构建自定义开发环境 引言 临时运维一个古董项目&#xff0c;无文档&#xff0c;无环境&#xff0c;无交接人&#xff0c;俗称三无。 运行设备的环境老&#xff0c;本地环境版本高&#xff0c;ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...

JAVA后端开发——多租户

数据隔离是多租户系统中的核心概念&#xff0c;确保一个租户&#xff08;在这个系统中可能是一个公司或一个独立的客户&#xff09;的数据对其他租户是不可见的。在 RuoYi 框架&#xff08;您当前项目所使用的基础框架&#xff09;中&#xff0c;这通常是通过在数据表中增加一个…...