【机器学习3】有监督学习经典分类算法

1 支持向量机

在现实世界的机器学习领域, SVM涵盖了各个方面的知识, 也是面试题目中常见的基础模型。
在这里插入图片描述
SVM的分类结果仅依赖于支持向量,对于任意线性可分的两组点,它
们在SVM分类的超平面上的投影都是线性不可分的。

2逻辑回归

2.1逻辑回归与线性回归

逻辑回归处理的是分类问题, 线性回归处理的是回归问题, 这是两者的最本质的区别。 逻辑回归中给定自变量和超参数后, 得到因变量的期望, 并基于此期望来处理预测分类问题。 逻辑回归与线性回归最大的区别, 即逻辑回归中的因变量为离散的,而线性回归中的因变量是连续的。 并且在自变量x与超参数θ确定的情况下, 逻辑回归可以看作广义线性模型(Generalized Linear Models)在因变量y服从二元分布时的一个特殊情况; 而使用最小二乘法求解线性回归时, 我们认为因变量y服从正态分布。
逻辑回归和线性回归的相同之处二者都使用了极大似然估计来对训练样本进行建模,另外, 二者在求解超参数的过程中, 都可以使用梯度下降的方法。

2.2 逻辑回归处理多标签的分类

如果一个样本只对应于一个标签, 我们可以假设每个样本属于不同标签的概率服从于几何分布, 使用多项逻辑回归(Softmax Regression)来进行分类:
在这里插入图片描述
一般来说, 多项逻辑回归具有参数冗余的特点, 即同时加减一个向量后预测结果不变。 特别地, 当类别数为2时:

在这里插入图片描述
利用参数冗余的特点, 我们将所有参数减去θ1, 式子变为:

在这里插入图片描述
整理后的式子与逻辑回归一致。 因此, 多项逻辑回归实际上是二分类逻辑回归在多标签分类下的一种拓展。
当存在样本可能属于多个标签的情况时, 我们可以训练k个二分类的逻辑回归分类器。 第i个分类器用以区分每个样本是否可以归为第i类, 训练该分类器时, 需要把标签重新整理为“第i类标签”与“非第i类标签”两类。

3决策树

决策树的生成包含了特征选择、 树的构造、 树的剪枝三个过程。将决策树应用集成学习的思想可以得到随机森林、 梯度提升决策树等模型。

3.1几种常用的决策树对比

常用的决策树算法有ID3、 C4.5、 CART

3.1.1 ID3最大信息增益

对于样本集合D, 类别数为K, 数据集D的经验熵表示为:
在这里插入图片描述
其中Ck是样本集合D中属于第k类的样本子集, |Ck|表示该子集的元素个数, |D|表示样本集合的元素个数。
计算某个特征A对于数据集D的经验条件熵H(D|A)为:

在这里插入图片描述
Di表示D中特征A取第i个值的样本子集, Dik表示Di中属于第k类的样本子集。
信息增益g(D,A)可以表示为二者之差, 可得:
在这里插入图片描述

3.1.2 C4.5最大信息增益比

特征A对于数据集D的信息增益比定义为:
在这里插入图片描述在这里插入图片描述

3.1.3 CART最大基尼指数( Gini)

Gini描述的是数据的纯度, 与信息熵含义类似。

在这里插入图片描述
CART在每一次迭代中选择基尼指数最小的特征及其对应的切分点进行分类。但与ID3、 C4.5不同的是, CART是一颗二叉树, 采用二元切割法, 每一步将数据按特征A的取值切成两份, 分别进入左右子树。 特征A的Gini指数定义为:
在这里插入图片描述
通过对比三种决策树的构造准则, 我们不难总结三者之间的差异。

区别ID3C4.5CART
评价标准信息增益信息增益比基尼指数
样本类型离散型变量连续型变量连续型变量
应用角度分类分类分类/回归
缺失值对样本特征缺失值敏感对缺失值进行不同方式的处理对缺失值进行不同方式的处理
实现在每个结点上产生出多叉分支,每个特征在层级之间不会复用在每个结点上产生出多叉分支,每个特征在层级之间不会复用每个结点只会产生两个分支,且每个特征可以被重复使用
优化过程通过剪枝来权衡树的准确性与泛化能力通过剪枝来权衡树的准确性与泛化能力直接利用全部数据发现所有可能的树结构进行对比

3.2不同剪枝方法的区别和联系

一棵完全生长的决策树会面临一个很严重的问题, 即过拟合。 需要对决策树进行剪枝, 剪掉一些枝叶, 提升模型的泛化能力。决策树的剪枝通常有两种方法, 预剪枝(Pre-Pruning) 和后剪枝(PostPruning)

3.2.1 预剪枝

预剪枝, 即在生成决策树的过程中提前停止树的增长。
预剪枝的核心思想是在树中结点进行扩展之前, 先计算当前的划分是否能带来模型泛化能力的提升, 如果不能, 则不再继续生长子树。 预剪枝对于何时停止决策树的生长有以下几种方法。
在这里插入图片描述

3.2.2后剪枝

后剪枝, 是在已生成的过拟合决策树上进行剪枝, 得到简化版的剪枝决策树。
后剪枝的核心思想是让算法生成一棵完全生长的决策树, 然后从最底层向上计算是否剪枝。剪枝过程将子树删除, 用一个叶子结点替代, 该结点的类别同样按照多数投票的原则进行判断。
常见的后剪枝方法包括错误率降低剪枝(Reduced Error Pruning, REP) 、 悲
观剪枝(Pessimistic Error Pruning, PEP) 、 代价复杂度剪枝(Cost Complexity Pruning, CCP) 、 最小误差剪枝(Minimum Error Pruning, MEP) 、 CVP(Critical Value Pruning) 、 OPP(Optimal Pruning) 等方法

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

#龙迅视频转换IC LT7911D是一款高性能Type-C/DP/EDP 转MIPI®DSI/CSI/LVDS 芯片,适用于VR/显示应用。

1.说明 应用功能:LT7911D适用于DP1.2转MIPIDSI/MIPICSI/LVDS,EDP转MIPIDSI/MIPICSI/LVDS,TYPE-C转MIPIDSI/MIPICSI/LVDS应用方案 分辨率:单PORT高达4K30HZ,双PORT高达4K 60HZ 工作温度范围:−40C to 85C 产…

Linux--进程间通信

1.进程间通信 进程间通信的背景: 进程之间是相互独立的,进程由内核数据结构和它所对应的代码和数据,通信成本比较高。 进程间通信目的: 数据传输:一个进程需要将它的数据发送给另一个进程 资源共享:多个进程…

AI绘画 | stable-diffusion-web-ui的基本操作

前言 我们下载安装完成stable-diffusion-web-ui以后,下载对应风格的模型,就可以开始我们的绘画操作了。进行Ai绘画操作前,我们最好先弄清楚web ui界面上的参数按钮的含义。这样我们就能更轻松的绘画出我们想要stable-diffusion-web-ui创作出…

【C/PTA】循环结构进阶练习(二)

本文结合PTA专项练习带领读者掌握循环结构&#xff0c;刷题为主注释为辅&#xff0c;在代码中理解思路&#xff0c;其它不做过多叙述。 7-1 二分法求多项式单根 二分法求函数根的原理为&#xff1a;如果连续函数f(x)在区间[a,b]的两个端点取值异号&#xff0c;即f(a)f(b)<0…

AR眼镜硬件解决方案_AR/VR智能眼镜安卓主板芯片方案介绍

随着近两年来增强现实(AR)技术的逐渐成熟&#xff0c;采用MT8788芯片解决方案的AR眼镜已经问世。众所周知&#xff0c;AR技术可以帮助开发者打造一个既强大而又实用的混合现实世界&#xff0c;将虚拟与真实世界相结合。 据了解&#xff0c;MT8788芯片采用了多芯片分布式处理系统…

卡牌游戏类型定制开发微信卡牌小程序游戏

卡牌类型的游戏开发具有一些独特的特点和挑战&#xff0c;以下是一些主要的特点&#xff1a; 卡牌设计和平衡&#xff1a;卡牌游戏的核心是卡牌设计和平衡。开发团队需要设计各种卡牌&#xff0c;确保它们在游戏中相互平衡&#xff0c;以便提供有趣的游戏体验。卡牌的特性、效…

C语言,数据结构指针,结构构体操作符 •,->,*的区别,看这篇就够了

在朋友们学习指针和数据结构这一章的时候&#xff0c;对各种操作符云里雾里。当你看到这么文章之后你就会明白了。 一 • 和 ->运算符 • 运算符&#xff1a;是结构变量访问结构体成员时用的操作符 -> 运算符&#xff1a;这是结构体指针访问结构体成员时调用的运算符。 …

04-react基础知识-路由

一、react路由环境安装 使用指令&#xff1a;npm i --save react-router-dom type/react-router-dom进行react路由环境安装 二、引入路由 在main.jsx文件中引入该语句&#xff1a; import { createBrowserRouter, RouterProvider } from react-router-dom 定义一个变量rou…

借助 DevChat AI 之力,成就我之全栈梦想

何为 DevChat &#xff1f; DevChat 是集好多种 AI 大模型的智能编程工具,可以大大增加我们上班摸鱼的时间。 整合了如 ChatGPT、Codex等热门 AI 模型支持自然语言编程、代码生成与编写、代码补全等功能因其集成热门 AI 智能&#xff0c;相当于站在了巨人的肩膀上&#xff0c…

节省服务器资源、实现双向数据传输——深度解析WebSocket协议

&#x1f3ac; 江城开朗的豌豆&#xff1a;个人主页 &#x1f525; 个人专栏 :《 VUE 》 《 javaScript 》 &#x1f4dd; 个人网站 :《 江城开朗的豌豆&#x1fadb; 》 ⛺️ 生活的理想&#xff0c;就是为了理想的生活 ! 目录 ⭐ 专栏简介 &#x1f4d8; 文章引言 一、W…

MinIO 分布式文件(对象)存储

简介 MinIO是高性能、可扩展、云原生支持、操作简单、开源的分布式对象存储产品。 在中国&#xff1a;阿里巴巴、腾讯、百度、中国联通、华为、中国移动等等9000多家企业也都在使用MinIO产品 官网地址&#xff1a;http://www.minio.org.cn/ 下载 官网下载(8.4.3版本)&#x…

简述SVM

概述 SVM&#xff0c;即支持向量机&#xff08;Support Vector Machine&#xff09;&#xff0c;是一种常见的监督学习算法&#xff0c;用于分类和回归问题。它是一种基于统计学习理论和结构风险最小化原则的机器学习方法。 SVM的主要思想是在特征空间中找到一个最优的超平面…

网络的地址簿:Linux DNS服务的全面指南

1 dns 1.1 dns&#xff08;域名解析服务&#xff09;介绍 当访问 www.baidu.com 首先查询/etc/hosts&#xff0c;如果没有再去查询/etc/resolv.conf&#xff0c;还是没有就去查询域名服务器 关于客户端: /etc/resolv.conf ##dns指向文件 nameserver 172.25.254.20测试&…

C语言实现将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5

完整代码&#xff1a; // 将一个正整数分解质因数。例如&#xff1a;输入90,打印出902*3*3*5 #include<stdio.h> //定义全局变量&#xff0c;使i可以作用于函数的递归调用中 int i2;void func(int num){//递归结束条件&#xff0c;当这个数除以最后一个它的因子时&#…

Halcon如何使用SaperaLT库连接dalsa相机

halcon安装好的时候&#xff0c;没有带SaperaLT的采集库&#xff0c;需要额外在Halcon官网下载此库。 以下是halcon官网下载此库的链接。官网需要注册才可以下载。 https://www.mvtec.com/downloads/interfaces?tx_mvtecproduct_extensiondownloadlist%5Bfilter%5D%5B0%5Dma…

Linux认识协议

目录 TCP协议通信流程TCP三次握手数据传输过程四次挥手过程TCP 和 UDP 对比 认识协议协议的概念结构化数据的传输序列化和反序列化 网络版计算器服务端代码面向字节流 协议定制客户端代码编写代码测试守护进程守护进程创建 关于协议制定中使用现成方法实现 TCP协议通信流程 下…

【JVM】JDBC案例打破双亲委派机制

&#x1f40c;个人主页&#xff1a; &#x1f40c; 叶落闲庭 &#x1f4a8;我的专栏&#xff1a;&#x1f4a8; c语言 数据结构 javaEE 操作系统 Redis 石可破也&#xff0c;而不可夺坚&#xff1b;丹可磨也&#xff0c;而不可夺赤。 JVM 打破双亲委派机制&#xff08;JDBC案例…

开发直播带货系统源码的技术要点

直播带货系统是一个复杂的技术项目&#xff0c;通常包括前端应用、后端服务器、数据库、支付集成、实时通信以及直播流处理等多个关键组件。以下是开发直播带货系统源码的技术要点&#xff1a; 实时视频流处理 一个成功的直播带货系统需要支持实时视频流的传输和处理。可以使…

【云原生】使用nginx反向代理后台多服务器

背景 随着业务发展&#xff0c; 用户访问量激增&#xff0c;单台服务器已经无法满足现有的访问压力&#xff0c;研究后需要将后台服务从原来的单台升级为多台服务器&#xff0c;那么原来的访问方式无法满足&#xff0c;所以引入nginx来代理多台服务器&#xff0c;统一请求入口…

TCP编程及基础知识

一、端口号 为了区分一台主机接收到的数据包应该转交给哪个进程来进行处理&#xff0c;使用端口号来区分TCP端口号与UDP端口号独立端口用两个字节来表示 2byte&#xff08;65535个&#xff09; 众所周知端口&#xff1a;1~1023&#xff08;1~255之间为众所周知端口&#xff…