机器学习期末复习总结笔记(李航统计学习方法)

文章目录

      • 模型复杂度高---过拟合
      • 分类与回归
      • 有监督、无监督、半监督
      • 正则化
      • 生成模型和判别模型
      • 感知机
      • KNN
      • 朴素贝叶斯
      • 决策树
      • SVM
      • Adaboost
      • 聚类
      • 风险
      • PCA
      • 深度学习
      • 范数计算
      • 梯度下降与随机梯度下降SGD
      • 线性回归
      • 逻辑回归
      • 最大熵模型
      • 适用性讨论

模型复杂度高—过拟合

  • 是什么:当模型复杂度越高,对训练集拟合程度越高,然而对新样本的泛化能力却下降了,此时出现overfitting(过拟合)
  • 与泛化能力:
    • 模型复杂度与泛化能力之间存在权衡关系。过于复杂的模型可能导致过拟合,而过于简单的模型可能导致欠拟合。理想的情况是找到二者之间的平衡点,以最佳化模型的泛化能力
  • 产生原因:对训练数据中的噪声和特定特征过度敏感。
    • 训练样本太少
    • 数据的特征过多
    • 选择的模型比较复杂、模型参数过多
    • 缺乏正则化
  • 解决:
    • 正则化
    • 减少特征数、减少模型参数、增加训练样本
  • 欠拟合:
    • 概述:对训练数据和新数据均表现不佳
    • 原因:
      • 训练次数不够
      • 特征太少
      • 模型简单
    • 解决
      • 训练次数增加
      • 添加新特征
      • 增加模型复杂度
      • 减小正则化系数(可以减轻对模型复杂度的限制,允许模型参数有更大的变化范围)

分类与回归

  • 分类:输出值为离散数据、寻找决策边界
    • 指标:准确率、精确率P、召回率R、F1值
  • 回归:输出值为连续数据、寻找最佳拟合
    • MSE均方误差、RMSE均方根误差、MAE平均绝对误差

有监督、无监督、半监督

  • 有监督:有label
  • 无监督:无label,(聚类、PCA)
  • 半监督:少量label、大量无label,利用标注数据中的信息,辅助标注数据,进行监督学习,以较低的成本达到较好的学习效果

正则化

  • 定义:在经验风险上加上一个正则项(罚项),其通常与模型权重的大小有关
  • 分类:
    • L1(Lasso回归):稀疏,特征选择,解释性强
    • L2(Ridge岭回归):抗噪声能力强
    • 都能控制过拟合
  • 作用:
    • 防止过拟合:选择经验风险与模型复杂度同时较小的模型,防止过拟合,从而提高模型泛化能力
    • 有助于特征选择:L1,促使模型在训练过程中自动进行特征选择
    • 提高稳定性:L2,对输入数据的小变化不敏感,提高模型稳定性

生成模型和判别模型

  • 判别模型:学习条件概率分布P(Y|X)
  • 生成模型:学习联合概率分布P(X,Y)
  • 总之,判别式模型和生成式模型的最终目的都是使后验概率最大化,其中判别式是直接对后验概率建模,而生成式模型通过贝叶斯定理这一“桥梁”使问题转化为求联合概率。

感知机

  • 损失函数:误分类点到超平面的距离之和(去掉了分母的范数、加个负号
  • 随机梯度下降:求偏导:参数更新公式:w=w+ayx, b=b+ay
  • 学习算法
    • 初始w和b、a(学习率)
    • 若满足y(wx+b)<=0,则为误分类点,更新w和b
    • 直至没有误分类点
  • 学习算法收敛性
    • 当数据线性可分,误分类的次数是有上界的,原始迭代形式是收敛的
    • 当数据线性不可分,迭代震荡
    • 解不唯一(初始w、b,以及误分类点的选择)

KNN

  • K-nearest-neighbor:k=1为最近邻
  • K值选择
    • k小:模型复杂,过拟合
    • k大:模型简单
  • 距离度量:
    • 曼哈顿、欧式距离
  • 分类决策:多数表决

朴素贝叶斯

  • 朴素:特征条件独立性
  • 拉普拉斯平滑(分子+1,分母+K,K为某个特征的类别数
  • 后验概率最大化 等价于 0-1损失函数期望风险最小化
  • 计算题:
    • 先验概率 P(Y=y1) …
    • 条件概率 P(X1=x1 | Y=y1) …
    • 先验概率×条件概率

决策树

  • 概念计算
    • 信息量
    • 条件熵
    • 信息增益
    • 基尼指数
    • 基尼指数是CART算法中用来衡量分割后数据纯度的标准,反映了从数据集中随机抽取两个样本,其类别标签不一致的概率。信息增益则是ID3算法中用于选择特征的标准,衡量的是分割前后数据不确定性的减少量。基尼指数更偏重于数据的纯净度,而信息增益更关注信息的减少量
  • 特征选择、树的生成
    • ID3:信息增益(选大的)
      • 只能离散型数据
      • 容易过拟合(无剪枝策略)
      • 对可取值数目较多的特征有所偏好,类似“编号”的特征其信息增益接近于 1
      • 多叉树
    • C4.5:信息增益比(选大的)
      • 连续、离散数据
      • 引入剪枝策略(后悔法,效率低)
      • 最大的特点是克服了 ID3 对特征数目的偏重这一缺点
      • 只能分类
      • 多叉树
    • CART:基尼指数(选小的)
      • 连续、离散数据
      • 剪枝效果更好
      • 分类+回归
      • 二叉树
  • 剪枝
    • 预剪枝:容易欠拟合
    • 后剪枝:效果好

SVM

  • 间隔
    • 函数间隔:y(wx+b), 点到超平面的“确信度”
    • 几何间隔:y(wx+b) / ||w||,点到超平面的实际距离
    • 间隔:硬间隔SVM要求所有数据点都严格正确地分类,模型试图完美地分类所有样本,对于含有噪声或异常值的数据集会过拟合
    • 间隔:软间隔SVM允许某些数据点违反边界间隔的要求,即允许一些点位于边界的错误一侧或在间隔内。更好地处理噪声和异常点,提高模型的泛化能力。
  • 最优化问题
    • 在这里插入图片描述
    • 推导过程见书
  • 与感知机的区别:
    • 感知机:误分类最小化,分离超平面很多,线性可分数据,不支持核技巧
    • 支持向量机:间隔最大化,最优(几何间隔最大)分离超平面唯一,可线性可非线性,支持核技巧
  • 分类
    • 线性可分支持向量机:硬间隔最大化
    • 线性支持向量机:训练数据近似线性可分时,通过软间隔最大化
    • 非线性支持向量机:当训练数据线性不可分时,通过使用核技巧及软间隔最大化
  • 核函数:
    • 核技巧的作用是将原始数据映射到更高维的空间,使得在新空间中数据线性可分,从而有效处理原始空间中的非线性问题。
  • 支持向量
    • 距离超平面最近的一些训练样本点

Adaboost

  • 大概流程:(十三)通俗易懂理解——Adaboost算法原理 - 知乎 (zhihu.com)
    • 初始化权重:训练数据中的每个样本最初被赋予相同的权重。
    • 迭代训练:在每一轮中,训练一个弱分类器。
      • 选择误差率最小的分类器作为当前弱分类器
      • 计算当前弱分类器的误差率,更新其权重
      • 对于每个弱分类器,训练集的分布会根据上一轮的错误进行调整,错误分类的样本在下一轮会得到更高的权重
  • 隐空间线性,实际是非线性算法
  • 总体思想:
    • 数据:训练时加大对错误分类样本的权值
    • 组合分类器:加大误差率小的弱分类器权值

聚类

  • 如何定义两个样本是否相似
    • 距离:曼哈顿、欧式、切比雪夫(同KNN),距离越小越相似
    • 相关系数:相关系数越大越相似
    • 夹角余弦:越接近1越相似
  • 单个类
    • 定义:集合G中的任意两个样本之间的距离:d<=T ,(T为给定的正数)
    • 特征
      • 类中心(是一个样本,用其代表这个类):类的均值(类中所有样本均值)
      • 类的直径:类中任意两个样本之间的最大距离
  • 类与类的距离
    • 最短距离(单连接)
    • 最长距离(完全连接)
    • 中心距离:各个类的类中心的距离
  • 层次聚类
    • 自下而上(聚合聚类):开始将每个样本各自分到一个类,之后将相距最近(类间距离取最短距离(单连接 ))的两类合并,建立一个新的类,重复操作,直到最后归为一个类
    • 自上而下(分类聚类):开始将所有样本分到一个类,之后将已有类中相距最远的样本分到两个新的类,重复操作,直到最后各自为一个类
    • 书本例题:关键:合并后的新类的 与其他类的距离值 更新为 最短距离
  • K-means聚类
    • 大致流程:
      • 首先选择K个类中心,将各个样本逐个归类到与其最近的(欧式距离的平方)类中心所在的类
      • 更新每个类的样本的均值,作为类的新的中心
      • 直至类中心不变化
      • 详见书本例题
  • 对比:
    • 层次聚类:不用定义K,但对大样本计算效率低
    • K>-means:用定义K,对大样本计算效率高,对初始聚类中心的选择敏感,这可能导致算法陷入局部最优
  • K的选择
    • 在这里插入图片描述

风险

  • 期望风险:模型在整个数据分布上的平均损失 (train+test),理想值,无法直接计算
  • 经验风险:train
  • 结构风险:经验风险 + 正则化项
  • 泛化风险:test

PCA

  • 定义:利用正交变换把由线性相关变量表示的观测数据转为少数几个由线性无关变量表示的数据。第一主成分选择方差最大的方向(横向距离最长)
  • 作用:降维、用于(高维)数据可视化
  • 与特征选择的不同
    • 降维:通过创建新的特征来表示原始特征的组合或转换,可能导致原始特征的一些信息丢失
    • 特征选择:通过筛选出最有用的特征,去掉冗余或无关的特征,保持原始特征不变
  • 维度灾难
    • 影响:高维空间中,基于距离的算法受到影响,因为数据点之间的距离变得不那么区分明显,使得算法难以有效区分不同的数据点或者识别出相似的数据点。
  • 步骤
    • 标准化数据:使得每个特征均值为0、方差为1
    • 计算协方差矩阵:反映了特征之间的相关性。
    • 特征值分解:计算协方差矩阵的特征值和特征向量。
    • 选择主成分:根据特征值大小排序,最大的作为最重要的成分,将样本点投影到选取的特征向量上

深度学习

  • 激活函数的作用:让某些神经元激活,让某些神经元不激活,构成非线性的网络,引入非线性性质,使得神经网络能够学习和表示更复杂的函数关系
  • sigmoid:将输入压缩到0和1之间。在这里插入图片描述
    • 作用:使得输出的概率向量中最大的类概率变得更大(小的变得更小)
    • 问题:
      • 对于远离0的输入,梯度很小,可能导致梯度消失问题。
      • 不是零中心化的,可能导致优化过程中的收敛速度减慢。
  • 其他激活函数:ReLU(负输入为0,正输入为本身)、Tanh(-1到1)

范数计算

  • L1:绝对值相加
  • L2:平方相加再开根(向量长度)
  • L无穷范:取分量绝对值最大

梯度下降与随机梯度下降SGD

  • 梯度下降:在每次迭代中,它会计算所有训练样本的损失函数的梯度,并根据这个梯度更新参数。这意味着每一步更新都考虑了所有的训练数据。计算非常耗时
  • 随机梯度下降:每次更新只使用一个训练样本来计算梯度。计算效率高,但收敛可能不稳定(随机)

线性回归

  • 似然估计推导均方误差(推导很重要
  • 求解参数(推导很重要
    • 最小二乘法的闭合求解(一元、多元)
    • 梯度下降
  • 岭回归:在这里插入图片描述
  • Lasso回归:在这里插入图片描述

逻辑回归

  • 与线性回归的区别:非线性、分类
  • 似然估计推导交叉熵(推导很重要
  • 梯度下降求解参数(推导很重要
  • Sigmoid在逻辑回归中的作用
    • 将线性模型的输出转换为概率估计,适用于二分类问题
    • Sigmoid函数的导数形式简单,便于进行梯度下降等优化算法

最大熵模型

  • 学习概率模型时,在所有可能的概率模型(分布)中,熵最大的模型是最好的模型,表述为在满足约束条件的模型集合中选取熵最大的模型,最大熵模型由最大熵原理推导实现。
  • 最大熵关注于在不确定性下选择一个最合理的模型,在最大化熵的过程中,我们试图找到最不偏不倚的模型。假设有一个六面的骰子,我们没有任何关于其偏重的信息。最大熵原理告诉我们,最合理的假设是每个面出现的概率都是相等的(1/6),因为这个概率分布的熵是最大的,即最不确定,没有任何面被偏爱。

适用性讨论

  • 感知机:少样本、低维、线性、二分类
  • KNN:少样本、低维、分类与回归(非线性)
  • 朴素贝叶斯:中大样本、高维表现优秀
  • 决策树:中大样本(可能过拟合)、高维(树复杂)、分类与回归、(非线性
  • 支持向量机:小中样本、高维表现优秀、分类与回归、(可线性可非线性
  • K-means:大样本、低维(高维中距离计算效果不好)
  • 层次聚类:小样本、低维
  • 集成学习:(非线性)

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

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

相关文章

golang通过go-git下载gitlab源码

1 申请令牌 方法1&#xff1a;具体项目下申请&#xff1a; 方法2&#xff1a;全局申请 2 获取token 3 下载代码 package mainimport ("fmt""os""github.com/go-git/go-git/v5" )func main() {_, err : git.PlainClone("/tmp/foo",…

java web mvc-07-Vaadin 入门介绍

拓展阅读 Spring Web MVC-00-重学 mvc mvc-01-Model-View-Controller 概览 web mvc-03-JFinal web mvc-04-Apache Wicket web mvc-05-JSF JavaServer Faces web mvc-06-play framework intro web mvc-07-Vaadin web mvc-08-Grails 开源 The jdbc pool for java.(java …

MySQL函数—数值函数,随机数验证码生成

MySQL函数—日期函数 函数功能CEIL(x)向上取整FLOOR(x)向下取整MOD(x,y)返回x/y的模&#xff08;取余&#xff09;RAND()返回0-1的随机数ROUND(x,y)求参数x的四舍五入&#xff0c;保留y位小数 1、向上取整&#xff1a;CEIL。只要小数点后的数字大于0就取整。 select CEIL(1.2…

Qt解析含颜色的QString字符串显示到控件

1、需求 开发接收含颜色字符串显示到窗口&#xff0c;可解析字符串颜色配置窗口属性&#xff0c;且分割字符串显示。 mprintf(“xxxxxx”)&#xff1b;打印的xxxxxx含有颜色配置。 2、实现方法 2.1、条件 选用Qt的PlainTextEdit控件显示字符串&#xff0c;配置为只读模式 …

pytestallure分析redis的数据并动态生成testCase报告

1.pytest.mark.parametrize pytest.mark.parametrize 是一个pytest的装饰器&#xff0c;它可以用于将参数传递给测试函数。使用 pytest.mark.parametrize 装饰器时&#xff0c;需要在装饰器中指定参数名称和参数值。对于多个参数&#xff0c;可以使用多个装饰器。 下面是一些…

数据链路层——笔记·续

使用集线器的星形拓扑 传统以太网传输媒体&#xff1a;粗同轴电缆 -> 细同轴电缆 -> 双绞线。 采用双绞线的以太网采用星形拓扑。 在星形的中心则增加了一种可靠性非常高的设备&#xff0c;叫做集线器 (hub)。 传统以太网使用同轴电缆&#xff0c;采用总线形拓扑结构&am…

嵌入式软件工程师面试题——2025校招社招通用(计算机网络篇)(二十八)

说明&#xff1a; 面试群&#xff0c;群号&#xff1a; 228447240面试题来源于网络书籍&#xff0c;公司题目以及博主原创或修改&#xff08;题目大部分来源于各种公司&#xff09;&#xff1b;文中很多题目&#xff0c;或许大家直接编译器写完&#xff0c;1分钟就出结果了。但…

计算机网络 第3章(数据链路层)

系列文章目录 计算机网络 第1章&#xff08;概述&#xff09; 计算机网络 第2章&#xff08;物理层&#xff09; 计算机网络 第3章&#xff08;数据链路层&#xff09; 文章目录 系列文章目录1. 数据链路层概述1.1 概述1.2 三个重要问题 2. 封装成帧2.1 介绍2.2 透明传输2.3 总…

归一化是是什么意思,为什么要归一化

归一化 归一化是指将数据转换为标准尺度或相对比例的过程。在数据处理中&#xff0c;归一化的目标是使数据具有统一的尺度&#xff0c;以便更好地适应模型的训练和提高模型性能。归一化通常是通过线性变换将数据映射到一个特定的范围或分布。 为什么要进行归一化&#xff1f; …

RK3399平台开发系列讲解(USB篇)USB2.0 包格式分类

🚀返回专栏总目录 文章目录 一、令牌包格式二、数据包格式三、握手包格式沉淀、分享、成长,让自己和他人都能有所收获!😄 📢 USB协议定了多种类型的包,有令牌包、数据包和握手包。 根据PID可将USB2.0的包分为四种包类型。 令牌包(Token):01B数据包(Data):11B握手包…

QT下载、安装详细教程[Qt5.15及Qt6在线安装,附带下载链接]

QT5.15及QT6的下载和安装 1.下载1.1官网下载1.2国内镜像网站下载 2.安装3.软件启动及测试程序运行3.1Qt Creator&#xff08;Community&#xff09; 1.下载 QT自Qt5.15版本后不在支持离线安装包下载(非商业版本&#xff0c;开源)&#xff0c;故Qt5.15及Qt6需要使用在线安装程序…

云原生安全:风险挑战与安全架构设计策略

概述 数字化转型已经成为当今最流行的话题之一&#xff0c;大部分企业已经开启自身的数字化转型之旅&#xff0c;在未来企业只有数字化企业和非数字化企业之分。通过数字经济的加速发展&#xff0c;可以有效推动企业数字化转型的步伐。云计算作为数字化转型的底座和重要的载体…

Redis 面试题 | 07.精选Redis高频面试题

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

【思路合集】talking head generation+stable diffusion

1 以DiffusionVideoEditing为baseline&#xff1a; 改进方向 针对于自回归训练方式可能导致的漂移问题&#xff1a; 训练时&#xff0c;在前一帧上引入小量的面部扭曲&#xff0c;模拟在生成过程中自然发生的扭曲。促使模型查看身份帧以进行修正。在像VoxCeleb或LRS这样的具…

webpack如何把dist.js中某个模块js打包成一个全局变量,使得在html引入dist.js后可以直接访问

webpack可以通过使用expose-loader来将模块中的一个js文件暴露为全局可以访问的变量。下面是一个示例代码&#xff1a; 1、安装expose-loader npm install expose-loader --save-dev 2、webpack.config.js配置文件 值得注意的是&#xff1a;我在本地使用16.14.2版本的node打包…

【深度学习】初识深度学习

初识深度学习 什么是深度学习 关系&#xff1a; #mermaid-svg-7QyNQ1BBaD6vmMVi {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-7QyNQ1BBaD6vmMVi .error-icon{fill:#552222;}#mermaid-svg-7QyNQ1BBaD6vmMVi .err…

【AI大模型】WikiChat超越GPT-4:在模拟对话中事实准确率提升55%终极秘密

WikiChat&#xff0c;这个名字仿佛蕴含了无尽的智慧和奥秘。它不仅是一个基于人工智能和自然语言处理技术的聊天机器人&#xff0c;更是一个能够与用户进行深度交流的智能伙伴。它的五个突出特点&#xff1a;高度准确、减少幻觉、对话性强、适应性强和高效性能&#xff0c;使得…

Airtest自动化测试工具

一开始知道Airtest大概是在年初的时候&#xff0c;当时&#xff0c;看了一下官方的文档&#xff0c;大概是类似Sikuli的一个工具&#xff0c;主要用来做游戏自动化的&#xff0c;通过截图的方式用来解决游戏自动化测试的难题。最近&#xff0c;移动端测试的同事尝试用它的poco库…

GPT5?OpenAI 创始人:GPT5 已在训练中,需要更多数据

OpenAI 最近发出征集大规模数据集的呼吁&#xff0c;特别是“今天在互联网上尚未公开轻松获取”的数据集&#xff0c;尤其是长篇写作或任何格式的对话。 GPT-5丨AI浪潮席卷全球&#xff0c;OpenAI 推出GPT-4 后&#xff0c;又于上月26日宣布今年9月、10月将推出GPT-4.5&#xf…

【LeetCode-406】根据身高重建队列(贪心)

LeetCode406.根据身高重建队列 题目描述 题目链接 假设有打乱顺序的一群人站成一个队列&#xff0c;数组 people 表示队列中一些人的属性&#xff08;不一定按顺序&#xff09;。每个 people[i] [hi, ki] 表示第 i 个人的身高为 hi &#xff0c;前面 正好 有 ki 个身高大于…