机器学习

不容错过:10本让你成为机器学习领域的专家的好书!

机器学习是个跨领域的学科,而且在实际应用中有巨大作用,但是没有一本书能让你成为机器学习的专家。

在这篇文章中,我挑选了10本书,这些书有不同的风格,主题也不尽相同,出版时间也不一样。因此,无论你是新手还是领域专家,一定能找到适合你的。

新手的最佳读物

这本书绝对是初学者非常期待的入门书。这本书条理清晰,学习成本低,因此我把它列为新手的最佳读物。

下面让我们深入讨论一些关于人工智能程序的话题。

人工智能编程范例

如果您想接触最新的人工智能技术,那么Peter Norvig写的人工智能编程范例将非常适合。

机器学习算法选用指南

摘要: 本文对机器学习的一些基本概念给出了简要的介绍,并对不同任务中使用不同类型的机器学习算法给出一点建议。

在从事数据科学工作的时候,经常会遇到为具体问题选择最合适算法的问题。虽然有很多有关机器学习算法的文章详细介绍了相关的算法,但要做出最合适的选择依然非常困难。

在这篇文章中,我将对一些基本概念给出简要的介绍,对不同任务中使用不同类型的机器学习算法给出一点建议。在文章的最后,我将对这些算法进行总结。

首先,你应该能区分以下四种机器学习任务:
  •   监督学习
  •   无监督学习
  •   半监督学习
  •   强化学习

监督学习

监督学习是从标记的训练数据中推断出某个功能。通过拟合标注的训练集,找到最优的模型参数来预测其他对象(测试集)上的未知标签。如果标签是一个实数,我们称之为回归。如果标签来自有限数量的值,这些值是无序的,那么称之为分类。

机器学习中在线学习、批量学习、迁移学习、主动学习的区别

一、批量学习

在监督学习的批量方法中,多层感知器的突出权值的调整在训练样本集合的所有N个例子都出现后进行,这构成了训练的一个回合。换句话说,批量学习的代价函数是由平均误差能量定义的。多层感知器的突触权值的调整是以回合-回合为基础的。相应地,学习曲线的一种实现方式是通过描绘平均误差能量对回合数的图形而得到,对于训练的每一个回合,训练样本集合的样例是随机选取的。学习曲线通过对足够大量的这样实现的总体平均来计算,这里每次实现是在随机选取不同初始条件下完成的。这一特点符合交叉验证的规律,实验中的实验集、验证集、测试集一般都是批量处理的典例。

优点:
(1)消除样本顺序的影响
(2)对梯度向量的精确估计,因此,在简单条件下,保证了这一方法最速下降到局部极小点的收敛性。
(3)学习的并行性。

缺点:
(1)有着存储需求

二、在线学习

如何理解梯度下降

梯度下降是迭代法的一种,可以用于求解最小二乘问题(线性和非线性都可以)。在求解机器学习算法的模型参数,即无约束优化问题时,梯度下降(Gradient Descent)是最常采用的方法之一。

在求解损失函数的最小值时,可以通过梯度下降法来一步步的迭代求解,得到最小化的损失函数和模型参数值。反过来,如果我们需要求解损失函数的最大值,这时就需要用梯度上升法来迭代了。

一般情况下,我们把要最小化或最大化的函数称为目标函数。当我们队其进行最小化时,我们也把他称为代价函数,损失函数或误差函数。

我们说导数对于最小化一个函数很有用,因为它告诉我们如何更改x来略微地改善y。加入,我们知道对于足够小的\varepsilon来说,

f(x-\varepsilonsign(f'(x)))<f(x)。因为我们可以将x往导数的反方向移动一小步来减少f(x)。这种技术被称为梯度下降。

机器学习常用算法(LDA,CNN,LR)原理简述

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。

机器学习与数据科学决策树指南

还在为如何抉择而感到纠结吗?快采用决策树(Decision Tree)算法帮你做出决定吧。决策树是一类非常强大的机器学习模型,具有高度可解释的同时,在许多任务中也有很高的精度。决策树在机器学习模型领域的特殊之处在于其信息表示的很清楚,而不像一些机器学习方法是个黑匣子,这是因为决策树通过训练学到的“知识”直接形成层次结构,该结构以这样的方式保存和显示学到的知识,即使是非专业人士也可以容易地弄明白。

现实生活中的决策树

对于软件研发而言机器学习意味着什么?

机器学习有望从根本上改变软件开发的本质,这也许是自FORTRAN和LISP被发明以来的第一次。 它对我们几十年来的编程范式提出了第一个真正的挑战。 这些变化对数百万正在实施软件开发的人而言,会意味着什么? 我们是否会看到失业和裁员,或者会看到编程演变成不同的东西,也许会是一种更关注于满足用户的东西?

自20世纪70年代以来,我们已经或多或少地构建了软件。 我们有高级语言,低级语言,脚本语言以及用于构建和测试软件的工具,但这些工具需要我们做的事情没有发生太大变化。 我们的语言和工具比50年前要好得多,但它们本质上是一样的。我们仍然有着代码编辑器。这些编辑器变得更花哨了:他们有彩色的高亮,变量名补全,它们有时可以帮助我们完成重构等任务,但他们仍然是emacs和vi的后代。 面向对象代表了一种不同的编程风格,而不是某种本质上而言“全新”的东西 —— 当然,函数式编程可以一直追溯到50年代(除非我们不知道它曾经被叫作这个名字)。 我们可以做得更好吗?

我们该如何学习机器学习中的数学?

数学在机器学习中非常重要,不论是在算法上理解模型代码,还是在工程上构建系统,数学都必不可少。通常离开学校后很难有机会静下心学习数学知识,因此我们最好能通过阅读小组或读书会等形式营造环境,并专注学习那些在实践中常常需要用到的数学知识。

数学达到什么水平才可以开始机器学习?人们并不清楚,尤其是那些在校期间没有研究过数学或统计学的人。

本文的写作目的是介绍构建机器学习产品或进行相关学术研究所必需的数学背景,以及数学在工程和研究中的重要性。这些建议是根据我和机器学习工程师、研究者和教育者交流而得到的,当然也有我自己在机器学习研究和业界工作中的个人经验。

为了构建必备的数学背景,我首先提出不同的思维模式和策略,帮助大家在学校之外也可以接受数学教育。然后,我会给出不同种类机器学习工作所需的数学背景,从高中水平的统计学和微积分到概率图模型(PGM)的最新进展。希望大家读完本文后,能够对自己在机器学习工作中所需要的数学教育有清楚的认知。

关于数学焦虑

很多人害怕数学,包括工程师。首先,我想解决「擅长数学」这一迷思。

一般精通数学的人有大量和数学有关的实践经验。因此,他们在研究数学时更容易保持专注。相比内在能力,学生的思维模式才是决定一个人学习数学能力的关键。

机器学习里,数学到底有多重要?

之前总有同学问:如果学习机器学习、人工智能用什么软件比较好?从与大家的交流中发现,很多同学把机器学习的核心放到了软件的使用,缺少获取有用结果所必要的数学方法与思维。

事实上,目前针对机器学习的软件十分容易获取,例如 Python,scikit-learn,Weka 等等,而且相应的软件学习教程也不难找到。

但机器学习是集合了统计学、概率论、计算机科学、数学算法多等方面交叉研究,即便你对机器学习的应用炉火纯青,但对这些技术没有一个全面的数学理解,极有可能出现应用失误。

那自然有同学会问:

为什么机器学习中的数学很重要?

这个问题的理由我想强调以下几点:
1. 选择合适的算法,要考虑的包括算法准确性、训练时间、模型复杂度、参数的数量和特征数量。
2. 选择参数设置和验证策略。
3. 理解偏差与方差的权衡以确定欠拟合和过拟合。
4. 预估正确的置信区间和不确定性。

你需要多高的数学水平?

试图了解一个例如机器学习这样的跨学科领域,主要的问题是必要的数学知识的量,以及理解这些技术需要的数学水平。这个问题的答案是多方面的,取决于个人水平和兴趣。

学习机器学习需要理解的五个基本概念

这篇文章主要讲述了机器学习的相关内容,阐述了机器学习的主要意义和形成过程。区别了机器学习与AI、深度学习、神经网络等专业词汇。

大多数人可能对机器学习有点恐惧或困惑。 脑子中会有它到底是什么,它有什么发展方向,我现在可以通过它挣钱吗等等这样的问题。

这些问题的提出都是有依据的。事实上,你可能没有意识到自己其实多年来一直在训练机器学习模型。你看过苹果手机或者是Facebook上的照片吧? 你知道它如何向你展示一组面孔并要求你识别它们吗?其实,通过标记这些照片,你正在训练面部识别模型去识别新面孔。恭喜你,现在可以说你有训练机器学习模型的经验了!但在此之前,请阅读这些机器学习基础知识,以便你可以准确回答任何后续问题。

1)机器学习可以预测

如果你只是在图片中标记朋友的面孔,那就不是在用机器学习模型。如果你上传了一张新照片系统马上告诉你每个人是谁,那你就是应用了机器学习模型。机器学习的主要意义在于根据图案模型和经过训练的其他因素来预测事物。它可以预测任何事物,如要基于地理位置和卧室数量预测房价,基于一年中的时间和天气的变化预测航班是否会延误,依据图片中的人物特点进行人像识别等等。