专栏首页深度学习与python关于机器学习的一点个人理解

关于机器学习的一点个人理解

喜欢就点关注吧!

统计学习理论是机器学习的重要基础,为许多机器学习算法提供理论支持,通过一些统计学的角度我们试图找出从经验数据中得出有效结论这一过程的数学解释。

简单来说,机器学习主要是将来自输入域的数据经过未知的目标函数映射到输出域的相应数据上。 如果目标函数是已知的,那么我们根本不需要学习,我们只需要按照函数直接计算就好了。 机器学习的基本前提就是使用一组数据来观察和揭示数据中的潜在规律。 机器学习的目标就是从有限的样本数据集中找到一个近似于目标函数的函数。

以机器学习中的监督学习为例,监督学习是从一组带有标记的数据中学习。 训练集中的每个点都是输入 - 输出对的形式,将输入映射到已知输出。 学习目标即为能够找到未知控制规则的最佳算法,这些规则通过对样本数据分布的规律探索,构建一个近似于目标函数的假设函数,来根据输入预测未知的输出。 学习模型的性能或泛化性能是根据其对独立测试数据的预测精度来衡量的。

目前机器学习分为监督学习、无监督学习,其中监督学习又分为分类问题和回归问题,无监督学习则为降维和聚类。每一个分支都包括多种算法,不同算法的思想以及适用范围为我们构建高性能模型提供多种选择。

为了选择最佳模型然后评估其泛化性能,对用于训练算法的样本数据集通常随机分为2组:即训练集、测试集。其中训练集用于算法训练,让算法学习数据中的潜在数据规律,并且通过调整算法的超参数,获得更加准确的算法模型。测试集用于评估不同模型的学习效果,反映模型的性能。

预测误差或泛化误差用来优化模型,在机器学习中,对于任何问题我们建立模型的最终目标都是最小化误差,其中误差主要可以从三个方面来解释:偏差、方差和噪声。噪声也称为“不可避免的误差”,对于噪声我们无能为,因为它仅取决于我们用于训练的数据,我们只能从偏差和方差来改进我们的模型,即寻求偏差-方差的平衡。

如果训练数据集中的数据是由一个固有的随机过程,一个错误的问题,或者特征集是错误的或不完整的,那么任何算法都不会有好的准确率,所以用机器学习算法来解决问题的一个条件就是这个问题是能够解决的,不能是一个未解之谜。这就是为什么数据科学家花费大约19%的时间来寻找好的数据,另外60%的时间用于清理他们收集的数据:数据的质量直接决定机器学习模型准确性,

假设我们正在尝试根据年龄等多个特征的训练数据集来预测人体重量。 年龄可能是预测体重时要考虑的特征之一,但还有许多其他因素表征体重,包括身高,性别,地理位置等。如果仅考虑年龄,那么很可能最终得到一个弱预测器或者一个具有很大泛化误差的学习器。因此,对于给定的一组特征,噪声在真实分布中可能不是真正的噪声。 我们可能根本没有从数据集中选择足够的特征以便能够对真实分布进行建模。

如果算法非常精确地映射给定训练分布的所有数据点,则肯定会对该特定训练数据产生非常小的误差。 然而在对测试数据进行预测时则会有很差的效果,那么你的模型就过拟合了。换句话说,该模型学习能力太强,受到数据中噪声的影响就越大,一般来说,方差可以表示算法对特定训练数据集的敏感性。 高方差表明该算法非常适合数据,并且对于数据分布建立了过于复杂的模型,因此表示模型过度拟合。

另一方面,我们既不能选择过于简单且不够表达的模型来反映事件的数据分布,这时就会出现欠拟合的问题。想象一下,使用线性回归来映射具有非线性模式的训练数据集:线性回归只是一条线而且对于非线性数据集来说太过单一。 通常我们使用偏差来表示机器学习算法无法拟合或不能足够好地表示训练集中数据的分布。 换句话说,偏差给模型所做的简化假设提供了一个维度,使目标函数更容易学习,如果偏差值过大则说明模型欠拟合。因此我们用方差表示过度拟合,偏差表示欠拟合。

从统计学的角度来看,这是一个非常著名的偏差 - 方差平衡问题。能够找到一个能够很好地平衡偏差和方差的算法,我们才能通过最简单的近似模型来获得最佳的泛化性能。为了提高性能,我们可能需要选择不同的算法来得到更大的假设空间和覆盖更广的区域,但是请记住,我们试图接近的目标函数仅来自一组有限的样本数据。 不是来自真实的、完整的。 虽然样本数据是我们学习的全部内容,但有限的数据集只能代表对描述整个现象的实际函数的估计。如果我们非常接近描述样本分布的函数,产生较低的偏差,则风险是当我们使用新建的函数模型预测新的数据就会出现较高的方差。正如我们刚才所说的那样,我们模型的复杂性会影响其性能,我们需要找到一种以定量的方式定义复杂性的方法,其中,Vapnik-Chervonenkis维度是一种广泛使用的方法,可以在偏差和方差两者之间找到适当的平衡点。

VC维与每个模型的参数数量相关,而参数的数量又与模型可以处理的数据点的数量相关联。其主要思想是模型想要近似的数据点数量越多,模型映射它们所需的参数数量就越多,这就增加了复杂性并使模型非常特定于该数据集。 在测量算法复杂度时,VC维度可以帮助我们估计预测误差,为我们提供关于算法是否可以在给定样本数据集的情况下学习和推广的概率评估:与可用训练数据的数量相比较低的VC维度将建议测试错误不会远离训练错误。

总体来说,机器学习就是通过处理得到好的数据,用数据来训练一个能达到我们预期目标的模型,且模型越简单越好。具体算法的选择则可根据我们的日常喜好,能决定模型效果的还是数据的质量,因此锻炼一个很强的数据分析能力是很重要的。

原文参考

https://translate.googleusercontent.com/translate_c?depth=1&hl=zh-CN&prev=search&rurl=translate.google.com.hk&sl=en&sp=nmt4&u=https://towardsdatascience.com/ai-series-a-walk-into-the-theory-of-learning-273f79e585e4%3Fgi%3Dda9e6aa0bacb&xid=17259,15700021,15700186,15700190,15700253,15700256,15700259&usg=ALkJrhhjDbn9hCoL4GXBngrs7J6hvzB6NQ

深度学习与Python,专注于深度学习、机器学习前沿知识与资讯

本文分享自微信公众号 - 深度学习与python(PythonDC)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-05-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Dropout的前世与今生

    图 1:一些目前提出的 Dropout方法,以及 2012 到 2019 年间 Dropout 方法的理论进展。

    小小詹同学
  • 揭秘LinkedIn!全球最大的招聘推荐系统如何被机器学习驱动?

    大数据文摘出品 来源:towardsdatascience 编译:夏雅薇、Stats熊

    统计学家
  • 机器学习中的矩阵向量求导(五) 矩阵对矩阵的求导

        在矩阵向量求导前4篇文章中,我们主要讨论了标量对向量矩阵的求导,以及向量对向量的求导。本文我们就讨论下之前没有涉及到的矩阵对矩阵的求导,还有矩阵对向量,...

    刘建平Pinard
  • SIGGRAPH提出的图像修复技术

    图像修复技术是一种用可选内容填充目标区域的技术,它的主要用途是在对象删除任务中,从照片中删除一个对象,并用希望能保持图像上下文完整性的内容自动替换被删除的部分。...

    小白学视觉
  • 解读|基于多级神经纹理迁移的图像超分辨方法 (Adobe Research)

    超分辨(Super-Resolution)图像恢复旨在从低分辨模糊图像中恢复出高分辨的清晰图像,是计算机视觉中的一个重要任务,在工业界有非常强的应用前景。CVP...

    AI科技评论
  • CVPR2019 | 6D目标姿态估计,李飞飞夫妇等提出DenseFusion

    6D 目标姿态估计对许多重要的现实应用都很关键,例如机器人抓取与操控、自动导航、增强现实等。理想情况下,该问题的解决方案要能够处理具有各种形状、纹理的物体,且面...

    小白学视觉
  • 机器学习在SAP Cloud for Customer中的应用

    关于机器学习这个话题,我相信我这个公众号1500多位关注者里,一定有很多朋友的水平比Jerry高得多。如果您看过我以前两篇文章,您就会发现,我对机器学习仅仅停留...

    Jerry Wang
  • 谷歌开发新模型EfficientNets,缩放CNN的精度与效率超越现有模型

    卷积神经网络(CNN)通常以固定的资源成本开发,然后进行缩放,以便在获得更多资源时得到更好的精度。

    AiTechYun
  • 为什么不建议你入门计算机视觉

    作者:Jackpop https://zhihu.com/p/question/317440183 本文已授权,未经允许,不得二次转载

    小白学视觉
  • 纳米级无人机PULP Dronet仅重27克,具有强大的自主导航能力

    苏黎世联邦理工学院和博洛尼亚大学的研究人员开发了一个纳米级无人机,名为PULP Dronet,仅有27克,具有深度学习的视觉导航引擎。论文显示无人机可以在一个端...

    AiTechYun

扫码关注云+社区

领取腾讯云代金券