周志华《机器学习》第一章绪论学习笔记+习题

本文深入探讨了机器学习的基本概念,包括样本、数据集、特征、属性值、样本空间、特征向量、分类、回归、聚类、监督学习、无监督学习等。详细解释了假设空间、归纳偏好等关键理论,并通过西瓜数据集的例子,阐述了版本空间的计算方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一章 绪论

1.1 引言

    人类可以对很多未知的事物作出有效的预判,是因为我们已经积累了许多经验,而通过对经验的利用,就能对心的情况作出有效的决策。

    同样的预判能力,计算机能够完成吗?

    机器学习正是这样一门学科,它致力于研究如何通过计算的手段,利用经验来改善系统自身的性能。机器学习所研究的主要内容就是“学习算法”,“学习算法”就是指计算机通过从数据中产生“模型”的过程。有了学习算法,我们为它提供数据,算法基于数据产生模型。产生的模型就可以完成类似于人类的预判能力。

(本书中的“模型”是指从数据中学习得到的结果)

1.2 基本术语

    要进行机器学习,数据是必不可少的。

    西瓜数据集:

(色泽=青绿;根蒂=蜷缩;敲声=清脆)、

(色泽=乌黑;根蒂=硬挺;敲声=清脆)、

    样本(sample)/示例(instance):每一条记录了一个事件或者对象的数据记录称为一个样本。

    数据集(data set):记录数据的集合。此例中,是指包含了所有的西瓜样本的数据。

    特征(feature)/属性(attribute):反应事件或对象在某方面的表现或性质。在此数据中,色泽、根蒂、敲声 这三项就是本数据中的特征。

    属性值(attribute value):属性值就是指数据中特征的具体描述。例如本数据中的色泽特征下的属性值就是 青绿、乌黑等关于色泽的描述,也就是色泽的取值。

    样本空间(sample space):数据中所有特征组成的空间,称为样本空间。本例中的样本空间就是由三个特征值组成的一个三维空间。每一条数据都可以通过三个特征找到自己在样本空间的位置。

    特征向量(feature vector):数据集中的每一样本,在样本空间中都会变成一一对应的向量,所以我们也称一个样本为一个特征向量。

    分类:预测的结果是离散的。为了把数据区分出不同的种类。例如区分好瓜,坏瓜。

    回归:预测的结果是连续的。为了预测数据对应某种特征的程度。例如判断西瓜的成熟度0.85,0.37。

    聚类(clustering): 将训练集中的数据分成若干组,每个组可以称为一个“簇”,这些自动形成的簇可能对应一些潜在的概念划分。这些潜在的划分概念我们是不知道的。

  监督学习(supervised learning):通过学习已知的数据得到一个模型,该模型可以预测相同数据的对应结果。分类和回归均属于监督学习。

  无监督学习(unsupervised learning):为获得潜在的未知的属性值,对数据集进行学习。聚类为无监督学习的代表。

1.3假设空间 

    归纳:从特殊到一般的“泛化”过程,即从具体的事实归结出一般性的规律。

    演绎:从一般到特殊的“特化”过程,即从基础原理推演出具体状况。

    机器学习中,大多是完成归纳任务,所以我们可以将训练过程称为“归纳学习”

    我们可以把学习过程看作一个在所有假设组成的空间中进行搜索的过程。假设的表示一旦确定,假设空间及其规模大小就确定了。

   西瓜例子中的空间假设                    

西瓜数据集中存在三个特征色泽,根蒂,敲声。每个特征拥有3个可能的属性值。但是有可能某个特征并不会影响好瓜坏瓜的结果。所以一个西瓜的结果最终会由每个特征的某个确定属性值和忽略这个特征来决定。所以每个特征的三个属性值和忽略这个特征就是我们所有假设。下面我们对一个瓜的结果作假设,那么假设空间的大小就是(3+1)*(3+1)*(3+1) = 64。但是有可能好瓜这个概念根本不存在,没有好瓜这个东西。所以要额外添加一个假设。那么最终的假设空间就是 64 + 1 = 65.

1.4 归纳偏好

    机器学习算法在学习过程中对某种类型假设的偏好,称为“归纳偏好”。算法的偏好可以是选择“尽可能一般”的模型,也可以是选择“尽可能特殊的模型”。

    任何一个有效的机器学习算法必有其归纳偏好。

    奥卡姆剃刀定律:若有多个假设与观察一致,则选择最简单的哪个。 

    NFL(没有免费的午餐):要谈论算法的相对优劣,必须要针对具体的学习问题。
 

第一章习题:转载自大神博客:https://blog.csdn.net/icefire_tyh/article/details/52065224

1.表1.1中若只包含编号为1,4的两个样例,试给出相应的版本空间。
假设空间指的是问题所有假设组成的空间,我们可以把学习过程看作是在假设空间中搜索的过程,搜索目标是寻找与训练集“匹配”的假设。
1
假设数据集有n种属性,第i个属性可能的取值有titi种,加上该属性的泛化取值(*),所以可能的假设有∏i(ti+1)∏i(ti+1)。再用空集表示没有正例,假设空间中一共∏i(ti+1)+1∏i(ti+1)+1种假设。 
现实问题中常面临很大的假设空间,我们可以寻找一个与训练集一致的假设集合,称之为版本空间。版本空间从假设空间剔除了与正例不一致和与反例一致的假设,它可以看成是对正例的最大泛化。 
版本空间的可以通过搜索假设空间来得到,这样需要遍历完整的假设空间。如果数据集中有正例,则可以先对一个正例进行最大泛化,得到2n2n个假设,然后再对这些假设进行剔除操作,可以适当精简计算量。 
西瓜数据集(精简)

编号    色泽    根蒂    敲声    好瓜
1    青绿    蜷缩    浊响    是
2    乌黑    稍蜷    沉闷    否
数据集有3个属性,每个属性2种取值,一共 3∗3∗3+1=283∗3∗3+1=28种假设,分别为

1.色泽=青绿 根蒂=蜷缩 敲声=浊响
2.色泽=青绿 根蒂=蜷缩 敲声=沉闷
3.色泽=青绿 根蒂=稍蜷 敲声=浊响
4.色泽=青绿 根蒂=稍蜷 敲声=沉闷
5.色泽=乌黑 根蒂=蜷缩 敲声=浊响
6.色泽=乌黑 根蒂=蜷缩 敲声=沉闷
7.色泽=乌黑 根蒂=稍蜷 敲声=浊响
8.色泽=乌黑 根蒂=稍蜷 敲声=沉闷
9.色泽=青绿 根蒂=蜷缩 敲声=*
10.色泽=青绿 根蒂=稍蜷 敲声=*
11.色泽=乌黑 根蒂=蜷缩 敲声=*
12.色泽=乌黑 根蒂=稍蜷 敲声=*
13.色泽=青绿 根蒂=* 敲声=浊响
14.色泽=青绿 根蒂=* 敲声=沉闷
15.色泽=乌黑 根蒂=* 敲声=浊响
16.色泽=乌黑 根蒂=* 敲声=沉闷
17.色泽=* 根蒂=蜷缩 敲声=浊响
18.色泽=* 根蒂=蜷缩 敲声=沉闷
19.色泽=* 根蒂=稍蜷 敲声=浊响
20.色泽=* 根蒂=稍蜷 敲声=沉闷
21.色泽=青绿 根蒂=* 敲声=*
22.色泽=乌黑 根蒂=* 敲声=*
23.色泽=* 根蒂=蜷缩 敲声=*
24.色泽=* 根蒂=稍蜷 敲声=*
25.色泽=* 根蒂=* 敲声=浊响
26.色泽=* 根蒂=* 敲声=沉闷
27.色泽=* 根蒂=* 敲声=*
28.空集Ø 
编号1的数据可以删除 2−8,10−12,14−16,18−20,22,24,26,282−8,10−12,14−16,18−20,22,24,26,28(不包含数据1) 
编号1的数据可以删除 2727(包含了数据2) 
所以版本空间为:
1.色泽=青绿 根蒂=蜷缩 敲声=浊响
9.色泽=青绿 根蒂=蜷缩 敲声=*
13.色泽=青绿 根蒂=* 敲声=浊响
17.色泽=* 根蒂=蜷缩 敲声=浊响
21.色泽=青绿 根蒂=* 敲声=*
23.色泽=* 根蒂=蜷缩 敲声=*
25.色泽=* 根蒂=* 敲声=浊响 
一般情况下版本空间是正例的泛化,但由于数据集中只有1个正例,所以在版本空间中依然包含了这个样本的假设(假设1)。
2.与使用单个合取式来进行假设表示相比,使用“析合范式”将使得假设空间具有更强的表示能力。若使用最多包含k个合取式的析合范式来表达1.1的西瓜分类问题的假设空间,试估算有多少种可能的假设。
http://blog.csdn.net/icefire_tyh/article/details/52065626
3.若数据包含噪声,则假设空间中可能不存在与所有训练样本都一致的假设。在此情形下,试设计一种归纳偏好用于假设选择
通常认为两个数据的属性越相近,则更倾向于将他们分为同一类。若相同属性出现了两种不同的分类,则认为它属于与他最临近几个数据的属性。也可以考虑同时去掉所有具有相同属性而不同分类的数据,留下的数据就是没误差的数据,但是可能会丢失部分信息。

4.本章1.4节在论述“没有免费的午餐”定理时,默认使用了“分类错误率”作为性能度量来对分类器进行评估。若换用其他性能度量ll,试证明没有免费的午餐”定理仍成立
还是考虑二分类问题,NFL首先要保证真是目标函数f均匀分布,对于有X个样本的二分类问题,显然f共有2X2X种情况。其中一半是与假设一致的,也就 P(f(x)=h(x))=0.5P(f(x)=h(x))=0.5。 
此时, ∑fl(h(x),f(x))=0.5∗2X∗(l(h(x)=f(x))+l(h(x)≠f(x)))∑fl(h(x),f(x))=0.5∗2X∗(l(h(x)=f(x))+l(h(x)≠f(x))) 
l(h(x)=f(x))+l(h(x)≠f(x))l(h(x)=f(x))+l(h(x)≠f(x))应该是个常数,隐含的条件就该是(一个比较合理的充分条件) l(0,0)=l(1,1),l(1,0)=l(0,1)l(0,0)=l(1,1),l(1,0)=l(0,1)。如果不满足, NFL 应该就不成立了(或者不那么容易证明)。

5.试述机器学习在互联网搜索的哪些环节起什么作用
1.最常见的,消息推送,比如某东经常说某些商品我可能会感兴趣,然而并没有。 
2.网站相关度排行,通过点击量,网页内容进行综合分析。 
3.图片搜索,现在大部分还是通过标签来搜索,不过基于像素的搜索也总会有的吧。
 

 

### 关于周志华机器学习》(西瓜书)第二章的学习笔记 #### 模型评估与选择概述 模型评估与选择是机器学习领域的重要组成部分,旨在通过合理的方法评价不同模型的表现并挑选最优者。这一过程不仅涉及如何衡量单个模型的好坏,还包括怎样对比多个候选方案以做出最佳决策。 #### 偏差、方差和噪声的概念解析 偏差度量了学习算法的期望预测与实际结果之间的差距,反映了算法自身的拟合精度;方差描述的是相同规模训练集变化引起的学习效果波动情况,体现了数据扰动带来的影响;而噪声则设定了给定任务下所有可能采用的学习方法能达到的最佳预期泛化误差界限,揭示了问题本身固有的复杂性和挑战性[^2]。 #### 性能度量指标——P-R图及其应用 为了更直观地展示各类分类器的工作特性,通常会绘制精确率-召回率(Precision-Recall, P-R)曲线来辅助分析。当面对多组实验结果时,可以通过观察这些图形相互间的位置关系来进行优劣评判:如果某条曲线始终位于另一条之上,则表明前者具有更好的整体表现;而对于那些存在交点的情况,则需进一步计算各自下方区域面积大小作为判断依据之一。此外,“平衡点”作为一种特殊的性能测度,在特定条件下也能提供有价值的参考信息[^3]。 #### 偏差-方差分解理论简介 该理论为理解学习算法的一般化能力提供了框架性的指导思路,通过对平均测试错误率实施拆分操作,可以深入剖析导致过拟合现象背后的原因所在,并据此探索改进措施的方向。具体而言,总误差由三部分构成——不可约减误差点(即噪声)、平方形式表达出来的偏差项以及线性累加而成的方差成分[^4]。 ```python import numpy as np from sklearn.model_selection import train_test_split from sklearn.metrics import precision_recall_curve, auc def evaluate_model_performance(model, X, y): """ 计算并返回PR曲线下面积(AUC),用于量化模型的整体性能。 参数: model (object): 已经训练好的分类模型实例。 X (array-like of shape (n_samples, n_features)): 测试特征矩阵。 y (array-like of shape (n_samples,)): 对应的真实标签向量。 返回: float: PR AUC得分。 """ # 划分训练集/验证集 X_train, X_val, y_train, y_val = train_test_split(X, y, test_size=0.2) # 使用训练集拟合模型 model.fit(X_train, y_train) # 获取验证集中各观测对应的概率估计值 probas_pred = model.predict_proba(X_val)[:, 1] # 绘制PR曲线并求得AUC分数 precisions, recalls, _ = precision_recall_curve(y_val, probas_pred) pr_auc_score = auc(recalls, precisions) return pr_auc_score ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值