机器学习期末复习:揭秘那些你必须知道的题目

注:该版本已修改,文中涉及到西瓜数据集的例子来着西瓜书。

机器学习期末复习

自动驾驶和机器学习的关系

自动驾驶的关键问题可抽象为一个机器学习任务。以 2004 年 3 月在美国 DARPA 组织的自动驾驶车比赛为例,斯坦福大学机器学习专家 S. Thrun 的小组研制的参赛车能在复杂路况下行驶,其原理是把车载传感器接收到的信息作为输入,把方向、刹车、油门的控制行为作为输出,这体现了机器学习在自动驾驶中的应用。

自动驾驶技术需要车辆能够根据传感器获取的环境数据做出正确的驾驶决策,而机器学习技术可以让车辆通过大量的数据进行 “学习”,从而对各种路况和突发情况做出合理的反应。例如,通过对大量不同天气、路况下的图像数据进行学习,自动驾驶车辆可以识别出道路、行人、其他车辆等,并做出相应的驾驶操作。

  1. 机器学习是自动驾驶的大脑

    • 自动驾驶汽车需要处理大量的数据,包括来自摄像头、雷达、激光雷达(LiDAR)等传感器的信息。这些数据需要被解释和理解,以做出驾驶决策。机器学习算法,特别是深度学习,能够从这些数据中学习模式和特征,从而识别道路、车辆、行人、交通标志等。这个过程类似于人类驾驶员通过经验学习如何驾驶。
  2. 机器学习使自动驾驶更智能

    • 机器学习算法能够不断从新数据中学习,这意味着随着时间的推移,自动驾驶系统可以变得更加智能和准确。例如,通过机器学习,自动驾驶汽车可以学习在不同天气和光照条件下如何更好地识别路标,或者在复杂的交通环境中如何安全地导航。
  3. 机器学习提高了自动驾驶的可靠性

    • 自动驾驶汽车需要在各种复杂和不可预测的情况下安全运行。机器学习可以帮助系统预测和响应这些情况。例如,通过分析历史数据,机器学习模型可以预测其他车辆或行人可能的行为,并提前做出反应,从而提高安全性。
  4. 机器学习促进自动驾驶的个性化

    • 每辆车和每个驾驶员都是独一无二的。机器学习可以帮助自动驾驶汽车根据驾驶员的偏好和习惯进行个性化调整。例如,一些驾驶员可能更喜欢平稳的驾驶,而其他人可能更倾向于激进的驾驶风格。机器学习算法可以学习这些偏好,并相应地调整驾驶行为。
  5. 机器学习是自动驾驶技术进步的驱动力

    • 随着机器学习技术的进步,自动驾驶汽车的能力也在不断提高。新的算法和模型不断被开发出来,以处理更复杂的任务,如自然语言处理(用于理解语音命令)和强化学习(用于在模拟环境中训练自动驾驶系统)。

监督学习和无监督学习

监督学习和无监督学习是机器学习中的两个重要分支,它们各自适用于不同的场景和任务。监督学习通过学习有标签的数据来预测结果,而无监督学习则在没有标签的情况下探索数据的内在结构。两者相辅相成,共同推动了机器学习技术的发展和应用。随着技术的进步,这两种学习方式也在不断融合和创新,比如半监督学习、自监督学习等新兴领域,它们结合了监督学习和无监督学习的特点,以解决更复杂的问题。

监督学习(Supervised Learning)

监督学习就像是一个学生在老师的指导下学习的过程。在这个过程中,学生(机器学习模型)会得到一系列的“例子”(训练数据),每个例子都包含了输入(比如图片、文本等)和正确的输出(标签)。模型的任务就是通过这些例子学习到一个规则,这个规则能够让它在给定新的输入时,预测出正确的输出。

  • 特点

    • 有标签的数据:监督学习使用的是标记过的训练数据,即每个训练样本都有一个对应的标签或结果。
    • 预测性任务:主要用于预测或分类任务,比如识别图片中的物体、预测房价等。
    • 模型训练:通过最小化模型预测和实际标签之间的差异来进行训练。
    • 评估标准:通常使用准确率、召回率等指标来评估模型性能。
  • 例子

    • 分类问题:垃圾邮件检测(将邮件分为垃圾邮件和非垃圾邮件)。
    • 回归问题:房价预测(根据房屋特征预测价格)。

无监督学习(Unsupervised Learning)

无监督学习更像是一个探索性的学习过程。在这种情况下,模型没有老师给出的正确答案,它需要自己从数据中发现模式和结构。无监督学习通常用于那些我们没有明确输出标签的数据集,或者我们想要探索数据内在结构的情况。

  • 特点

    • 无标签的数据:无监督学习使用未标记的数据,模型需要自行发现数据中的模式。
    • 探索性任务:主要用于发现数据的内在结构,比如聚类、降维等。
    • 模型训练:通过优化某种目标函数(比如最小化重构误差)来进行训练。
    • 评估标准:评估较为复杂,可能包括聚类质量指标、降维后的数据重构误差等。
  • 例子

    • 聚类问题:客户细分(将客户根据购买习惯分为不同的群体)。
    • 降维问题:PCA(主成分分析),用于减少数据的维度同时保留最重要的信息。

比较与联系

  • 目标不同:监督学习的目标是预测或分类,而无监督学习的目标是探索数据的内在结构。
  • 数据需求不同:监督学习需要有标签的数据,无监督学习则不需要。
  • 应用场景不同:监督学习适用于有明确输出的任务,无监督学习适用于探索数据结构或特征学习。
  • 模型复杂度:无监督学习通常比监督学习更复杂,因为它们需要在没有明确指导的情况下发现数据的模式。

交叉验证及其应用

什么是交叉验证

交叉验证(Cross-validation)是一种统计分析方法,用于评估机器学习模型的性能。它的核心思想是将原始数据集分成几个互不重叠的子集,每次使用其中的一部分作为测试集,而剩余的部分作为训练集。这个过程会重复多次,每次选择不同的子集作为测试集,从而确保每个数据点都被用作训练和测试。

交叉验证的作用

  1. 评估模型性能

    • 目的:交叉验证的主要目的是提供一个对模型泛化能力的可靠估计。泛化能力指的是模型在新、未见过的数据上的表现能力。
    • 方法:通过将数据集分成多个子集,交叉验证允许每个子集都有机会作为测试集,而其他子集作为训练集。这样可以多次评估模型性能,并减少因数据划分方式不同而带来的偏差。
    • 重要性:这种方法提供了一个更全面的性能评估,因为它考虑了模型在不同数据子集上的表现,而不是单一的测试集。
  2. 减少过拟合

    • 过拟合定义:过拟合是指模型在训练数据上表现很好,但在新数据上表现差,通常是因为模型过于复杂,学习到了训练数据中的噪声。
    • 交叉验证与过拟合:通过在多个数据子集上评估模型,交叉验证可以帮助识别过拟合。如果模型在某些子集上表现很好,而在其他子集上表现差,这可能是过拟合的迹象。
    • 实际应用:通过交叉验证,我们可以调整模型复杂度或使用正则化技术来减少过拟合,并评估这些调整的效果。
  3. 避免数据浪费

    • 数据划分问题:在样本数量有限的情况下,传统的数据划分可能导致训练集或测试集过小,影响模型训练和评估。
    • 交叉验证的优势:交叉验证通过在多个子集上重复训练和测试,确保所有数据都被充分利用,避免了数据浪费。
    • 效果:这种方法特别适合小样本数据集,因为它允许我们多次使用所有数据进行训练和测试,从而得到更可靠的模型性能评估。
  4. 提高模型稳定性

    • 模型稳定性定义:模型稳定性指的是模型在不同数据集上的表现是否一致。
    • 交叉验证与稳定性:通过在多个数据子集上重复训练和测试,交叉验证可以评估模型的稳定性。如果模型在每一折交叉验证中都表现良好,那么我们可以认为模型是稳定的。
    • 重要性:一个稳定的模型更有可能在新数据上表现良好,因为它不会因数据的微小变化而有大的性能波动。

交叉验证的实现方式

  1. K折交叉验证(K-Fold Cross-Validation)

    • K折交叉验证是最常见的交叉验证形式之一。在这种方法中,整个数据集被随机分成K个大小相等的子集(或称为“折”)。在每次迭代中,一个子集被保留作为测试集,而剩下的K-1个子集被用来训练模型。这个过程重复K次,每次选择不同的子集作为测试集,以确保每个子集都有机会被用作测试集。最终的性能评估是K次迭代结果的平均值。
  2. 留一交叉验证(Leave-One-Out Cross-Validation, LOOCV)

    • 留一交叉验证是一种特殊形式的K折交叉验证,其中K等于数据集中的样本数。在每次迭代中,只留下一个样本作为测试集,其余所有样本用于训练模型。由于每次只留下一个样本,这种方法在样本数量较多时可能会非常耗时,但它可以提供非常稳健的性能估计。
  3. 重复交叉验证(Repeated Cross-Validation)

    • 重复交叉验证是一种增强的交叉验证方法,它涉及多次执行交叉验证过程,每次使用不同的数据分割。这种方法可以减少由于数据随机分割导致的性能评估的方差。在重复交叉验证中,整个数据集会被多次随机分割成训练集和测试集,每次分割后都执行一次完整的交叉验证过程,最后取所有交叉验证结果的平均值作为最终的性能评估。

交叉验证的应用

  1. 医疗诊断

    • 在医疗领域,交叉验证被用来评估模型的诊断准确性,尤其是在癌症早期筛查等任务中。通过K折交叉验证,可以在未见过的新数据集上有效评估模型性能,优化模型选择和调参过程,提高模型的泛化能力。
  2. 金融风控

    • 在金融风控领域,交叉验证帮助金融机构评估模型的风险预测能力,降低风险。例如,在信用评分任务中,使用分层交叉验证可以确保每个子集中各类别的比例一致,更准确地评估模型性能。
  3. 自然语言处理(NLP)

    • 在NLP领域,交叉验证被用来评估模型性能,提高模型的泛化能力。例如,在情感分析任务中,使用K折交叉验证可以评估模型在未见过的新数据集上的表现,优化模型选择和调参过程。

信息增益

信息增益(Information Gain)是决策树算法中用于特征选择的一个重要概念。它基于信息论中的熵(Entropy)的概念,用来衡量一个特征对于分类的贡献大小。信息增益越大,表示该特征对于分类越有帮助。

是信息论中用来衡量信息量的一个概念,其计算公式为:

E ( S ) = − ∑ i = 1 n p i log ⁡ 2 p i \text{E}(S) = -\sum_{i=1}^{n} p_i \log_2 p_i E(S)=i=1npilog2pi

其中:

  • p i p_i pi是数据集中第 i i i类样本在样本集所占比例。(简单来说就是看标签数据分几类,分别对每一类计算占比,然后累加,最后取负值)
  • n n n是数据集中类别的总数。
  • E ( S ) E(S) E(S)值越小,样本纯度越高

条件熵是在已知某个特征的值的情况下,数据集的熵。其计算公式为:

E ( S , A ) = ∑ j = 1 m p j E ( S j ) \text{E}(S, A) = \sum_{j=1}^{m} p_j \text{E}(S_j) E(S,A)=j=1mpjE(Sj)

其中:

  • p j p_j pj是特征 A A A取第 j j j个值的概率。
  • S j S_j Sj是在特征 A A A取第 j j j个值时,数据集的子集。
  • m m m是特征 A A A可能取值的总数。

信息增益的计算公式如下:

IG = E ( S ) − E ( S , A ) \text{IG} = \text{E}(S) - \text{E}(S, A) IG=E(S)E(S,A)

其中:

  • E ( S ) \text{E}(S) E(S)是整个数据集 S S S的熵,表示数据集的不纯度或混乱程度。
  • E ( S , A ) \text{E}(S, A) E(S,A)是在特征 A A A的条件下,数据集 S S S的条件熵,表示在已知特征 A A A的值的情况下,数据集的不纯度。

信息增益的例子

求解思路:

  1. 计算整个数据集的熵 E ( S ) \text{E}(S) E(S)
  2. 对于每个特征 A A A,计算在该特征下的条件熵 E ( S , A ) \text{E}(S, A) E(S,A)
  3. 计算每个特征的信息增益 IG = E ( S ) − E ( S , A ) \text{IG} = \text{E}(S) - \text{E}(S, A) IG=E(S)E(S,A)
  4. 选择信息增益最大的特征作为分割数据集的特征。

假设我们有一个关于西瓜的数据集,其中包含七个特征:色泽(青绿、乌黑、浅白)、根蒂(蜷缩、稍蜷、硬挺)、敲声(浊响、沉闷、清脆)、纹理(清晰、稍糊、模糊)、脐部(凹陷、稍凹、平坦)、触感(硬滑、软粘),以及一个目标变量好瓜(是、否)。根据这些特征来预测西瓜是否为好瓜。

数据集

编号 色泽 根蒂 敲声 纹理 脐部 触感 好瓜
1 青绿 蜷缩 浊响 清晰 凹陷 硬滑
2 乌黑 蜷缩 沉闷 清晰 凹陷 硬滑
3 乌黑 蜷缩 浊响 清晰 凹陷 硬滑
4 青绿 蜷缩 沉闷 清晰 凹陷 硬滑
5 浅白 蜷缩 浊响 清晰 凹陷 硬滑
6 青绿 稍蜷 浊响 清晰 稍凹 软粘
7 乌黑 稍蜷 浊响 稍糊 稍凹 软粘
8 乌黑 稍蜷 浊响 清晰 稍凹 硬滑
9 乌黑 稍蜷 沉闷 稍糊 稍凹 硬滑
10 青绿 硬挺 清脆 清晰 平坦 软粘
11 浅白 硬挺 清脆 模糊 平坦 硬滑
12 浅白 蜷缩 浊响 模糊 平坦 软粘
13 青绿 稍蜷 浊响 稍糊 凹陷 硬滑
14 浅白 稍蜷 沉闷 稍糊 凹陷 硬滑
15 乌黑 稍蜷 浊响 清晰 稍凹 软粘
16 浅白 蜷缩 浊响 模糊 平坦 硬滑
17 青绿 蜷缩 沉闷 稍糊 稍凹 硬滑
计算步骤
一、计算总熵

总共有 17 条数据,其中:

  • 好瓜 (是):8 条
  • 坏瓜 (否):9 条

好瓜和坏瓜的比例分别是:
p 好瓜 = 8 17 , p 坏瓜 = 9 17 p_{\text{好瓜}} = \frac{8}{17}, \quad p_{\text{坏瓜}} = \frac{9}{17} p好瓜=178,p坏瓜=179

代入公式:
E ( S ) = − ( 8 17 log ⁡ 2 8 17 + 9 17 log ⁡ 2 9 17 ) E(S) = - \left( \frac{8}{17} \log_2 \frac{8}{17} + \frac{9}{17} \log_2 \frac{9}{17} \right) E(S)=(178log2178+179log2179)

计算结果:
E ( S ) ≈ − ( 0.470 ⋅ ( − 1.089 ) + 0.530 ⋅ ( − 0.918 ) ) = 0.997 E(S) \approx - \left( 0.470 \cdot (-1.089) + 0.530 \cdot (-0.918) \right) = 0.997 E(S)(0.470(1.089)+0.530(0.918))=0.997

二、针对每个特征计算条件熵和信息增益

特征1:色泽

色泽的取值有:青绿、乌黑、浅白,分布如下:

  • 青绿:6 条(好瓜 3,坏瓜 3)
  • 乌黑:6 条(好瓜 4,坏瓜 2)
  • 浅白:5 条(好瓜 1,坏瓜 4)

分别计算条件熵 E ( 色泽 ) E(\text{色泽}) E(色泽)
E ( 青绿 ) = − ( 3 6 log ⁡ 2 3 6 + 3 6 log ⁡ 2 3 6 ) = 1.000 E(\text{青绿}) = - \left( \frac{3}{6} \log_2 \frac{3}{6} + \frac{3}{6} \log_2 \frac{3}{6} \right) = 1.000 E(青绿)=(63log263+63log263)=1.000
E ( 乌黑 ) = − ( 4 6 log ⁡ 2 4 6 + 2 6 log ⁡ 2 2 6 ) ≈ 0.918 E(\text{乌黑}) = - \left( \frac{4}{6} \log_2 \frac{4}{6} + \frac{2}{6} \log_2 \frac{2}{6} \right) \approx 0.918 E(乌黑)=(64log264+62log262)0.918
E ( 浅白 ) = − ( 1 5 log ⁡ 2 1 5 + 4 5 log ⁡ 2 4 5 ) ≈ 0.722 E(\text{浅白}) = - \left( \frac{1}{5} \log_2 \frac{1}{5} + \frac{4}{5} \log_2 \frac{4}{5} \right) \approx 0.722 E(浅白)=(51log251+54log254)0.722

加权求和:
E ( 色泽 ) = 6 17 ⋅ 1.000 + 6 17 ⋅ 0.918 + 5 17 ⋅ 0.722 ≈ 0.886 E(\text{色泽}) = \frac{6}{17} \cdot 1.000 + \frac{6}{17} \cdot 0.918 + \frac{5}{17} \cdot 0.722 \approx 0.886 E(色泽)=1761.000+1760.918+1750.7220.886

信息增益:
I G ( 色泽 ) = E ( S ) − E ( 色泽 ) = 0.997 − 0.886 = 0.111 IG(\text{色泽}) = E(S) - E(\text{色泽}) = 0.997 - 0.886 = 0.111 IG(色泽)=E(S)E(色泽)=0.9970.886=0.111

特征2:根蒂

根蒂的取值有:蜷缩、稍蜷、硬挺,分布如下:

  • 蜷缩:8 条(好瓜 6,坏瓜 2)
  • 稍蜷:6 条(好瓜 2,坏瓜 4)
  • 硬挺:3 条(好瓜 0,坏瓜 3)

分别计算条件熵 E ( 根蒂 ) E(\text{根蒂}) E(根蒂)
E ( 蜷缩 ) = − ( 6 8 log ⁡ 2 6 8 + 2 8 log ⁡ 2 2 8 ) ≈ 0.811 E(\text{蜷缩}) = - \left( \frac{6}{8} \log_2 \frac{6}{8} + \frac{2}{8} \log_2 \frac{2}{8} \right) \approx 0.811 E(蜷缩)=(86log286+82log282)0.811
E ( 稍蜷 ) = − ( 2 6 log ⁡ 2 2 6 + 4 6 log ⁡ 2 4 6 ) ≈ 0.918 E(\text{稍蜷}) = - \left( \frac{2}{6} \log_2 \frac{2}{6} + \frac{4}{6} \log_2 \frac{4}{6} \right) \approx 0.918 E(稍蜷)=(62log262+64log264)0.918
E ( 硬挺 ) = − ( 0 3 log ⁡ 2 0 3 + 3 3 log ⁡ 2 3 3 ) = 0 E(\text{硬挺}) = - \left( \frac{0}{3} \log_2 \frac{0}{3} + \frac{3}{3} \log_2 \frac{3}{3} \right) = 0 E(硬挺)=(30log230+33log233)=0

加权求和:
E ( 根蒂 ) = 8 17 ⋅ 0.811 + 6 17 ⋅ 0.918 + 3 17 ⋅ 0 = 0.718 E(\text{根蒂}) = \frac{8}{17} \cdot 0.811 + \frac{6}{17} \cdot 0.918 + \frac{3}{17} \cdot 0 = 0.718 E(根蒂)=1780.811+1760.918+1730=0.718

信息增益:
I G ( 根蒂 ) = E ( S ) − E ( 根蒂 ) = 0.997 − 0.718 = 0.279 IG(\text{根蒂}) = E(S) - E(\text{根蒂}) = 0.997 - 0.718 = 0.279 IG(根蒂)=E(S)E(根蒂)=0.9970.718=0.279

特征3:敲声

敲声的取值有:浊响、沉闷、清脆,分布如下:

  • 浊响:8 条(好瓜 6,坏瓜 2)
  • 沉闷:3 条(好瓜 1,坏瓜 2)
  • 清脆:6 条(好瓜 1,坏瓜 5)

分别计算条件熵 E ( 敲声 ) E(\text{敲声}) E(敲声)
E ( 浊响 ) = − ( 6 8 log ⁡ 2 6 8 + 2 8 log ⁡ 2 2 8 ) ≈ 0.811 E(\text{浊响}) = - \left( \frac{6}{8} \log_2 \frac{6}{8} + \frac{2}{8} \log_2 \frac{2}{8} \right) \approx 0.811 E(浊响)=(86log286+82log282)0.811
E ( 沉闷 ) = − ( 1 3 log ⁡

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值