【深度学习基础】从零开始的炼丹生活01——机器学习基本概念、统计学基本概念简单介绍

往期回顾:从零开始的炼丹生活00——机器学习数学基础以及数值计算数值优化方法

这里主要介绍一下机器学习基本概念、统计学基本概念(参考《统计学习方法》,《深度学习》等)


一、什么是机器学习

机器学习又可以称为统计学习。机器学习算法是一种能够从数据中学习的算法,那么什么是学习呢?有如下定义:

”如果一个系统能够通过执行某个过程改进它的性能,这就是学习。"
"对于某类任务 T T T和性能度量 P P P,一个计算机可从经验 E E E中学习是指,通过经验 E E E改进后,它在任务 T T T上由性能度量 P P P衡量的性能有所提升。"

1. 任务 T T T

通常机器学习任务定义为机器学习系统如何处理样本,我们通常会将其表示为一个向量。常见的机器学习任务如下:

  • 分类
  • 输入缺失分类(即输入向量中包含缺失项)
  • 回归
  • 转录(将一种形式的数据转化成另一种形式。如:图片→文字描述)
  • 机器翻译
  • 结构化输出(输出是一个向量或数据结构,且构成输出的不同元素之间相互关联)
  • 异常检测
  • 合成和采样
  • 缺失值填补
  • 去噪
  • 密度估计或概率质量估计
  • ……
2.性能度量 P P P

P P P是特定于 T T T的,例如对于分类问题,我们可以采用准确率来度量。但通常选择一个与系统理想表现对应的性能度量通常是很困难的。

  • 某些情况下我们不知道应该度量什么,如转录任务中,我们应该度量整个序列还是度量部分的正确性?因此度量的设计由我们实际应用需要决定。
  • 另一些情况是我们想度量的数值不容易度量,如很多隐式表示的概率分布。我们需要设计一个仍然对应于设计对象的替代标准,或者设计一个良好的近似。
3.经验 E E E

根据学习过程中的不同经验,机器学习算法可以大致分类为无监督(unsupervised) 算法和监督(supervised) 算法,此外还有强化学习半监督学习等(但实际上监督和无监督两者的界限是十分模糊的)。大部分学习算法可以被认为是在整个数据集上获取经验。数据集是样本的集合,而样本是特征的集合。统计学习关于数据的基本假设就是同类数据具有一定的统计规律性,这是统计学习的前提。。

总之, 机器学习方法可以概括为:从给定的、有限的、用于学习的训练数据集合出发,假设数据是独立同分布;并且假设要学习的模型属于某个函数的集合,称为假设空间;应用某个评价准则,从假设空间中选取一个最优模型,使它对已知的训练集和测试集有最优的度量值;而最优模型的选取过程由算法实现。

因此统计学习方法的三要素就是模型、策略、算法。

二、容量、过拟合和欠拟合

1.泛化

学习方法的泛化能力指由该方法学习到的模型对未知数据的预测能力,这是机器学习的主要挑战。我们在训练误差不断缩小的同时,也希望泛化误差尽量小。泛化误差指新输入的误差期望,即:
R e x p ( f ^ ) = E P [ L ( Y , f ^ ( X ) ) ] R_{exp}(\hat f)=E_P[L(Y,\hat f(X))] Rexp(f^)=EP[L(Y,f^(X))]

实际上泛化误差就是所学习到的模型的期望风险。

那么我们为什么能通过训练来减少泛化误差呢?
一般来说我们限制训练集和测试集的数据收集方式,即假设它们是独立同分布
(i.i.d.)
的。独立同分布的假设使得我们可以分析训练误差和泛化误差的关系,通过两种途径,使得我们机器学习算法的效果更好。

  1. 降低训练误差。
  2. 缩小训练误差和测试误差的差距。

这两个因素对应着两个挑战:欠拟合(underfitting)过拟合(overfitting)
在这里插入图片描述

2.容量

模型的容量指的是其拟合各种函数的能力。通过调整模型的容量,我们可以控制模型偏向于欠拟合或是过拟合。容量低的模型会欠拟合,而容量高的模型会过拟合。

  • 一种控制训练算法容量的方法是选择假设空间,即学习算法可以选择为解决方案的函数集。如:线性回归将所有线性函数作为假设空间,而广义线性回归的假设空间还包括多项式函数。

  • 对于容量选取的原则我们通常遵循 奥卡姆剃刀(Occam’s razor) 原则:在同样能够解释已知观测现象的假设中,我们应该挑选”最简单“的那一个。

  • 统计学习理论提供了量化模型容量的不同方法,其中最有名的就是Vapnik-Chervonenkis维度简称VC维,它度量二元分类器的容量。
    关于VC维的理解
    机器学习和数据挖掘(7):VC维

  • 统计学习理论最重要的结论就是阐述了训练误差和泛化误差之间差异的上界随着模型容量的增长而增长,而随着训练样本增多而下降。这为机器学习的有效性提供了理论验证,但实际上很少应用于深度学习中。一方面边界太松,另一方面深度学习算法的容量很难确定。

  • 更简单的函数更可能泛化,但我们仍需选择一个充分复杂的假设以达到低的训练误差。容量和误差之间典型关系

  • 还有一种容量是任意高的极端情况,即非参数模型,一个实例就是最近邻回归,它预测 y ^ = y i , i = arg min ⁡ ∥ X i − x ∥ 2 2 \hat y=y_i, i=\argmin \|\boldsymbol{X}_i-\boldsymbol{x}\|^2_2 y^=yi,i=argminXix22 (也可以是其它距离)。对于非参数模型,更多的数据意味着更好的泛化能力,直到达到最佳可能的泛化误差。

  • 贝叶斯误差:从预先知道的真实分布中进行预测出现的误差。它代表了分布的固有噪声。任何模型容量小于最优容量的固定参数模型会渐进到大于贝叶斯误差的误差值,通常我们可以认为人的误差近似于贝叶斯误差。

没有免费午餐定理(NFL)

没有一个机器学习算法总是比其他的要好。换言之,在所有可能的任务上,最先进的算法和简单地将所有点归为同一类的简单算法有着同样的平均性能。
(也就是说,我们要做到具体问题具体分析,从实际出发,实事求是) (马原没白学)

两种选择模型的方法:

3. 正则化

为了满足奥卡姆剃刀原则同时又尽可能减少误差,我们可以使用正则化的方法。正则化是结构风险最小化策略(SRM)的实现,是在经验风险上加一个正则化项或惩罚项,以使学习算法降低泛化误差。
R s r m ( f ) = 1 N ∑ i = 1 N L ( y i , f ( x i

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: PaddlePaddle是一个开源的深度学习框架,它提供了丰富的API和工具,可以帮助开发者快速构建和训练深度学习模型。如果想要从入门到炼丹,可以按照以下步骤进行: 1. 学习Python编程语言和基本机器学习知识,了解深度学习的基本概念和原理。 2. 安装PaddlePaddle并学习如何使用它的API和工具,例如PaddleHub、PaddleSlim等。 3. 学习如何使用PaddlePaddle构建和训练深度学习模型,例如卷积神经网络、循环神经网络等。 4. 掌握如何使用PaddlePaddle进行模型优化和调试,例如模型压缩、量化等。 5. 学习如何使用PaddlePaddle进行模型部署和应用开发,例如使用Paddle Serving进行模型部署、使用Paddle Inference进行模型推理等。 总之,要想从入门到炼丹,需要不断学习和实践,掌握PaddlePaddle的各种功能和应用场景,才能成为一名优秀的深度学习工程师。 ### 回答2: PaddlePaddle是一个由百度公司开发的深度学习框架,使用它可以进行各种类型的机器学习和深度学习任务。下面介绍一些入门到炼丹的步骤。 1. 安装PaddlePaddle:第一步是安装PaddlePaddle,可以使用pip进行安装。安装完成后,可以使用import paddle进行导入。 2. 训练一个简单的模型:学习PaddlePaddle的基本操作步骤,最好的方式是从简单的模型开始。可以从官方文档中找到示例代码,例如使用PaddlePaddle进行图像分类或文本分类。 3. 提高模型的性能:针对真实的数据集,需要更多的技巧来提高模型的性能。可以尝试使用预训练模型或者进行数据增强等操作。 4. 网络架构设计:网络架构设计也是深度学习的一个重要环节。可以从现有的模型中获取灵感,或者通过尝试和训练不同的架构来提高性能。 5. 训练模型和优化:通过不断的训练和优化,可以使模型更好的适应数据集。可以使用不同的学习率,正则化方法和优化算法等进行优化。 6. 使用PaddlePaddle提供的应用:PaddlePaddle被广泛用于真实世界的应用,例如物体检测,人脸识别和自然语言处理等领域。可以使用PaddlePaddle提供的接口或者自己训练模型来解决实际问题。 7. 炼丹:当对机器学习和深度学习有了更深的理解之后,可以尝试自己设计和训练新的模型,炼丹就像一场冒险,挑战自己的创造力和技能。 总的来说,PaddlePaddle提供了非常多的资源和工具来帮助我们入门到炼丹。只有真正的动手尝试,才能够更好的理解深度学习和机器学习的本质。 ### 回答3: PaddlePaddle是一个深度学习平台,它使用Python语言编写并开源。它提供了一系列丰富的深度学习模型和算法,支持用户在各种架构和操作系统上快速训练和部署模型,同时还提供了一整套深度学习工具和可视化界面,帮助用户轻松地完成深度学习的各个环节。 对于入门用户来说,建议从PaddlePaddle的官网入手,官网提供了详细的入门教程和文档,从安装到训练,从模型选择到应用场景,都有相应的教程可供学习和参考。初学者可以从PaddlePaddle的基本概念、架构、数据结构等入手,了解深度学习的理论知识和PaddlePaddle工作原理,接着可以尝试用PaddlePaddle搭建自己的模型,并在实验数据上进行训练、调整参数、评估模型性能等,逐步提高自己的深度学习技能。 对于已经掌握基本知识的用户,可以继续深化研究PaddlePaddle的高级特性和应用场景。例如,可以掌握PaddlePaddle的自然语言处理和图像处理等领域的深度学习应用,学习如何为不同的任务选择合适的算法和模型,并针对实际问题进行模型调整和优化。 最后,对于希望进一步探索深度学习技术的用户,可以尝试进行炼丹实验,即在PaddlePaddle平台上实现深度学习的前沿研究,如GAN、CapsNet等模型的实现和应用。通过不断地深入研究和实践,不仅可以提高自己的技术水平,也有机会为PaddlePaddle平台的发展做出贡献,推动深度学习技术向更高层次的发展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值