译 | 机器学习概念
demi 在 周二, 01/22/2019 - 17:24 提交
机器学习致力于研究如何通过计算的手段,利用经验来改善系统自身的性能。在计算机系统中,“经验”通常以“数据”形式存在,因此机器学习研究的主要内容,是关于在计算机上从数据中产生模型(model)的算法,即学习算法(learning algoritmn),有了学习算法,我们把经验数据提供给它,它就能基于这些数据产生模型。在面对新的情况的时候,模型会给我们新的判断。
机器学习(Machine Learning,简称ML)是一种人工智能(AI)的分支,致力于研究让计算机系统能够从数据中学习并自动改进性能的算法和技术。机器学习使计算机系统能够从经验中学习,而不需要明确地进行编程。
机器学习致力于研究如何通过计算的手段,利用经验来改善系统自身的性能。在计算机系统中,“经验”通常以“数据”形式存在,因此机器学习研究的主要内容,是关于在计算机上从数据中产生模型(model)的算法,即学习算法(learning algoritmn),有了学习算法,我们把经验数据提供给它,它就能基于这些数据产生模型。在面对新的情况的时候,模型会给我们新的判断。
对于很多初入学习人工智能的学习者来说,对人工智能、机器学习、深度学习的概念和区别还不是很了解,有可能你每天都能听到这个概念,也经常提这个概念,但是你真的懂它们之间的关系吗?那么接下来就给大家从概念和特点上进行阐述。先看下三者的关系。
机器学习横跨计算机科学、工程技术和统计学等多个科学。人们很难直接从原始数据本身获得所需信息,机器学习可以把无序的数据转换成有用的信息;移动计算和传感器产生的海量数据意味着未来将面临越来越多的数据,如何从中抽取到有价值的信息很重要,机器学习可以帮助我们从中抽取有用的信息。
近数十年内,由于机器学习的热潮,计算能力有着摩尔定律的加持,以及大数据时代的来临,让越来越多的领域里都能被机器学习很好的应用。特别是在自然语言处理,计算机视觉等领域都有非常好的发展,甚至已经可以达到商业用途的地步。但是随着数据的增长,数据的安全是否得到了保障,模型的功能性是否得到了验证这仍然是个大大的问号。
机器学习是个跨领域的学科,而且在实际应用中有巨大作用,但是没有一本书能让你成为机器学习的专家。
在这篇文章中,我挑选了10本书,这些书有不同的风格,主题也不尽相同,出版时间也不一样。因此,无论你是新手还是领域专家,一定能找到适合你的。
新手的最佳读物
这本书绝对是初学者非常期待的入门书。这本书条理清晰,学习成本低,因此我把它列为新手的最佳读物。
下面让我们深入讨论一些关于人工智能程序的话题。
人工智能编程范例
如果您想接触最新的人工智能技术,那么Peter Norvig写的人工智能编程范例将非常适合。
摘要: 本文对机器学习的一些基本概念给出了简要的介绍,并对不同任务中使用不同类型的机器学习算法给出一点建议。
在从事数据科学工作的时候,经常会遇到为具体问题选择最合适算法的问题。虽然有很多有关机器学习算法的文章详细介绍了相关的算法,但要做出最合适的选择依然非常困难。
在这篇文章中,我将对一些基本概念给出简要的介绍,对不同任务中使用不同类型的机器学习算法给出一点建议。在文章的最后,我将对这些算法进行总结。
首先,你应该能区分以下四种机器学习任务:
• 监督学习
• 无监督学习
• 半监督学习
• 强化学习
监督学习
监督学习是从标记的训练数据中推断出某个功能。通过拟合标注的训练集,找到最优的模型参数来预测其他对象(测试集)上的未知标签。如果标签是一个实数,我们称之为回归。如果标签来自有限数量的值,这些值是无序的,那么称之为分类。
一、批量学习
在监督学习的批量方法中,多层感知器的突出权值的调整在训练样本集合的所有N个例子都出现后进行,这构成了训练的一个回合。换句话说,批量学习的代价函数是由平均误差能量定义的。多层感知器的突触权值的调整是以回合-回合为基础的。相应地,学习曲线的一种实现方式是通过描绘平均误差能量对回合数的图形而得到,对于训练的每一个回合,训练样本集合的样例是随机选取的。学习曲线通过对足够大量的这样实现的总体平均来计算,这里每次实现是在随机选取不同初始条件下完成的。这一特点符合交叉验证的规律,实验中的实验集、验证集、测试集一般都是批量处理的典例。
优点:
(1)消除样本顺序的影响
(2)对梯度向量的精确估计,因此,在简单条件下,保证了这一方法最速下降到局部极小点的收敛性。
(3)学习的并行性。
缺点:
(1)有着存储需求
二、在线学习
梯度下降是迭代法的一种,可以用于求解最小二乘问题(线性和非线性都可以)。在求解机器学习算法的模型参数,即无约束优化问题时,梯度下降(Gradient Descent)是最常采用的方法之一。
在求解损失函数的最小值时,可以通过梯度下降法来一步步的迭代求解,得到最小化的损失函数和模型参数值。反过来,如果我们需要求解损失函数的最大值,这时就需要用梯度上升法来迭代了。
一般情况下,我们把要最小化或最大化的函数称为目标函数。当我们队其进行最小化时,我们也把他称为代价函数,损失函数或误差函数。
我们说导数对于最小化一个函数很有用,因为它告诉我们如何更改x来略微地改善y。加入,我们知道对于足够小的\varepsilon来说,
f(x-\varepsilonsign(f'(x)))<f(x)。因为我们可以将x往导数的反方向移动一小步来减少f(x)。这种技术被称为梯度下降。
1. LDA
LDA是一种三层贝叶斯模型,三层分别为:文档层、主题层和词层。该模型基于如下假设:
1)整个文档集合中存在k个互相独立的主题;
2)每一个主题是词上的多项分布;
3)每一个文档由k个主题随机混合组成;
4)每一个文档是k个主题上的多项分布;
5)每一个文档的主题概率分布的先验分布是Dirichlet分布;
6)每一个主题中词的概率分布的先验分布是Dirichlet分布。
文档的生成过程如下:
1)对于文档集合M,从参数为β的Dirichlet分布中采样topic生成word的分布参数φ;
2)对于每个M中的文档m,从参数为α的Dirichlet分布中采样doc对topic的分布参数θ;
3)对于文档m中的第n个词语W_mn,先按照θ分布采样文档m的一个隐含的主题Z_m,再按照φ分布采样主题Z_m的一个词语W_mn。