资讯专栏INFORMATION COLUMN

机器学习实战-概论

hikui / 2653人阅读

摘要:学习系统在这里被称为智能体,可以对环境进行观察,选择和执行动作,获得奖励负奖励是惩罚。这称为离线学习。在线学习在在线学习中,是用数据实例持续地进行训练,可以一次一个或一次几个实例称为小批量。

机器学习的分类:

机器学习有多种类型,可以根据如下规则进行分类:

是否在人类监督下进行训练(监督,非监督,半监督和强化学习)

是否可以动态渐进学习(在线学习 vs 批量学习)

它们是否只是通过简单地比较新的数据点和已知的数据点,或者在训练数据中进行模式识别,以建立一个预测模型,就像科学家所做的那样(基于实例学习 vs 基于模型学习)

监督学习:

在监督学习中,用来训练算法的训练数据包含了答案,称为标签。

下面是一些重要的监督学习算法

K近邻算法

线性回归

逻辑回归

支持向量机(SVM)

决策树和随机森林

神经网络

非监督学习:

在非监督学习中,你可能猜到了,训练数据是没有加标签的。系统在没有老师的条件下进行学习。

下面是一些最重要的非监督学习算法:

聚类
K均值
层次聚类分析(Hierarchical Cluster Analysis,HCA)
期望最大值

可视化和降维
主成分分析(Principal Component Analysis,PCA)
核主成分分析
局部线性嵌入(Locally-Linear Embedding,LLE)
t-分布邻域嵌入算法(t-distributed Stochastic Neighbor Embedding,t-SNE)

关联性规则学习
Apriori 算法
Eclat 算法

半监督学习:

一些算法可以处理部分带标签的训练数据,通常是大量不带标签数据加上小部分带标签数据。这称作半监督学习。

多数半监督学习算法是非监督和监督算法的结合。例如,深度信念网络(deep belief networks)是基于被称为互相叠加的受限玻尔兹曼机(restricted Boltzmann machines,RBM)的非监督组件。RBM 是先用非监督方法进行训练,再用监督学习方法进行整个系统微调。

强化学习:

强化学习非常不同。学习系统在这里被称为智能体(agent),可以对环境进行观察,选择和执行动作,获得奖励(负奖励是惩罚)。然后它必须自己学习哪个是最佳方法(称为策略,policy),以得到长久的最大奖励。策略决定了智能体在给定情况下应该采取的行动。

批量学习:

在批量学习中,系统不能进行持续学习:必须用所有可用数据进行训练。这通常会占用大量时间和计算资源,所以一般是线下做的。首先是进行训练,然后部署在生产环境且停止学习,它只是使用已经学到的策略。这称为离线学习。

如果你想让一个批量学习系统明白新数据(例如垃圾邮件的新类型),就需要从头训练一个系统的新版本,使用全部数据集(不仅有新数据也有老数据),然后停掉老系统,换上新系统。

在线学习:

在在线学习中,是用数据实例持续地进行训练,可以一次一个或一次几个实例(称为小批量)。每个学习步骤都很快且廉价,所以系统可以动态地学习到达的新数据。

基于实例学习:

也许最简单的学习形式就是用记忆学习。如果用这种方法做一个垃圾邮件检测器,只需标记所有和用户标记的垃圾邮件相同的邮件 —— 这个方法不差,但肯定不是最好的。

不仅能标记和已知的垃圾邮件相同的邮件,你的垃圾邮件过滤器也要能标记类似垃圾邮件的邮件。这就需要测量两封邮件的相似性。一个(简单的)相似度测量方法是统计两封邮件包含的相同单词的数量。如果一封邮件含有许多垃圾邮件中的词,就会被标记为垃圾邮件。

这被称作基于实例学习:系统先用记忆学习案例,然后使用相似度测量推广到新的例子。

基于模型学习:

另一种从样本集进行归纳的方法是建立这些样本的模型,然后使用这个模型进行预测。这称作基于模型学习。

机器学习的挑战:

错误的数据

训练数据量不足(至少数千以上)

没有代表性的训练数据

低质量数据(异常值和噪声太多,需要手工修正)

不相关的特征(特征选择,特征提取)

过拟合训练数据(简化模型,收集更多训练数据,减少数据噪声)

欠拟合训练数据(更多参数的强模型,用更好的特征训练算法)

测试和确认:

将你的数据分成两个集合:训练集和测试集。正如它们的名字,用训练集进行训练,用测试集进行测试。对新样本的错误率称作推广错误(或样本外错误),通过模型对测试集的评估,你可以预估这个错误。这个值可以告诉你,你的模型对新样本的性能。

如果训练错误率低(即,你的模型在训练集上错误不多),但是推广错误率高,意味着模型对训练数据过拟合。

一般使用 80% 的数据进行训练,保留20%用于测试。

因此,评估一个模型很简单:只要使用测试集。现在假设你在两个模型之间犹豫不决(比如一个线性模型和一个多项式模型):如何做决定呢?一种方法是两个都训练,,然后比较在测试集上的效果。

现在假设线性模型的效果更好,但是你想做一些正则化以避免过拟合。问题是:如何选择正则化超参数的值?一种选项是用 100 个不同的超参数训练100个不同的模型。假设你发现最佳的超参数的推广错误率最低,比如只有 5%。然后就选用这个模型作为生产环境,但是实际中性能不佳,误差率达到了 15%。发生了什么呢?

答案在于,你在测试集上多次测量了推广误差率,调整了模型和超参数,以使模型最适合这个集合。这意味着模型对新数据的性能不会高。

这个问题通常的解决方案是,再保留一个集合,称作验证集合。用测试集和多个超参数训练多个模型,选择在验证集上有最佳性能的模型和超参数。当你对模型满意时,用测试集再做最后一次测试,以得到推广误差率的预估。

为了避免“浪费”过多训练数据在验证集上,通常的办法是使用交叉验证:训练集分成互补的子集,每个模型用不同的子集训练,再用剩下的子集验证。一旦确定模型类型和超参数,最终的模型使用这些超参数和全部的训练集进行训练,用测试集得到推广误差率。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/18400.html

相关文章

  • 各种API+教程+练习

    摘要:做一个搬运工,希望自己能努力学习,也希望大神们的东西能让更多的人看到不断更新更新日志新增了网络安全分类,整理了排版布局新增了的链接,将一些杂七杂八的东西弄到了一篇新文章上了,叫做积累与杂货铺一以及相关教程的规范与相关中文学习大本营中文文档简 做一个搬运工,希望自己能努力学习,也希望大神们的东西能让更多的人看到 不断更新 更新日志:2017.10.13 新增了网络安全分类,整理了排版布局...

    saucxs 评论0 收藏0
  • 各种API+教程+练习

    摘要:做一个搬运工,希望自己能努力学习,也希望大神们的东西能让更多的人看到不断更新更新日志新增了网络安全分类,整理了排版布局新增了的链接,将一些杂七杂八的东西弄到了一篇新文章上了,叫做积累与杂货铺一以及相关教程的规范与相关中文学习大本营中文文档简 做一个搬运工,希望自己能努力学习,也希望大神们的东西能让更多的人看到 不断更新 更新日志:2017.10.13 新增了网络安全分类,整理了排版布局...

    20171112 评论0 收藏0
  • 每天两小时学习计算机组成原理——一个学期的第一天,希望能坚持长久✨

    计算机组成原理入坑 学习书籍讲什么地位课程组织结构开始学习第一章:计算机系统概论1.1 计算机系统简介1.1.1软硬件概念1.1.2 层次结构1.1.3 计算机组成与计算机系统结构 学习书籍 那我们今天由于有计算机组成原理的课,所以我们在学习过我们的课程后,再次重新对其进行了一个学习,那我看的视频是在B站上的计算机组成原理(唐朔飞),当然这也是up主搬MOOC上的,所以大家要想去看正版可以上...

    googollee 评论0 收藏0
  • AI学习路线

    摘要:针对公司样本不足,采用小样本技术和深度学习技术结合,是项目落地的解决方案。深度学习作为当前机器学习领域最热门的技术之一,已经在图像处理领域获得了应用,并且展现出巨大的前景。旨在帮助同学们快速上手如何使用库来完整机器学习案例。 阶段一、人工智能基础 - 高等数学必知必会 本阶段主要从数据分析、概率论和线性代数及矩阵和凸优化这四大块讲解基础,旨在训练大家逻辑能力,分析能力。拥有良好的数学基...

    xuweijian 评论0 收藏0
  • Deep learning的一些教程

    摘要:还有一些以后补充。十分推荐更多的教程斯坦福的公开课教学语言是。加盟百度前,余凯博士在美国研究院担任部门主管,领导团队在机器学习图像识别多媒体检索视频监控,以及数据挖掘和人机交互等方面的产品技术研发。 转载自http://baojie.org/blog/2013/01/27/deep-learning-tutorials/   Stanford Deep Learning wiki: htt...

    SimpleTriangle 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<