没有合适的资源?快使用搜索试试~ 我知道了~
首页华中科技大学机器学习讲义:监督学习与k近邻算法详解
华中科技大学机器学习讲义:监督学习与k近邻算法详解
需积分: 0 2 下载量 17 浏览量
更新于2024-07-01
收藏 2.9MB PDF 举报
本讲义是华中科技大学计算机科学与技术学院机器学习与数据挖掘实验室编撰的机器学习内部讲义,由何琨老师编纂,适用于本科生教学。讲义内容覆盖了机器学习的基础概念和关键算法,分为五章: 1. 引言部分介绍了机器学习的基本概念,包括其定义、历史以及主要的学习算法类型,如监督学习、无监督学习和强化学习。 2. 监督学习章节详细讨论了监督学习方法,包括标签空间和特征向量的概念,以及如何通过损失函数来衡量模型预测的准确性。举例说明了损失函数的作用,并强调了泛化能力在模型选择中的重要性。此外,还讲解了训练集和测试集的划分,以及数据划分的方法。 3. 第三章重点讲解了k近邻算法,涉及基本假设、分类规则、距离函数的选择,以及k值的影响。同时,讨论了维数灾难问题,即在高维空间中寻找最佳决策边界时的挑战。k-平均聚类算法也作为补充提及。 4. 感知机是第四章的核心内容,介绍了感知机分类模型的工作原理、感知机算法和其收敛性的探讨。 5. 贝叶斯方法与概率估计是后续章节的主题,涉及到联合概率分布、最大似然估计(MLE)和边际最大后验估计(MAP),这些都是构建基于概率模型的重要工具。 这门讲义不仅提供理论知识,还结合实例帮助理解,旨在为学生深入理解机器学习的核心思想和技术打下坚实基础。何琨老师鼓励读者对讲义提出改进意见,持续更新和完善内容。
资源详情
资源推荐
何琨 @ 华中科技大学
R
d
是 d 维特征空间
x
i
是第 i 个样本的特征向量
y
i
是第 i 个样本的标签
c 是标签空间
数据点 (x
i
, y
i
)来源于一些分布 P(X, Y),我们想要学习函数 h,对于新的点 (x, y) ∼ P,
有较高的概率使得 h(x) = y 或者 h(x) ≈ y。监督学习的整体模型如下:
图 2–1 监督学习
Figure 2–1 supervised learning
其中函数 h 属于假想集 H,假想集包括多种函数,如线性分类函数、决策树、人工
神经网络、SVM 等等。一个成功的机器学习实例都是基于某个假设。
下面,对于 X 和 Y 举一些例子。
2.2.1 标签空间实例
对于标签空间 c 有以下几种情形:
二分类 c =
{
0, 1
}
orc =
{
−1, +1
}
如垃圾邮件过滤,一封邮件是垃圾邮件 (+1) 或者不是 (-1)
多分类 c =
{
0, 1, . . . , K
}(
K ≥ 2
)
如脸分类器,一个人可以是 K 身份中的一个 (例如,“1”表示奥巴马,“2”表示布什)
回归 c = R 如预测未来的温度和人的身高
2.2.2 特征向量实例
我们称 x
i
为特征向量,d 维中的每一维表示第 i 个样本的一个特征,以下为几个例
子。
6
机器学习内部讲义
病人数据 x
i
=
{
x
1
i
, x
2
i
, . . . , x
d
i
}
,其中 x
1
i
=0 or 1,可能代表第 i 个病人的性别,x
2
i
可
能代表第 i 个病人的身高,x
3
i
可能代表第 i 个病人的年龄,等等。在这种情况下,
d ≤ 100 并且特征向量是密集的,即,i
x
中的非零坐标的数量相对于 d 是大的。
文本文档 x
i
=
{
x
1
i
, x
2
i
, . . . , x
d
i
}
,其中 x
α
i
是第 i 篇文档中第 α 个单词出现的次数。在
这种情况下,d ∼ 10000 −10M 并且特征向量是稀疏的,即,x
i
主要由零组成。避免
使用字典的一种常用方法是使用特征散列来直接将任何字符串散列到维度索引。
图片 这里特征代表像素值。x
i
=
{
x
1
i
, x
2
i
, . . . , x
3k
i
}
, 其中 x
3j−2
i
,x
3j−1
i
,x
3j
i
表示在图片
中第 j 个像素的红、绿、蓝的值。在这种情况下,d ∼ 10000 −10M 并且特征向量
是密集的。
2.3 损失函数
通常有两个步骤去学习一个假设函数 h()。首先, 我们选择适合这个特殊的学习问题
类型的机器学习算法。这定义了假设类 H,即我们可能学习的函数集。第二步是找到这
个类中的最佳函数,h ∈ H。第二步实际上是学习的过程,一般来说会涉及到优化问题。
本质上,我们试图在假设类中找到一个函数 h,它在我们的训练数据中出错最少。(如果
没有一个函数,我们通常会通过一些简单性的概念来选择“最简单”的函数——但是我
们将在后面的类中更详细地讨论这个问题。) 我们如何找到最好的函数? 为此,我们需
要某种方法来评估一个函数优于另一个函数。这就是损失函数 (又称风险函数) 的作用。
对于我们的训练集,一个损失函数对假设函数,h ∈ H 进行评估,并告诉我们情况有多
糟糕。损失越大,情况就越糟——损失为零意味着它可以做出完美的预测。通常的做法
是用训练样本的总数 n 对损失进行标准化,这样输出就可以解释为每个样本的平均损失
(与 n 无关)。
2.3.1 例子
0-1 损失函数: 最简单的损失函数是 0-1 损失函数。它从逐个计算假设函数 h 在训
练集上犯了多少错误。待对于每一个例子,如果预测错误,则损失为 1,否则损失
为 0。归一化后的 0-1 损失函数返回分类错误的集合占训练集的比例,也常称为训
练误差。0-1 损失函数常用于多分类或二分类环境下的分类器评估。但很少用于优
化过程,因为 0-1 损失函数是不可微的、非连续的。形式上,零一损失可以表述为:
L
0/1
(h) =
1
n
n
∑
i=1
δ
h(x)
i
,y
i
, whereδ
h(x)
i
,y
i
=
1 i f h(x)
i
, y
i
0 o.w.
7
何琨 @ 华中科技大学
这个损失函数返回了数据集 D 的错误率。对于分类器分类错误的每一个例子,会
造成 1 的损失,而分类正确的样本不会造成任何损失。
平方损失函数: 平方损失函数通常用于回归问题中。它遍历所有的样本,并且以
(h(x)
i
− y
i
)
2
为损失。平方操作有两个效果;1. 损失是非负的,2. 损失以绝对错误
预测量的平方增长。后一种性质不鼓励预测值距离实际值太远(否则后果将非常
严重,会产生截然不同的假设函数)。另一方面,如果一个预测非常接近于正确,
那么这个平方就会很小,为了获得零误差,人们很少关注这个例子。例如,如果
|(h(x)
i
−y
i
|=0.001 那么平方损失函数会更小,0.000001,并且很可能永远都无法纠
正。如果给定一个输入 x, 标签 y 是根据分布 P(x|y) 的概率。那么将平方损失最小
化的最优预测函数是其期望值,即 h(x) = E
P(x|y)
[y] 形式上平方损失为:
L
sq
(h) =
1
n
n
∑
i=1
(h(x)
i
− y
i
)
2
绝对损失函数: 与平方损失类似,绝对损失函数也通常用于回归问题。它受到
|h(x)
i
− y
i
| 的处罚。由于损失与错误预测呈线性增长,因此更适合于噪声数据
(当一些错误预测不可避免且不应主导损失时)。如果给定一个输入 x, 标签 y 是根
据分布 P(x|y) 的概率。那么为了使绝对损失最小化,最优预测函数是预测其中值,
即 h(x) = MEDIAN
P(x|y)
[y] 形式上,绝对损失可表示为:
L
abs
(h) =
1
n
n
∑
i=1
|h(x)
i
− y
i
|
2.4 泛化
给定一个损失函数,我们可以尝试找到使损失最小化的函数 h:
h = argmin
h∈H
L(h)
机器学习的很大一部分目光集中在这个问题上,如何有效地做到最小化。如果你发
现在你的数据集 D 上有一个使得损失函数较低的函数 h(·),你怎么知道他是否可以在
其他数据集上有同样的效果。
错误的例子“存储器”h(·)
h(x) =
y
i
, i f ∃(x
i
, y
i
) ∈ D, s.t., x = x
i
0
,
o.w.
对于这个 h(·),我们在训练集 D 上可以达到 0% 的错误率,但如果样本不在训练集
D 上,那么情况就糟糕透了。即这个函数存在过拟合问题。
8
机器学习内部讲义
2.5 训练集/测试集划分
为了解决过拟合问题,我们将数据集 D划分 为三个子集:D
T R
为训练集,D
V A
为
验证集,D
T E
为测试集,通常我们以 80%,10%,10% 的比例来划分。然后,我们根据
D
T R
来选择 h(·),根据 D
T E
来评估 h(·)。
思考?:我们为什么需要 D
V A
?
D
V A
是用来验证我们从 D
T R
获得的 h(·) 是否有过拟合的问题。h(·) 需要在 D
V A
上
被验证,如果损失函数较大,那么我们需要根据 D
T R
重新修正我们的 h(·),然后再次在
D
V A
上验证。这个过程会反复进行,直到在 D
V A
上损失函数较小。在 D
T R
和 D
V A
上
有一个平衡:对于较大的 D
T R
,训练结果会更好,但是如果 D
V A
更大,验证会更可靠
(噪音更小)。
2.5.1 如何划分数据
在训练、验证和测试集中划分数据时必须非常小心。测试集必须模拟真实的测试场
景,即模拟的是在现实生活中的事物。例如,如果你想训练一个电子邮件垃圾邮件过滤
器,你可以根据过去数据来训练一个系统来预测未来接收到的邮件是否为垃圾邮件。在
这里,将训练集/测试集以时间为基准分开是非常重要的——这样你就可以从过去严格
地预测未来。如果不存在时间分量,通常最好的是随机均匀地划分。绝对不要按字母或
特征值进行拆分。
根据时间,如果数据是根据时间来收集的。
通常,如果数据是时序的,我们必须 按时间分割它。
一致随机,当且仅当数据是独立同分布的。
测试集误差 (或测试集损失) 近似于真实的泛化误差/损失。
2.6 总结
我们通过最小化在训练集上的损失函数来训练分类器:
Learning : h
∗
(·) = argmin
h(·)∈H
1
|D
T R
|
∑
(x,y)∈D
T R
l(x, y |h(·))
9
何琨 @ 华中科技大学
其中 H 是假设类(即所有分类器 h(·) 的集合)。换句话说,我们正试图找到一个假
设函数 h,它在过去/已知数据上运行良好。我们对分类器在测试集的损失进行评估:
Evaluation : ϵ
T E
=
1
|D
T E
|
∑
(x,y)∈D
T E
l(x, y |h
∗
(·))
如果样本从相同的分布 P 中独立抽取的,则测试损失是泛化损失的无偏估计:
Generaliazation : ϵ = E
(x,y)∼P
[l(x, y |h
∗
(·))]
思考?: 为什么当 |D
T E
| → +∞ 时 ϵ
T E
→ ϵ?这是因为弱大数定理指出从数据中经
验地得到的平均值收敛于其分布的平均值。
没有免费的午餐: 每一个机器学习算法都需要对 H 进行假设。这个假设是取决于数
据的。并对数据集/分布 P 的假设进行编码。显然,没有一个完美的 H 可以解决所有的
问题。
例子
: 假设 (x
1
, y
1
) = (1, 1), (x
2
, y
2
) = (2, 2), (x
3
, y
3
) = (3, 3), (x
4
, y
4
) = (4, 4), (x
5
, y
5
) =
(5, 5).
提问:当 x = 2.5 时 y 的值会是多少?没有假设是不可能知道答案的。ML 算法最常
见的假设是要拟合的函数是局部光滑的。
10
剩余117页未读,继续阅读
张盛锋
- 粉丝: 30
- 资源: 297
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 新型矿用本安直流稳压电源设计:双重保护电路
- 煤矿掘进工作面安全因素研究:结构方程模型
- 利用同位素位移探测原子内部新型力
- 钻锚机钻臂动力学仿真分析与优化
- 钻孔成像技术在巷道松动圈检测与支护设计中的应用
- 极化与非极化ep碰撞中J/ψ的Sivers与cos2φ效应:理论分析与COMPASS验证
- 新疆矿区1200m深孔钻探关键技术与实践
- 建筑行业事故预防:综合动态事故致因理论的应用
- 北斗卫星监测系统在电网塔形实时监控中的应用
- 煤层气羽状水平井数值模拟:交替隐式算法的应用
- 开放字符串T对偶与双空间坐标变换
- 煤矿瓦斯抽采半径测定新方法——瓦斯储量法
- 大倾角大采高工作面设备稳定与安全控制关键技术
- 超标违规背景下的热波动影响分析
- 中国煤矿选煤设计进展与挑战:历史、现状与未来发展
- 反演技术与RBF神经网络在移动机器人控制中的应用
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功