Linear classifiers——线性分类器

news2024/12/26 11:46:22

1.(Generalized) Linear classifiers——广义线性分类器

1.1 模型

        假如有两类数据,类别标签为y = 1和y = -1

        我们可以使用一个线性函数将其分类,二维形式

                                        

        通常x增加一个恒等于1的维度,可以将b合并进w,于是更一般的形式为

                                         

                

                x_{1}=1,w_{1}就相当于b

        输出分类标签

                                

1.2 几何意义

        对于,其法向量为(w_{1},w_{2},w_{3}\cdots ,w_{n})=W,单位化\frac{W}{\left \| W \right \|}

对于平面上的一个数据点的向量来说,可以被分解为如下

                                            

        其中表示向量x在决策函数上的投影向量,γ表示x到决策边界的距离,那么就表示x垂直决策边界的向量

                                        

        由点到面的距离公式可得,x到决策函数的距离

                        \gamma =\frac{h_{w}(x)}{||w||}

        变形得

                        h_{w}(x)=\gamma||w||

        决策函数的正负了反映数据点的类别,而且其大小也反映了数据点到决策边界距离

2.Fisher’s linear discriminant——Fisher’s 线性判别

1.Fisher’s 线性判别的原理

        Fisher’s 线性判别通过降维的方式进行两类别分离,将高纬度的数据在低纬度上进行投影。投影后希望每一种类别数据的投影点尽可能的接近,而不同类别的数据的类别中心之间的距离尽可能的大,也就是类内小,类间大”。

        例有两类数据“x”"o",二维的数据降维就是投影到一条直线上

               

        选取不同的投影轴,会产生不同的效果,很明显第一张图效果就比第二张图好,所以只需要找到一个满足需求的W向量就能实现分类任务。

2.Fisher’s 线性判别的推导

        假设投影到w向量上,同时限定|w|=1,拥有两个特征的数据点向量x投影到向量w上等于w^{\top }x(w相当于一个新的坐标轴,x通过投影在w轴上的获得的值)

证明:

x_{i}在w上的投影长度为y=|x_{i}|cos\theta

w^{\top }x_{i}=|w||x_{i}|cos\theta=z

         于是我们可以建立

                                                        

        通过1.可知,数据点会分布在w上的不同位置,通过设定一个阈值T_{0}完成分类

                                        

        假设我们有两个类别C_{1}C_{2},分别有N_{1}N_{2}个数据

        可以计算出两类数据的均值,通过均值的差距来表现类间的差距

                 {m}_1=\frac{1}{N_1}\sum_{i=1}^{N_1}\mathbf{x}_i=\frac{1}{N_1}\sum_{i=1}^{N_1}w^{\top }{x}_i,

                 {m}_2=\frac{1}{N_2}\sum_{i=1}^{N_2}\mathbf{x}_i=\frac{1}{N_2}\sum_{i=1}^{N_2}w^{\top }{x}_i

        同样可以计算出两类数据的方差,通过方差来表现类内的差距

                s_1^2=\frac{1}{N_1}\sum_{i=1}^{N_1}(w^{T}x_{i}-{m_1})(w^{T}x_{i}-{m_1})^T

                s_2^2=\frac{1}{N_2}\sum_{i=1}^{N_2}(w^{T}x_{i}-{m_2})(w^{T}x_{i}-{m_2})^T

        根据类内小,类间大”的思想,我们可以建立如下目标函数

                J(\mathbf{w})=\frac{(m_1-m_2)^2}{s_1^2+s_2^2},与类间均值成正比,类内方差成反比

  \begin{aligned} ({m_{1}}-{m_{2}})^{2}& =(\frac1{N_1}\sum_{i=1}^{N_1}w^Tx_i-\frac1{N_2}\sum_{i=1}^{N_2}w^Tx_i)^2 \\ &=(w^T(\frac{1}{N_1}\sum_{i=1}^{N_1}x_i-\frac{1}{N_2}\sum_{i=1}^{N_2}x_i))^2 \\ &=(w^T(\overline{x_1}-\overline{x_2}))^2 \\ &=w^T(\overline{x_1}-\overline{x_2})(\overline{x_1}-\overline{x_2})^Tw \end{aligned}

        \begin{aligned} s_{1}^2+s_{2}^2& =\frac{1}{N_{1}}\sum_{i=1}^{N_{1}}(w^{T}x_{i}-{m_{1}})(w^{T}x_{i}-{m_{1}})^{T}+\frac{1}{N_{2}}\sum_{i=1}^{N_{2}}(w^{T}x_{i}-{m_{2}})(w^{T}x_{i}-{m_{2}})^{T} \\ &=\frac{1}{N_1}\sum_{i=1}^{N_1}(w^Tx_i-\frac{1}{N_1}\sum_{i=1}^{N_1}w^Tx_i)(w^Tx_i-\frac{1}{N_1}\sum_{i=1}^{N_1}w^Tx_i)^T+\frac{1}{N_2} \\ &\sum_{i=1}^{N_{2}}(w^{T}x_{i}-\frac{1}{N_{2}}\sum_{i=1}^{N_{2}}w^{T}x_{i})(w^{T}x_{i}-\frac{1}{N_{2}}\sum_{i=1}^{N_{2}}w^{T}x_{i})^{T} \\ &=w^T\frac1{N_1}\sum_{i=1}^{N_1}[(x_i-\overline{x_1})(x_i-\overline{x_1})^T]w+w^T\frac1{N_2}\sum_{i=1}^{N_2}[(x_i-\overline{x_2})(x_i-\overline{x_2})^T]w \\ &=w^Ts_{1}^2w+w^Ts_{2}^2w \\ &=w^{T}(s_{1}^2+s_{2}^2)w \end{aligned}

S_{B}=(m_{1}-m_{2})(m_{1}-m_{2})^T,表示类间协方差矩阵

S_{w}=s_{1}^2+s_{2}^2,表示类内协方差矩阵

        可以得到

        ​​​​​​​        J(\mathbf{w})=\frac{\mathbf{w}^T\mathbf{S}_B\mathbf{w}}{\mathbf{w}^T\mathbf{S}_W\mathbf{w}}

        这个就是损失函数,目标是求最大值

       对w求偏导 

        ​​​​​​​

        ​​​​​​​   ​​​​​​​

        假设数据点有p维

最终我们可以得到

        ​​​​​​​        ​​​​​​​                ​​​​​​​

        ​​​​​​​        ​​​​​​​​​​​​​​

        

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

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

相关文章

centos离线安装mosquitto

1.x86_64架构centos7操作系统mosquitto包 本次真正要安装的机器是x86_64架构的AMD Ryzen 3 ,操作系统是centos7 先找一台能联网的centos7机器 添加 EPEL 软件库 yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm下载rpm包 …

C++使用UDP

C使用UDP 对C使用UDP做了简单封装&#xff0c;可直接运行 头文件udp.h #pragma once #include <Winsock.h> #pragma comment(lib,"WS2_32.lib")#define LOCAL_IP_ADDR INADDR_ANY //当前应用程序接收的IP地址 #define LOCAL_PORT 9527 …

PixPin带有截图/贴图/长截图/文字识别/标注的截图工具,很好用

官网地址&#xff1a;PixPin 截图/贴图/长截图/文字识别/标注 | PixPin 截图/贴图/长截图/文字识别/标注 确实挺好用的&#xff0c;推荐一下

UE4 实用材质图形

渐变圆 光晕效果&#xff1a; 十字光晕&#xff1a;

1840_emacs org-mode babel的语言支持

Grey 全部学习内容汇总&#xff1a; GitHub - GreyZhang/g_org: my learning trip for org-mode 1840_emacs org-mode babel的语言支持 主题由来介绍 Babel是org-mode中支持文学式编程以及可重现研究的一个核心模块&#xff0c;之前看过这个插件的优点是功能完善且支持的语…

本地运行大语言模型并可视化(Ollama+big-AGI方案)

目前有两种方案支持本地部署&#xff0c;两种方案都是基于llamacpp。其中 Ollama 目前只支持 Mac&#xff0c;LM Studio目前支持 Mac 和 Windows。 LM Studio&#xff1a;https://lmstudio.ai/ Ollama&#xff1a;https://ollama.ai/download 本文以 Ollama 为例 step1 首先下…

在datagridview列显示下拉操作

DataGridViewComboBoxExColumn 设定好类型 需要设置的地方是&#xff1a; 绑定数据的操作&#xff1a; 因为此处绑定数据实际为数据 参数 显示的操作&#xff0c;不影响datasource的数据绑定 下一步 数据绑定&#xff1a; DGVCOrderZhuangtai.ValueType typeof(EOrderZhuan…

条件概率密度

设二维随机变量的概率密度为&#xff0c;关于的边缘概率密度为。若对于固定的&#xff0c;有&#xff0c;则称为在条件下的的条件概率密度&#xff0c;记为&#xff1a;

产业元宇宙推动内容供应链:元宇宙产业对企业商业性的影响

随着科技的迅速发展和创新&#xff0c;元宇宙产业已经成为全球关注的热点话题。元宇宙是一种虚拟的数字世界&#xff0c;通过各种技术和设备&#xff0c;人们可以在其中创建、体验和互动&#xff0c;为企业提供了前所未有的商业机会。本文将探讨产业元宇宙如何推动内容供应链&a…

函数和函数表达式

我们先来看三个式子 1️⃣ yf(x) 2️⃣ f(x)2x1 3️⃣ y2x1 先来明确一下概念&#xff0c;这三个式子的&#x1f7f0;两边总共有3种表达形式 y是函数最终输出的值f(x) 是整个函数运算过程2x1是具体的表达式 那么这三个式子分别是什么意思呢&#xff1f; yf(x)是对函数关系的…

【leetcode】链表总结

说明&#xff1a;本文内容来自于代码随想录 链表基本操作 https://leetcode.cn/problems/design-linked-list/ 删除节点 https://leetcode.cn/problems/remove-linked-list-elements/description/&#xff0c;删除节点&#xff0c;虚拟头节点。定义两个节点&#xff0c;分别…

服务器数据恢复—raid5热备盘未激活崩溃导致上层oracle数据丢失的数据恢复案例

服务器数据恢复环境&#xff1a; 某品牌X系列服务器&#xff0c;4块SAS硬盘组建了一组RAID5阵列&#xff0c;还有1块磁盘作为热备盘使用。服务器上层安装的linux操作系统&#xff0c;操作系统上部署了一个基于oracle数据库的OA&#xff08;oracle已经不再为该OA系统提供后续服务…

域名、DNS 和 IP是什么?网站搭建的必备知识,一文搞定

在正式进行WordPress站点搭建前&#xff0c;有一些最基础的知识是必备的&#xff0c;这篇文章会详细介绍给大家。 一、域名、DNS和IP的关系 域名、DNS和IP是互联网上的三个重要的概念&#xff0c;它们之间有着密切的联系&#xff0c;也影响着我们访问网站的方式和效果。接下来…

GPM降水数据下载-Linux系统上使用wget

Linux 上如何下载GPM降水数据 图片来自&#xff1a;https://disc.gsfc.nasa.gov/datasets/GPM_3IMERGHHL_06/summary?keywordsGPM 这里以GPM30min降水数据为例&#xff0c; GPM下载链接 如果进不去&#xff0c;可能需要在这个网址上先注册个账户&#xff0c;这里不做介绍。 …

【C语言】printf()函数详解,手把手教你,保姆级!!!

目录 基本用法 printf()函数--占位符 占位符大全 printf()函数--限定宽度 printf()函数--正负--限定小数 printf()函数--输出部分字符串 总结 【C语言】printf()函数详解&#xff0c;手把手教你&#xff0c;保姆级&#xff01;&#xff01;&#xff01; 基本用法 printf()…

物联网终端设备众多,为何遥测终端机备受瞩目?

遥测终端机是一种用于数据采集、远程传输、数据存储与处理的综合体设备&#xff0c;已逐渐成为现代智能物联领域的焦点。遥测终端机集成了多种传感器与通信模块&#xff0c;能够实时采集各种环境参数&#xff0c;如温度、湿度、压力、流量等&#xff0c;同时支持无线通信&#…

c语言->浅学结构体

系列文章目录 文章目录 前言 ✅作者简介&#xff1a;大家好&#xff0c;我是橘橙黄又青&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;橘橙黄又青_C语言,函数,指针-CSDN博客 目的&#xff1a;学习结构体基础内容&am…

在qemu平台使用gdb调试程序

1、使用gdb在qemu上调试程序 1.1、第一步&#xff1a;在qemu上运行程序并开启gdb server qemu-system-riscv64 -nographic -machine virt -m 128M -smp 1 -kernel …/bin/test.elf -s -S 1.2、第二步&#xff1a;使用gdb客户端连接gdb server -x&#xff1a;指定gdb的配置文件…

QEMU源码全解析 —— virtio(2)

接前一篇文章&#xff1a; 本文内容参考&#xff1a; 《趣谈Linux操作系统》 —— 刘超&#xff0c;极客时间 《QEMU/KVM》源码解析与应用 —— 李强&#xff0c;机械工业出版社 特此致谢&#xff01; 上一回对于virtio进行了简介&#xff0c;并说明了其基本原理以及框架。对…

大创项目推荐 深度学习 python opencv 实现人脸年龄性别识别

文章目录 0 前言1 项目课题介绍2 关键技术2.1 卷积神经网络2.2 卷积层2.3 池化层2.4 激活函数&#xff1a;2.5 全连接层 3 使用tensorflow中keras模块实现卷积神经网络4 Keras介绍4.1 Keras深度学习模型4.2 Keras中重要的预定义对象4.3 Keras的网络层构造 5 数据集处理训练5.1 …