机器学习_个人笔记_周志华(停更中......)

news2024/10/7 13:15:37

第1章 绪论

1.1 引言

形成优秀的心理表征,自然能成为领域内的专家。
系统1 & 系统2。

机器学习:致力于研究如何通过计算的手段,利用经验来改善系统自身的性能。主要研究计算机从数据中产生model的算法,即“learning algorithm”。
“经验”通常的存在形式——“数据”。

1.2 基本术语

数据集
每条记录——示例——样本
属性
属性值
属性空间——样本空间——输入空间
一个示例——特征向量(feature vector)
训练样本——训练示例(training instance)——训练例

学得模型亦称hypothesis,学习过程是为了逼近ground-truth。本书有时称模型为“学习器”(learner)。

标记空间(label space)——输出空间
分类(classificatioin):离散值预测类的学习任务。
回归(regression): 连续值预测类任务。
binary classification任务:includes positive class & negative class。
multi-class classification

预测类任务是希望建立输入空间x到输出空间y的映射f

testing:使用学得模型进行预测的过程。
testing sample:被预测的样本。
clustering
cluster

据training data是否拥有label information,划分为supervised learning & unsupervised learning,classification和regression是前者的代表,而clustering是后者的代表。

“泛化(generalization)”能力

1.3 假设空间

科学推理的两大基本手段:induction(归纳)& deduction(演绎)。
induction: 从特殊到一般。
deduciton: 从generalization到specialization。

inductive learning(归纳学习)——从样例中学习。分为广义和狭义。

version space

1.4 归纳偏好

inductive bias:机器学习算法在学习过程中对某种类型假设的偏好。任何一个有效的机器学习算法必有其归纳偏好,否则无法产生确定的学习结果。

Attention!!!
在这里插入图片描述
NFL定理:No Free Lunch Theorem!
NFL定理的重要前提:…
NFL Theorem的寓意:具体问题具体分析。学习算法自身的induction bias与problems是否相配,往往起决定性作用。

1.5 发展历程

20世纪50年代到70年代初:AI研究处于“推理期”。
20世纪70年代中期开始,”知识期“。
20世纪80年代,ML成为一个独立的学科领域,各种ML技术百花初绽——学习期。

本书大部分内容均属于广义的induction learning范畴,涵盖supervised learning and unsupervised learning等等。

ILP:Inductive Logic Programming(归纳逻辑程序设计)。

参数调节上失之毫厘,学习结果可能谬之千里。

statistical learning(统计学习)
Support Vector Machine(SVM,支持向量机)

深度学习:狭义地说是“很多层”的神经网络。

ML已发展为一个相当大的学科领域,本节仅管中窥豹。耐心读完本书会有更全面的了解。

1.6 应用现状

在CV及NLP等“计算机应用技术”领域,ML已成为最重要的技术进步源泉之一。ML也为许多交叉学科提供重要的技术支撑。
“数据分析”是ML技术的舞台。

ML提供数据分析能力,云计算提供数据处理能力,众包(crowdsourcing)提供数据标记能力。

数据挖掘(data mining)。
数据挖掘与机器学习的联系。
数据库领域研究为数据挖掘提供数据管理技术。ML和统计学的研究为data mining提供数据分析技术。

ML技术是建立输入与输出之间联系的内核。

奥巴马的“竞选核武器”——R.Ghani领导的机器学习团队。

如何学习?《刻意练习》《认知天性》《考试脑科学》有所介绍

1.7 阅读材料

在这里插入图片描述

第2章 模型评估与选择

2.1 经验误差与过拟合

error rate: E = a/m;
accuracy: = 1 - E
error(误差)
在这里插入图片描述

training error——empirical error
generalization error
overfitting(过拟合): 学习器把训练样本学得“太好”,且将一些的训练样本自身的特点“当作”所有潜在样本具有的一般性质,导致generalization性能下降的现象。亦称“过配”。
underfitting(欠拟合):亦称“欠配”。

underfitting比较容易克服,overfitting的则很麻烦,且overfitting的问题无法避免,只能“缓解”。
在这里插入图片描述

model selection
理想的解决方案,即选择generaliztion error最小的model.

2.2 评估方法

在这里插入图片描述
在这里插入图片描述

2.2.1留出法(hold-out)

hold-out: 直接将数据集D划分为两个互斥的集合,训练集S和测试集T。
在这里插入图片描述
“分层采样(stratified sampling)”:保留类别比例的采样方式。

保真性(fidelity)。
解决留出法的窘境问题,常见做法是将大约2/3 ~ 4/5的样本用于训练,剩余样本用于测试。

2.2.2 交叉验证法(cross validation)

cross validation: 将数据集D划分为k个大小相似的互斥子集。每个子集都尽可能保持数据分布的一致性,即从D中通过分层采样得到。

cross validation通常被称为“k折交叉验证(k-fold cross validation)”。
在这里插入图片描述
在这里插入图片描述
留一法(Leave-One-Out,简称LOO):假定数据集D中包含m个样本,若令k = m,则得到cross validation的一个特例。
LOO优点:评估结果往往被认为比较准确;LOO缺点:数据集比较大时,训练的计算开销将会非常大,且NTF定理对实验评估方法同样适用。

2.2.3 自助法(bootstrapping)

bootstrapping: 是一个比较好的解决方案,它直接以bootstrap sampling为基础。

D’作为训练集,D \ D’用作测试集。
“\”表示集合减法。
“out-of-bag estimate(包外估计)”。

bootstrapping在数据集较小、难以有效划分训练/测试集时很有用。其产生训练集的方式对集成学习等方法有很大帮助。但bootstrapping会引入估计偏差。故hold-out和cross validation在初始数据量足够时,更常用一些。

2.2.4 调参与最终模型

大多数学习算法都需设定某些parameter,parameter配置不同,学得model的性能往往有显著差别。

“参数调节”简称“调参(parameter tuning)”。
在这里插入图片描述

2.3 性能度量(performance measure)

model的"好坏"是相对的,不仅取决于algorithm和data,还决定于任务需求。

2.3.1 错误率与精度

2.3.2 查准率(precision)、查全率(recall)与F1

TP + FP + TN + FN = 样例总数

confusion matrix(混淆矩阵)
在这里插入图片描述
在这里插入图片描述
Precision: 给一批定好瓜和坏瓜,能分辨好瓜的能力。
Recall:将好瓜挑全的能力,FN属于把好瓜判为坏瓜,进而将其放回瓜堆。

在这里插入图片描述
“平衡点(Break-Event Point,简称BEP)”:是Precision = Recall时的取值。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.3.3 ROC与AUC

threshold(分类阈值)
cut point(截断点)
ROC(Receiver Operating Characteristic)曲线,源于“二战”中检测检测敌机的雷达信号分析技术。
AUC(Area Under ROC Curve)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.3.4 代价敏感错误率与代价曲线

unequal cost(非均等代价): 为权衡不同类型错误所造成的不同损失,可为错误赋予“unequal cost”。
cost matrix
total cost
cost-snesitive

在这里插入图片描述

2.4 比较检验

本小节涉及的基础知识为《概率论与数理统计》。

hypothesis test

二项(binomial)分布
binomial test(二项检验)
confidence(置信度)

在这里插入图片描述

2.4.1 假设检验

2.4.2 交叉验证 t 检验

2.4.3 McNemar检验

2.4.4 Friedman检验与Nemenyi后续检验

F检验

2.5 偏差与方差

偏差-方差分解(bias-variance decomposition)
泛化误差可分解为偏差、方差与噪声之和。

bias-variance dilemma(偏差-方差窘境)

在这里插入图片描述

2.6 阅读材料

第3章 线性模型

第4章 决策树

第5章 神经网络

第6章 支持向量机

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

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

相关文章

chatyoutube:AI快速整理影片内容

【产品介绍】 名称 chatyoutube 具体描述 Chat YouTube是一款基于ChatGPT与OpenAI的在线服务,其操作非常简单:只需提供一个YouTube视频链接,它就能根据视频内容回答您的问题、总结视频要点,甚至帮助您理解外语视频内容&#xff0c…

嵌入式学习笔记(32)S5PV210的向量中断控制器

6.6.1异常处理的2个阶段 可以将异常处理分为2个阶段来理解。第一个阶段是异常向量表跳转;第二个阶段是进入了真正的异常处理程序irq_handler之后的部分。 6.6.2回顾:中断处理的第一个阶段(异常向量表跳转阶段)处理 (…

OJ练习第173题——单词接龙 II

单词接龙 II 力扣链接:126. 单词接龙 II 题目描述 按字典 wordList 完成从单词 beginWord 到单词 endWord 转化,一个表示此过程的 转换序列 是形式上像 beginWord -> s1 -> s2 -> … -> sk 这样的单词序列,并满足&#xff1a…

C#,数值计算——64位哈希表的计算方法与实现代码

1 文本格式 using System; namespace Legalsoft.Truffer { public class HashAll { public HashAll() { } /// <summary> /// Pseudo-DES hashing of the 64-bit word(lword, rword). Both 32-bit arguments /// are …

辊轧机液压系统泵站比例阀放大器

液压系统主要由液压泵、电机、液压缸、油箱、高压软管等组成。 液压泵将机油从油箱吸入&#xff0c;通过高压软管送至液压缸中&#xff0c;完成动力转换。液压泵的驱动由电机通过皮带或轮齿传动完成。 液压折弯机的液压油流动路线主要分为液压油箱、吸油过滤器、液压泵、主控…

输入框不能为空格

需求&#xff1a;在表单中&#xff0c;输入的内容要去除两端空格 技术栈&#xff1a;vue elementui 1.允许输入空格 2.输入空格后表单非空验证不通过 1 使用表单验证 正则表达式 这种情况是匹配两边空格 有空格就验证失败 2 失去焦点触发 这种情况是去除两边空格 解决方式1&…

qt设计界面的属性编辑器不见了,如何恢复显示

不小心把属性编辑器给弄不见了&#xff0c; 如上图&#xff0c;qt控件编辑器界面不见了可以将光标点击信号和槽(signal_slot Ed..)&#xff0c;鼠标放到框内空白处右击&#xff0c;选择Central Widget就能看见控件编辑器了。 如下图所示

全志F1C200S ARM926 Melis2.0系统的开发相关工具文档及SDK源码库

全志F1C200S ARM926 Melis2.0系统的开发指引相关工具文档及SDK源码库 1. 编写目的2. Melis2.0 系统概述3. Melis2.0 快速开发3.1. Melis2.0 SDK 目录结构3.2. Melis2.0 编译环境3.3. Melis2.0 固件打包3.4. Melis2.0 固件烧录3.5.串口打印信息3.6. Melis2.0 添加和调用一个模块…

docker中已创建容器的修改方法

环境信息以CentOS8为例 停止容器 #docker stop 容器名或id docker stop mysql停止docker服务 systemctl stop docker修改docker配置文件 配置文件在&#xff1a; /var/lib/docker/containers/{容器id} 如&#xff1a;/var/lib/docker/containers/92acfba87567bcca981ad17c0e…

Redis Cluster 集群的介绍

Redis&#xff0c;作为一款开源的、内存中的数据结构存储系统&#xff0c;以其出色的性能和丰富的数据结构在业界赢得了广泛的认可。然而&#xff0c;当我们面临大量数据和高并发请求时&#xff0c;单个 Redis 实例可能无法满足我们的需求。这时&#xff0c;我们就需要使用到 R…

进入数据结构的世界

数据结构和算法的概述 一、什么是数据结构二、什么是算法三、如何去学习数据结构和算法四、算法的时间复杂度和空间复杂度4.1 算法效率4.2 大O的渐进表示法4.3 时间复杂度4.4 空间复杂度4.5 常见复杂度对比 一、什么是数据结构 数据结构是计算机存储、组织数据的方式。&#x…

如何让电脑同时远程控制5台手机?

AirDroid Cast是一款强大的投屏&控制工具&#xff0c;不仅支持将安卓、iOS、Windows、macOS系统相互投屏&#xff08;可远程&#xff09;&#xff0c;而且能让Windows系统及macOS系统的电脑远程控制安卓设备。 通过本文您将了解到如何使用AirDroid Cast&#xff0c;用Windo…

Spring底层的核心原理解析

这篇文章大致讲解一下spring的整个执行流程&#xff0c;也就是在我们脑子里面建立一个笼统的概念 spring如何创建一个容器呢 容器里面是对象 上面就是利用AnnotationConfigApplicationContext这个对象&#xff0c;然后传入了一个配置类的字节码对象给我们创建一个Spring容器&am…

【力扣每日一题】2023.9.13 检查骑士巡视方案

目录 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 代码&#xff1a; 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 题目给我们一个n*n大小的矩阵&#xff0c;矩阵的元素表示骑士已经行动的次数&#xff0c;问我们骑士能不能按照矩阵里元素顺序来巡视整个…

(python语言程序设计教程)自学一

&#xff08;python语言程序设计教程&#xff09;自学一 文章目录 前言一、计算机基础概述1. 计算机硬件组成2. 计算机软件与程序设计语言 二、python语言简介三、turtle库3.1. 画布设置&#xff1a;3.2. 基本方法3.3. 基本图形绘制 四、课后习题4.1. 求圆柱体体积4.2. 绘制一个…

redis 多租户隔离 ACL 权限控制(redis-cli / nodejs的ioredis )

Redis 6版本之后&#xff1a;提供ACL的功能对用户进行更细粒度的权限控制 &#xff1a;&#xff08;1&#xff09;接入权限:用户名和密码&#xff08;2&#xff09;可以执行的命令&#xff08;3&#xff09;可以操作的 KEY ACL常用规则介绍&#xff1a; 指令列表 //增加可操…

学Python的漫画漫步进阶 -- 第六步

学Python的漫画漫步进阶 -- 第六步 六、容器类型的数据6.1 序列6.1.1 序列的索引操作6.1.2 加和乘操作6.1.3 切片操作6.1.4 成员测试 6.2 列表6.2.1 创建列表6.2.2 追加元素6.2.3 插入元素6.2.4 替换元素6.2.5 删除元素 6.3 元组6.3.1 创建元组6.3.2 元组拆包 6.4 集合6.4.1 创…

【Java 基础篇】Java类型通配符:解密泛型的神秘面纱

在Java中&#xff0c;类型通配符&#xff08;Type Wildcard&#xff09;是泛型的重要概念之一。它使得我们能够更加灵活地处理泛型类型&#xff0c;使代码更通用且可复用。本文将深入探讨Java类型通配符的用法、语法和最佳实践。 什么是类型通配符&#xff1f; 类型通配符是一…

ArcGIS 10.4安装教程!

软件介绍&#xff1a;ArcGIS是一款专业的电子地图信息编辑和开发软件&#xff0c;提供一种快速并且使用简单的方式浏览地理信息&#xff0c;无论是2D还是3D的信息。软件内置多种编辑工具&#xff0c;可以轻松的完成地图生产全过程&#xff0c;为地图分析和处理提供了新的解决方…

计算机毕设 大数据上海租房数据爬取与分析可视化 -python 数据分析 可视化

# 1 前言 &#x1f525; 这两年开始毕业设计和毕业答辩的要求和难度不断提升&#xff0c;传统的毕设题目缺少创新和亮点&#xff0c;往往达不到毕业答辩的要求&#xff0c;这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通…