机器学习 —— 自用整理期末复习笔记

一、绪论

机器学习术语

假设空间 p5

        监督学习(supervised learning)的任务是学习一个模型,使模型能够对任意给定的输入,对其相应的输出做出一个好的预测。模型属于由输入空间到输出空间的映射的集合,这个集合就是假设空间(hypothesis space)。

        

        【机器学习】假设空间与版本空间-CSDN博客


二、模型评估与选择

1、经验误差与过拟合

         

        

2、评估方法

2.1、留出法

        

        

2.2、交叉验证法

                        

        

                        

2.3、自助法

        

        

2.4、验证集

        训练集(Training Set):用于训练模型。

        验证集(Validation Set):用于调整和选择模型。

        测试集(Test Set):用于评估最终的模型。

        

        

3、性能度量

 3.1、错误率与精度

3.2、查准率与查全率(准确率与召回率)

        

以检测核酸为例:

        

        评价指标:

        

        F1 Score

        

        

3.3、ROC曲线

3.4、方差与偏差

         

         

        

        

        偏差:描述的是预测值(估计值)的期望与真实值之间的差距。偏差越大,越偏离真实数据。

        方差:描述的是预测值的变化范围,离散程度,也就是离其期望值的距离。方差越大,数据的分布越分散。

        偏差度量了学习算法期望预测与真实结果的偏离程度;即刻画了学习算法本身的拟合能力;

        方差度量了同样大小训练集的变动所导致的学习性能的变化;即刻画了数据扰动所造成的影响;

        噪声表达了在当前任务上任何学习算法所能达到的期望泛化误差的下界;即刻画了学习问题本身的难度。

        泛化误差=方差➕偏差➕噪声


 三、线性模型

1、线性回归模型

                线性回归、多项式回归多用于预测,逻辑回归多用于分类。

        https://katya.blog.csdn.net/article/details/135046372?ydreferer=aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NzE4NzE0Ny9jYXRlZ29yeV8xMjQ4NDI5Ni5odG1sP3NwbT0xMDAxLjIwMTQuMzAwMS41NDgy

         

        KNN算法:大老粗

                非参数模型,计算量大,好在数据无假设

        线性算法:头脑敏锐

                可解释性好,建模迅速,线性分布的假设

2、线性判别分析 LDA

        

        

         类内散度矩阵Sw 类间散度矩阵Sb。

3、多分类学习

         

         OVO(One vs One )Cn2个分类器

         OVR (One vs Rest ) n个分类器

        

        

        

         纠错输出码 距离最小。

4、类别不均衡问题

         类别不平衡就是指分类任务中不同类别的训练样例数目差别很大的情况。

        

         策略 —— 再缩放(再平衡)。

        再缩放的思想虽简单,但实际操作却并不平凡,主要因为“训练集是真实样本总体的无偏采样”这个假设往往并不成立,也就是说,我们未必能有效地基于训练集观测几率来推断出真实几率。

        现有技术大体上有三类做法:

        第一类是直接对训练集里的反类样例进行“欠采样”(undersampling),即去除一些反例使得正、反例数目接近,然后再进行学习;

        第二类是对训练集里的正类样例进行“过采样”(oversampling),即增加一些正例使得正、反例数目接近,然后再进行学习;

        第三类则是直接基于原始训练集进行学习,但在用训练好的分类器进行预测时,将式(3.48)嵌入到其决策过程中,称为“阈值移动”(threshold-moving)。

        欠采样法的时间开销通常远小于过采样法;因为前者丢弃了很多反例,使得分类器训练集远小于初始训练集,而过采样法增加了很多正例,其训练集大于初始训练集。

        需注意的是,过采样法不能简单地对初始正例样本进行重复采样,否则会招致严重的过拟合;另一方面,欠采样法若随机丢弃反例,可能丢失一些重要信息;


四、决策树

1、决策树学习模型

         

  • 特征选择、节点分类、阈值确定
*** ?决策树算法流程

2、信息增益、增益率计算

        信息熵:

         熵本身代表不确定性,是不确定性的一种度量。熵越大,不确定性越高,信息量越高。

        

        为什么用log?—— 两种解释,可能性的增长呈指数型;log可以将乘法变为加减法。

        信息增益(互信息):代表了一个特征能够为一个系统带来多少信息。

        

        ID3决策树学习算法 —— 以信息增益为准则划分属性。

        增益率

        

        基尼指数

        

        

        基尼系数运算稍快;

        物理意义略有不同,信息熵表示的是随机变量的不确定度;

                基尼系数表示在样本集合中一个随机选中的样本被分错的概率,也就是纯度

                基尼系数越小,纯度越高。

        模型效果上差异不大。
 

4、剪枝 —— 对付过拟合

为什么要剪枝?

                复杂度过高。

                        预测复杂度:O(logm)

                        训练复杂度:O(n x m x logm)

                        logm为数的深度,n为数据的维度。

                容易过拟合。
 

         预剪枝是指在决策树生成过程中,对每个结点在划分前先进行估计,若当前结点的划分不能带来决策树泛化性能提升则停止划分,并将当前结点标记为叶结点;

        后剪枝是先从训练集生成一棵完整的决策树,然后自底向上地对非叶结点进行考察,若将该结点对应的子树替换为叶结点能带来决策树泛化性能提升,则将该子树替换为叶结点。

         

         

        

5、连续与缺失值

         二分法,对连续属性进行处理。

6、多变量决策树

        非叶节点不再是仅对某个属性,而是对属性的线性组合进行测试。


五、神经网络

1、感知机

         MP神经元

                 

         激活函数

                

        单层感知机

                

               

                

                

                 

                  wTx+b=0对应于特征空间一个超平面s,将空间分成两个部分,也称分离超平面。

                  单层感知机的学习能力非常有限, 只能解决线性可分问题。

                  

         多层感知机

                 

               多层前馈神经网络:只与下一层连接;同层或跨层不连接;

               前馈:正向

2、BP算法 / 误差逆传播算法

3、输出层节点 计算网络参数

4、训练法则

5、网络收敛性


六、SVM支持向量机

1、支持向量机概念 / 目标

        支持向量 support vector —— 距离决策边界最近的点,每个类别的极端数据点

        超平面 hyperplane —— “隔离带”中间的平分线

        间隔 margin —— 最大化margin

         

        优化目标:—— 最大化间隔margin 也就是 最大化距离 d,也就是点到超平面的垂直距离。

                注意此处的距离和线性模型中的距离不同,线性模型中的距离是 yhat-y (斜边)

        软间隔

         

         

        那么怎么保证 这个减去的值不能太大呢?

        

        也就是说尽量让所有数据容错值的和最小。让二者取一个平衡。

        C 就是一个新的超参数,用来调节两者的权重值。

        再看一下这个求和的形式,是不是特别像正则化?其实就可以看成正则化。

        正则化项是一次的,所以叫L1正则。这里省略了绝对值符号,因为其就是正数。

2、核函数原理及作用 —— 降低计算复杂度

        将样本从原始空间映射到一个更高维的特征空间。

        空间是有限维,即属性数有限,那么一定存在一个高维特征空间使样本可分。

        

        

        核函数:是映射关系的内积。

        映射函数本身仅仅是一种映射关系,并没有增加维度的特性,不过可以利用核函数的特性,构造可以增加维度的核函数,这通常是我们希望的。

        要注意,核函数和映射没有关系。核函数只是用来计算映射到高维空间之后的内积的一种简便方法!

        

        

           线性组合、直积仍是核函数。

        

3、支持向量机的应用


七、贝叶斯分类器

        监督式模型分为判别式模型和生成式模型。 

        

        判别模型和生成模型的区别:

                判别式模型:输入一个特征X可以直接得到一个y。

                生成式模型:上来先学习一个联合概率分布 p(x,y),

                                        再用他根据贝叶斯法则求条件概率密度分布。

                                        —— 没有决策边界的存在

        判别式数据对于数据分布特别复杂的情况,比如文本图像视频;

        而生成式模型对于数据有部分特征缺失的情况下效果更好,

        而且更容易添加数据的先验知识 p(x)
        

1、贝叶斯决策论

         

        

        则

        建立了四个概率分布之间的关系,已知变量 X 和 未知变量(模型参数)w 之间的计算关系。

        假定 X 表示数据,W 表示模型的参数。

        Likelihood翻译成可能性或者是似然函数,最大似然估计指的就是这个。

        

2、极大似然估计

        根据事件 x 的观察结果 c ,推断 θ 为多少时,x 最有可能发生。

        

        

3、朴素贝叶斯条件 / 概念

        

        

*** p152 例子

         

        能不能直接根据这些经验(上面的数据),来判断一个境外人员有没有得新冠呢?

        即求解:

        

         比较难求的显然就是 Likelihood,所以朴素贝叶斯假设特征之间相互独立。

        

        根据中心极限定理,频率就等于概率,虽然这里数据没有那么多,也一样可以这么算。

        

        

4、EM算法 

        期望最大化算法,Expectation Maximization

         目的:使得似然函数最大化

        引入 隐变量(未观测变量)

         先猜一个 z 的分布,就是蓝色的分布,然后用它来逼近。

         

        

        利用Jensen不等式:期望的函数 ≥ 函数的期望,

        函数就是log函数,后面的一坨是期望,把q看成一个分布,分式看成z的函数。

        现在就可以通过不断改变 z,q来搜索L(θ),从而找到他的最大值。

        

        

         

EM算法步骤

        1、E步骤,先固定q分布不变(θ值不变),使用MLE来最大化z。

                 沿着固定的θ值,向上搜索,碰到红线之后就停止。

                

        2、M步骤,固定z不变,让q最大化寻优。

                 

        重复这个步骤,反复迭代,直到找到最优的θ*。

                

        注意虽然EM的迭代一定会收敛,但是不一定收敛到最优的参数值,可能陷入局部最优,所以结果很受初始值的影响。

5、分类器怎么计算

6、估计后验概率策略


八、集成学习

1、集成原理

         集成学习通过构建并结合多个学习器来完成学习任务。

         也被称为 多分类器系统、基于委员会的学习等。

         根据个体学习器的生成方式,目前的集成学习方法大致可分为两大类,即

         个体学习器间存在强依赖关系、必须串行生成的序列化方法 —— Boosting

         个体学习器间不存在强依赖关系、可同时生成的并行化方法 ——  Bagging和“随机森林”(Random Forest)

        集成学习按照 所使用的 单个子模型是不是同一种 分为同质的方法和异质的方法。

        按照 子模型的连接方式 可以分为串行策略、并行策略和串并结合的策略。

        

2、Boosting算法 —— 串行

基本思想

         

        每个子模型在训练过程中更加关注上一个模型中表现不好的样本点,以此来提高模型效果。

        训练一系列的弱学习器,弱学习器是指仅比随机猜测好一点点的模型,例如较小的决策树。

        训练的方式使用加权的数据,在训练的早期,对于错分的数据给予较大的权重。

        对于训练好的弱分类器,如果是分类任务则按照权重进行投票,如果是回归任务则进行加权,然后再进行预测。

        

        

*** AdaBoost算法 p174

        

        标准AdaBoost只适用于二分类任务。

        

        从偏差-方差分解的角度看,Boosting 主要关注降低偏差,因此 Boosting能基于泛化性能相当弱的学习器构建出很强的集成。

3、Bagging与随机森林RF —— 并行

Bagging

        

        

        数据组织方式不同,从总的数据集中抽样组成新的子集。

        所有支路使用同样的算法。

        分类还是使用投票的方式集成,回归任务则是使用平均的方式集成。

        

        从偏差-方差分解的角度看,Bagging 主要关注降低方差,因此它在不剪枝决策树、神经网络等易受样本扰动的学习器上效用更为明显。

        

         

        有36.8%的样本没被抽到,那么:

        不区分训练、测试集,用没被取到的作为测试集。

随机森林 RF

        

        

        值得一提的是,随机森林的训练效率常优于 Bagging,因为在个体决策树的构建过程中,Bagging使用的是“确定型”决策树,在选择划分属性时要对结点的所有属性进行考察而随机森林使用的“随机型”决策树则只需考察一个属性子集。

4、结合策略

        1)平均法(简单平均法、加权平均法)

        2)投票法(绝对多数投票法、相对多数投票法、加权投票法)

        3)学习法(Stacking等)

                

              

                其实是一个二次学习的过程。

                

                先用第一份数据 训练这三个模型,

                再用第二份数据 经过这三个模型输出之后训练第二级的模型4。

*** 5、多样性 p185


九、聚类学习

1、聚类原理

         聚类试图将数据集中的样本划分为若干个通常是不相交的子集,每个子集称为一个 簇。

2、性能度量 / 有效性指标

         

        

        

        

3、距离计算

         

        

         

         

         

4、原型聚类 kmeans

         通常情况下,算法先对原型进行初始化,再对原型进行迭代更新求解。

k-均值

         根据样本点与簇质心距离判定

        以样本间距离衡量簇内相似度

         

 K均值聚类算法步骤:

  1. 选择k个初始质心,初始质心的选择是随机的,每一个质心是一个类
  2. 计算样本到各个质心 欧式距离,归入最近的簇
  3. 计算新簇的质心,重复2 3,直到质心不再发生变化或者达到最大迭代次数

         

学习向量量化LVQ

         

        

高斯混合聚类

5、密度聚类 DBScan

         DBSCAN算法:基于一组“邻域”参数来刻画样本 分布的紧密程度。

         

         

6、层次聚类

        按照层次把数据划分到不同层的簇,形成树状结构,可以揭示数据间的分层结构。

        在树形结构上不同层次划分可以得到不同粒度的聚类。

        过程分为自底向上的聚合聚类和自顶向下的分裂聚类。

        AGNES算法(自底向上的层次聚类算法)。

                将每个样本看做一个簇,初始状态下簇的数目 = 样本的数目

                簇间距离最小的相似簇合并

                下图纵轴不是合并的次序,而是合并的距离

                

        自顶向下的分裂聚类

                所有样本看成一个簇

                逐渐分裂成更小的簇

                目前大多数聚类算法使用的都是自底向上的聚合聚类方法。


十、降维与度量学习

1、降维思想

2、k近邻学习

3、PCA主成分分析

监督学习和无监督学习

各个算法基本思想,课本上的基本概念,以及针对不同机器算法的简单拓展应用


机器学习算法: AdaBoost 详解 - 知乎

01.3 神经网络的基本工作原理 - AI-EDU

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

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

相关文章

电子化以后如何申请软件著作权

​ 申请地址:中国版权登记业务平台 附件: 软件著作权设计说明书模板(含填写说明).docx 软件著作权源程序模板.docx 软件著作权前期开发说明、合作开发协议、版本说明、法人证明、授权书模板.docx 注册、登录和实名认证 首先访问…

查看服务器的yum 源

1、cd /etc/yum.repos.d 2、编辑 CentOS-Stream-Sources.repo 3、 查看里面的yum源地址 4、更新yum源,执行下面指令 yum clean all # 清除系统所有的yum缓存 yum makeacache # 生成新的yum缓存 yum repolist

firewall防火墙(二)

一、IP伪装与端口转发: 当用户数据包经过NAT设备时.NAT设备将源地址替换为公网P地址.而返回的数据包就可以被路由,NAT技术一般都是在企业边界路由器或者防火墙上来配置. Firewaild支持两种类型的NAT;P地址伪装和端口转发. 1.1 I…

牛客网-JAVA(错题集)-1

1 Java的抽象类和接口不可以进行实例化 2 知识点: 1、不论如何 finally里面的代码是一定会执行的 2、finally里面的代码块比return早执行 3、多个return是按顺序执行的,只执行一次 public abstract class Test {public static void main(String[] ar…

Spring配置类以及扫描过程源码解析

书接上文 文章目录 一、 拾遗1. 回顾2. 源码分析 二、 配置类扫描源码分析1. 源码分析2. BeanDefinition覆盖问题3. full配置类和lite配置类的区别 一、 拾遗 1. 回顾 前面我们分析了Spring框架器启动过程要做的事情,着重分析了ApplicationContext的refresh方法。…

乐鑫ESP32与SD NAND的协同应用|MK-米客方德

SD NAND在乐鑫ESP32上的作用 SD NAND是贴片式TF卡,可以用于存储数据,比如视频图片或者代码 乐鑫ESP32一颗具有双核处理器的嵌入式系统芯片,有丰富的外设接口,包括Wi-Fi、蓝牙、UART、SPI、I2C等,使其适用于各种物联网…

加工零件的题解

目录 原题描述: 题目描述 输入格式 输出格式 样例 #1 样例输入 #1 样例输出 #1 样例 #2 样例输入 #2 样例输出 #2 提示 题目大意: 主要思路: 但是我们怎么才能判断出x走到1时L是偶数还是奇数呢? 初始化:…

vim编辑器

1.vi编辑器介绍 vim是全屏幕纯屏幕纯文本编辑器, 是vi编辑器的增强版. 可以利用别名让输入vi命令时, 实际上执行vim编辑器, 例如: alias vi "vim" #定义别名 这样定义的别名是临时生效, 如果需要永久生效, 请放入环境变量配置文件(~/.bashrc) 2.vim基本的使用 …

如何压缩照片?分享4种全面的方法!

随着智能手机的普及,我们每个人都成为了摄影爱好者。然而,随着拍摄的照片越来越多,手机内存也逐渐变得捉襟见肘。那么,如何有效地压缩照片,释放手机内存呢?今天,我们就来为你揭秘那些可以轻松压…

前端浏览器滚动条炫酷美化

一、文章引导 #mermaid-svg-2qRndEP8CFzlUhap {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-2qRndEP8CFzlUhap .error-icon{fill:#552222;}#mermaid-svg-2qRndEP8CFzlUhap .error-text{fill:#552222;stroke:#55222…

多模态+SNN个人学习历程和心得

祖传开头 这次想写一个一直深藏心中的研究方向,那就是多模态方向。其实当初在实验室那会儿,最先接触的就是多模态的工作,因此这是我科研之路的起点。只不过,后来经历了一些波折,导致个人没有往这个方向深挖&#xff0…

PayPal账号被关联!跨境卖家如何自救?关于PayPal防关联你不得不知道的事!

很多跨境卖家的支付平台都会选择 PayPal,但是 PayPal 账号在使用过程中也经常会遇见关联,风控等问题,这时候为了保护我们的 PayPal 账号安全,防关联就很重要。今天龙哥就分享一些关于 PayPal 防关联的内容,希望能够帮助…

重新认识canvas,掌握必要的联结密码

查看专栏目录 canvas示例教程100专栏,提供canvas的基础知识,高级动画,相关应用扩展等信息。canvas作为html的一部分,是图像图标地图可视化的一个重要的基础,学好了canvas,在其他的一些应用上将会起到非常重…

C++ continue语句

作用:在循环语句中,跳过本次循环中余下尚未执行的语句,继续执行下一次循环 与break的区别在于,如果把上述continue换位break,则该程序执行到break则会直接退出for循环,不再执行后面的代码和以后的循环。 实…

Web实战丨基于django+html+css+js的电子商务网站

文章目录 写在前面实验目标需求分析实验内容安装依赖库1.登陆界面2.注册界面3.电子商城界面4.其他界面 运行结果写在后面 写在前面 本期内容:基于DjangoHTMLCSSJS的电子商务网站 实验环境: vscode或pycharmpython(3.11.4)django 代码下载地址&#x…

【Kafka-3.x-教程】-【七】Kafka 生产调优、Kafka 压力测试

【Kafka-3.x-教程】专栏: 【Kafka-3.x-教程】-【一】Kafka 概述、Kafka 快速入门 【Kafka-3.x-教程】-【二】Kafka-生产者-Producer 【Kafka-3.x-教程】-【三】Kafka-Broker、Kafka-Kraft 【Kafka-3.x-教程】-【四】Kafka-消费者-Consumer 【Kafka-3.x-教程】-【五…

观成科技-加密C2框架EvilOSX流量分析

工具简介 EvilOSX是一款开源的,由python编写专门为macOS系统设计的C2工具,该工具可以利用自身释放的木马来实现一系列集成功能,如键盘记录、文件捕获、浏览器历史记录爬取、截屏等。EvilOSX主要使用HTTP协议进行通信,通信内容为特…

蓝凌EIS pdf.aspx 任意文件读取漏洞

漏洞描述: 蓝凌EIS智慧协同平台是一个简单、高效的工作方式专为成长型企业打造的沟通、协同、社交的移动办公平台,覆盖OA、沟通、客户、人事、知识等管理需求,集合了非常丰富的模块,满足组织企业在知识、项目管理系统建设等需求的…

jmeter循环控制器

1.循环控制器 简单粗暴 写几次 循环几次 经常结合自定义变量使用 2.foreach控制器 搭配 变量一起使用的循环 一般变量的值是一个集合或者 是2个及2个以上的内容

[中阶]1月29-2月2晚8点-软件需求设计方法学全程实例剖析

建模方法学包含以下技能: A-业务建模——定位需要改进的目标组织(人群或机构)以及该组织接下来最需要改进的问题。 B-需求——描述为了改进组织的问题,所引入的信息系统必须具有的表现。 C-分析——提炼为了满足功能需求&#…