当前位置: 首页 > article >正文

【学习笔记】理解深度学习的基础:机器学习

1. 机器学习基础

1.1 机器学习的定义与重要性

  • 定义:深度学习是机器学习的一种特定形式。为了深入理解深度学习,必须牢固掌握机器学习的基本原理。机器学习算法是一种能够从数据中学习的算法,通过经验E在任务T上提高性能度量P(Mitchell, 1997)。
  • 重要性:对于解决那些对人类来说过于复杂、难以通过固定程序编写和设计的任务,机器学习提供了一种强大的工具。它广泛应用于各个领域,如图像识别、语音识别、自然语言处理等。

1.2 机器学习的任务类型

  • 分类任务:计算机程序需要指定输入属于k个类别中的哪一个。例如,图像识别中,输入是图像,输出是识别出的物体类别。
  • 回归任务:计算机程序需要预测给定输入的数值。例如,预测保险索赔金额或未来证券价格。
  • 转录任务:观察某种数据的相对非结构化表示,并将其转录成离散文本形式。例如,光学字符识别和语音识别。
  • 机器翻译任务:将一种语言的符号序列转换为另一种语言的符号序列。例如,英语到法语的翻译。
  • 结构化输出任务:输出是一个向量(或其他包含多个值的数据结构),元素之间具有重要关系。例如,图像分割和图像标注。
  • 异常检测任务:在一组事件或对象中标记出那些不寻常或典型的。例如,信用卡欺诈检测。
  • 合成与采样任务:自动生成纹理、声音等。例如,语音合成。
  • 缺失值填充:预测输入中缺失的值。
  • 去噪:从损坏的输入中预测干净的示例。
  • 密度估计:学习输入数据的概率分布。

1.3 性能度量

  • 准确率:对于分类、分类与缺失输入、转录等任务,常用准确率来衡量模型性能。准确率是正确分类的示例比例。
  • 对数概率:对于密度估计等任务,常用平均对数概率来衡量模型性能。
  • 测试集:为了评估模型在未见过的数据上的性能,通常使用与训练集分开的测试集。

2. 监督学习与无监督学习

2.1 监督学习

  • 定义:监督学习算法观察一组包含特征和标签的示例,学习从特征预测标签。例如,使用标注了物种的鸢尾花数据集来训练分类算法。
  • 目标:估计条件概率分布p(y|x),即给定输入x时输出y的概率。

2.2 无监督学习

  • 定义:无监督学习算法只观察特征,不观察监督信号(标签)。目标通常是发现数据中的某些结构。
  • 任务:包括密度估计、聚类、降维等。例如,主成分分析(PCA)是一种无监督学习算法,用于数据降维。

2.3 半监督学习与多实例学习

  • 半监督学习:部分示例有监督目标,部分没有。
  • 多实例学习:整个示例集合被标注为包含或不包含某个类别的示例,但集合中的单个成员未被标注。

3. 学习算法的基本组件

3.1 数据集

  • 设计矩阵:一种常见的数据集描述方式,其中每行是一个示例,每列是一个特征。例如,鸢尾花数据集可以用一个150行4列的设计矩阵表示。
  • 异构数据:当示例不能用相同大小的向量表示时,数据集可以描述为一组元素。

3.2 成本函数

  • 定义:成本函数衡量模型在训练集上的性能。例如,线性回归中常用的均方误差(MSE)成本函数。
  • 优化:学习算法的目标是找到使成本函数最小化的参数。

3.3 模型

  • 定义:模型是算法学习的假设空间中的函数。例如,线性回归模型是输入x的线性函数。
  • 容量:模型的容量是指其拟合各种函数的能力。容量过低可能导致欠拟合,过高可能导致过拟合。

3.4 优化算法

  • 定义:优化算法用于找到使成本函数最小化的模型参数。例如,梯度下降算法。
  • 随机梯度下降(SGD):一种常用于大规模数据集的优化算法,通过在每个步骤中估计梯度来更新参数。

4. 线性回归示例

4.1 定义与输出

  • 定义:线性回归是一种解决回归问题的算法,输出是输入的线性函数。
  • 输出:ˆy = wx,其中w是参数向量,x是输入向量。

4.2 性能度量与成本函数

  • 均方误差(MSE):常用作线性回归的性能度量,定义为预测值与真实值之差的平方的平均值。
  • 成本函数:在训练过程中,算法的目标是最小化MSE成本函数。

4.3 正规方程

  • 定义:正规方程提供了一种直接求解线性回归参数的方法,而不需要迭代优化。
  • :w = (X^TX)^(-1)X^Ty,其中X是设计矩阵,y是目标向量。

5. 欠拟合与过拟合

5.1 定义

  • 欠拟合:模型在训练集上的误差较大,无法很好地拟合数据。
  • 过拟合:模型在训练集上表现很好,但在未见过的数据上表现很差。

5.2 容量与泛化能力

  • 容量:模型的容量决定了其拟合复杂函数的能力。容量过低导致欠拟合,过高导致过拟合。
  • 泛化能力:模型在未见过的数据上的性能称为泛化能力。

5.3 控制容量

  • 方法:通过选择假设空间(即模型类型)和调整模型参数的数量来控制容量。例如,增加多项式回归的度数可以增加容量。
  • 正则化:一种通过向成本函数添加惩罚项来控制容量的方法。例如,权重衰减(L2正则化)。

6. 交叉验证与模型选择

6.1 交叉验证

  • 定义:一种评估模型性能的方法,通过将数据集分成多个子集,轮流使用其中一部分作为测试集,其余部分作为训练集。
  • k折交叉验证:将数据集分成k个子集,进行k次训练和测试,每次使用不同的子集作为测试集。

6.2 验证集

  • 定义:一部分从训练集中分离出来的数据,用于调整模型参数(如正则化强度)。
  • 用途:帮助选择模型参数,避免直接使用测试集导致乐观估计。

7. 估计器、偏差与方差

7.1 点估计

  • 定义:提供单个“最佳”预测的估计方法。例如,线性回归中的权重估计。
  • 偏差:估计器的偏差是其期望值与真实值之差。无偏估计器的偏差为零。

7.2 方差

  • 定义:估计器的方差衡量其输出随数据集变化而变化的程度。
  • 标准误差:方差的平方根,用于估计真实期望值落在某个区间内的概率。

7.3 偏差-方差权衡

  • 定义:在偏差和方差之间进行权衡以最小化均方误差(MSE)。
  • U形曲线:随着模型容量的增加,偏差减小,方差增大,导致泛化误差呈现U形曲线。

8. 最大似然估计

8.1 定义

  • 最大似然估计(MLE):一种通过最大化观测数据似然来估计参数的方法。
  • 对数似然:为了方便计算,通常使用对数似然函数。

8.2 性质

  • 一致性:在适当条件下,最大似然估计量随着样本量的增加收敛到真实参数值。
  • 效率:在固定样本量下,最大似然估计量通常比其他估计量具有更低的均方误差。

8.3 线性回归与最大似然

  • 线性回归:可以解释为最大似然估计的一个特例,其中假设输出服从高斯分布。
  • 条件对数似然:在监督学习中,通常最大化条件对数似然。

9. 贝叶斯统计

9.1 定义

  • 贝叶斯统计:一种使用概率来反映知识状态的统计方法。与频率派统计不同,贝叶斯统计将参数视为随机变量。
  • 先验分布:在观察数据之前对参数的信念分布。

9.2 后验分布

  • 定义:通过贝叶斯定理结合先验分布和似然函数得到的后验分布。
  • 预测:使用后验分布进行预测,而不是单一的点估计。

9.3 最大后验估计(MAP)

  • 定义:一种结合先验信息和数据似然来找到单个点估计的方法。
  • 示例:线性回归中的权重衰减可以解释为最大后验估计。

10. 监督学习算法

10.1 概率监督学习

  • 定义:大多数监督学习算法基于估计条件概率分布p(y|x)。
  • 示例:线性回归和逻辑回归都是概率监督学习算法。

10.2 支持向量机(SVM)

  • 定义:一种用于分类和回归的监督学习模型。
  • 核技巧:通过将输入映射到高维空间来允许非线性决策边界。

10.3 k近邻算法

  • 定义:一种简单的非参数监督学习算法,通过查找训练集中最近的k个邻居来进行分类或回归。
  • 优点:能够处理高容量,但在小训练集上可能泛化能力差。

10.4 决策树

  • 定义:一种将输入空间分成多个区域的监督学习算法,每个区域有一个单独的参数。
  • 优点:易于理解和解释,但可能难以处理非线性决策边界。

11. 无监督学习算法

11.1 主成分分析(PCA)

  • 定义:一种用于数据降维和特征提取的无监督学习算法。
  • 目标:找到一个低维表示,尽可能保留原始数据的信息。

11.2 k均值聚类

  • 定义:一种将数据集分成k个簇的无监督学习算法。
  • 目标:最小化簇内点到簇中心的距离之和。

12. 深度学习与机器学习的关系

12.1 深度学习的动机

  • 传统机器学习的局限性:在高维空间中学习复杂函数时,传统机器学习算法面临泛化能力差和计算成本高的挑战。
  • 深度学习的优势:通过引入深度分布式表示,深度学习能够克服这些挑战,并在许多AI任务中取得显著效果。

12.2 深度学习的基本原理

  • 表示学习:深度学习算法能够自动学习数据的层次化表示,这些表示对于解决复杂任务非常有用。
  • 深层网络:通过堆叠多个非线性层,深度学习算法能够构建非常复杂的函数,从而捕捉数据中的复杂模式。

12.3 深度学习的应用

  • 图像识别:深度学习在图像识别领域取得了巨大成功,如卷积神经网络(CNN)在ImageNet竞赛中的表现。
  • 语音识别:深度学习在语音识别中的应用也取得了显著进展,如循环神经网络(RNN)和长短时记忆网络(LSTM)的应用。
  • 自然语言处理:深度学习在自然语言处理任务中表现出色,如机器翻译、文本生成等。

总结

本文详细介绍了机器学习的基础知识,包括机器学习的定义、任务类型、性能度量、监督学习与无监督学习、学习算法的基本组件等。通过线性回归示例,阐述了学习算法如何最小化成本函数以找到最佳参数。同时,讨论了欠拟合与过拟合的问题,以及如何通过控制模型容量和正则化来避免这些问题。此外,还介绍了交叉验证、模型选择、估计器、偏差与方差等概念,为读者提供了全面的机器学习知识框架。

在监督学习算法部分,本文介绍了概率监督学习、支持向量机、k近邻算法和决策树等常见算法。在无监督学习算法部分,介绍了主成分分析和k均值聚类等算法。这些算法为读者提供了解决不同类型问题的工具。

本文探讨了深度学习与机器学习的关系,阐述了深度学习的动机、基本原理和应用。通过与传统机器学习算法的比较,展示了深度学习在处理复杂任务时的优势。深度学习通过自动学习数据的层次化表示和构建复杂函数,能够在许多AI任务中取得显著效果。


http://www.kler.cn/a/500787.html

相关文章:

  • 线程安全问题介绍
  • 【权限管理】CAS(Central Authentication Service)
  • 音视频入门基础:RTP专题(2)——使用FFmpeg命令生成RTP流
  • webpack打包要义
  • 什么是MVCC
  • 【ASP.NET学习】Web Pages 最简单的网页编程开发模型
  • 深入浅出Java Web开放平台:从API设计到安全保障的全方位探索
  • --- 多线程编程 基本用法 java ---
  • 从零开始开发纯血鸿蒙应用之多签名证书管理
  • A3. Springboot3.x集成LLama3.2实战
  • B+ 树的实现原理与应用场景
  • 20250112面试鸭特训营第20天
  • 移动端屏幕分辨率rem,less
  • 前端开发:HTML常见标签
  • 慧集通(DataLinkX)iPaaS集成平台-业务建模之业务对象(二)
  • Linux权限管理(用户和权限之间的关系)
  • MATLAB语言的文件操作
  • 《分布式光纤测温:解锁楼宇安全的 “高精度密码”》
  • 如何在本地部署大模型并实现接口访问( Llama3、Qwen、DeepSeek等)
  • mark 一下conductor github
  • 【前端动效】原生js实现拖拽排课效果
  • 第二届城市建设与交通运输国际学术会议(UCT 2025)
  • Maven多模块项目如何灵活构建