【机器学习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) 等方法

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

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

相关文章

Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库

背景介绍 Apache Doris是一个基于MPP架构的易于使用,高性能和实时的分析数据库,以其极高的速度和易用性而闻名。海量数据下返回查询结果仅需亚秒级响应时间,不仅可以支持高并发点查询场景,还可以支持高通量复杂分析场景。 这些都…

2586. 统计范围内的元音字符串数 --力扣 --JAVA

题目 给你一个下标从 0 开始的字符串数组 words 和两个整数:left 和 right 。 如果字符串以元音字母开头并以元音字母结尾,那么该字符串就是一个 元音字符串 ,其中元音字母是 a、e、i、o、u 。 返回 words[i] 是元音字符串的数目,…

Mac版eclipse如何安装,运行bpmn文件

一、下载程序包 网址:https://www.eclipse.org/downloads M2芯片安装包名称:eclipse-jee-2022-12-R-macosx-cocoa-aarch64.dmg 具体安装包版本根据自己电脑型号选择 二、eclipse安装步骤 1)双击下载的文件 2)将eclipse拖入到…

Nvidia显卡Failed to initialize NVML Driver/library version mismatch错误解决方案

最近GPT比较火,开始折腾了一下gpu,用来跑项目: https://github.com/OpenTalker/SadTalker 今天运行程序突然发现用不了,经排查应该是由于NVIDIA内核驱动版本与系统驱动版本不一致导致的。 下面简单总结了这个错误的解决方案。 问题复现 查看…

Collection子接口——Set接口

1、HashSet: set接口的主要实现类,可存储null,线程不安全。 2、LinkedHashSet:HashSet的子类;遍历时,可按添加的顺序遍历。 3.、TreeSet:可以按添加元素的指定属性,进行排序。 注:Se…

linux修改rocketmq的日志文件位置

文章目录 🔊修改rocketmq的日志文件位置📕原来的文件📌修改后文件📇rocketmq中的Rocketmq_client.log文件在配置文件中改不了 需要在代码logback文件中进行修改🖊️最后总结 🔊修改rocketmq的日志文件位置 …

C#通过TCP发送List<string>

using System; using System.IO; using System.Net.Sockets; using System.Text; using System.Collections.Generic;public static void SendList<string>(Stream stream, List<string> list) {// 将List<string>对象转换为字节数组byte[] data Encoding.U…

没网络也能安装.Net 3.5!如何脱机安装.NET Framework 3.5

.NET框架是由微软制定的一个软件框架。它有助于在Windows上运行控制台、Web或移动应用程序。此有用的工具适用于Windows设备。 如何脱机安装.NET Framework 3.5 如果你拥有Windows 10、8、8.1或7,有时第三方软件可能会导致问题。你可能会在图片中看到这样的问题。 看这张照片…

新版onenet平台安全鉴权的确定与使用

根据onenet官方更新的文档&#xff1a;平台提供开放的API接口&#xff0c;用户可以通过HTTP/HTTPS调用&#xff0c;进行设备管理&#xff0c;数据查询&#xff0c;设备命令交互等操作&#xff0c;在API的基础上&#xff0c;根据自己的个性化需求搭建上层应用。 为提高API访问安…

棋牌室电脑计时灯控,棋牌室计时灯控安装,佳易王计时计费管理系统软件

棋牌室电脑计时灯控&#xff0c;棋牌室计时灯控安装&#xff0c;佳易王计时计费管理系统软件 棋牌室的灯可以用佳易王计时计费软件来控制开关&#xff0c;当开始计时的时候&#xff0c;软件发送开灯的指令&#xff0c;灯打开&#xff0c;在结账后&#xff0c;软件发送关灯指令…

算法通关村第十四关黄金挑战——堆解决数据流的中位数和数组求中位数的方法总结

关注微信公众号&#xff1a;怒码少年。回复关键词【电子书】&#xff0c;领取多本计算机相关电子书 遇到任何问题都可以在后台向我提问&#xff0c;完全免费&#xff01;&#xff01;大家共同进步&#xff01;&#xff01; 大家好&#xff0c;我是怒码少年小码。 本篇主要是讲…

软件测试/测试开发丨性能测试体系学习笔记

点此获取更多相关资料 本文为霍格沃兹测试开发学社学员学习笔记分享 原文链接&#xff1a;https://ceshiren.com/t/topic/28412 一、性能测试体系 1.性能测试介绍 为什么要做性能测试 有效的性能测试能给研发&#xff0c;运维团队提供有效的容量规划能力&#xff0c;系统风险…

Oracle 安装及 Spring 使用 Oracle

参考内容&#xff1a; docker安装oracle数据库史上最全步骤&#xff08;带图文&#xff09; Mac下oracle数据库客户端 Docker安装Oracle docker能安装oracle吗 Batch script for add a auto-increased primary key for exist table with records Docker 安装 Oracle11g 注意&a…

element 弹窗浏览器后退-遮照层还存在问题 以及跟vue keep-alive冲突

问题&#xff1a;element 弹窗浏览器后退-遮照层还存在问题 查询官网可以设置 modal-append-to-body“false” 可以全局设置 ElementUI.Dialog.props.modalAppendToBody.default false 后续 基本到这能解决问题&#xff0c;不过本项目比较特殊&#xff0c;使用了 keep-alive…

自定义拖拽列表

效果图 DataAnalysis.vue <template><div class"app-container"><div class"operate"><el-select class"t_select" v-model"templateName" clearable placeholder"模版" size"default" cle…

java计算机毕业设计SpringBoot在线答疑系统

项目介绍 本文从学生的功能要求出发&#xff0c;建立了在线答疑系统&#xff0c;系统中的功能模块主要是实现管理员权限&#xff1b;首页、个人中心、学生管理、教师管理、问题发布管理、疑难解答管理。教师权限&#xff1a;首页、个人中心、疑难解答管理、试卷管理、试题管理…

Halcon WPF 开发学习笔记(1):Hello World小程序

文章目录 文章专栏视频链接Hello World训练图片训练目的 开始训练图像预处理导入图像三通道处理调用算子通道选取 滤波什么是好的滤波 增加对比度 区域选取阈值处理算子参数选择运行结果(红色为选择区域) 区域分割运行结果 特征筛选参数代码第二次&#xff0c;面积筛选 画选中十…

技术分享 | 想做App测试就一定要了解的App结构

app 的结构包含了 APK 结构和 app 页面结构两个部分 APK结构 APK 是 Android Package 的缩写&#xff0c;其实就是 Android 的安装包。通过将 APK 文件直接传到 Android 模拟器或 Android 手机中执行即可安装。 APK 文件其实是 zip 格式&#xff0c;但后缀名被修改为 apk&am…

插入损耗——线对上的信号衰减

“您好&#xff0c;我需要您的帮助。我在测试长距离线缆的时候&#xff0c;插入损耗没有通过测试&#xff01;”这是在对铜缆布线进行验收测量时&#xff0c;我们经常能够听到的问题。针对这一情况&#xff0c;我们必须了解这一电气特性的基础知识&#xff0c;才能提供更专业的…

jenkins gitlab CI/CD

jenkins的安装教程就不说了&#xff1a;Jenkins docker 一键发布 (一)_jenkins 一键发布-CSDN博客 最近打算从svn切换到gitlab&#xff0c;所以配置了一下jenkins的git 很简单&#xff0c;直接上图 1 选择 Git 2 录入gitlab的http地址&#xff08;由于我的git地址不是22端口&…