LearnDataSci作者

选机器学习课程怕踩雷?有人帮你选出了top 5优质课

本文作者在多年研究在线学习图景、在不同平台注册大量机器学习课程后,收集了目前最好的 5 门机器学习课程。

机器学习根植于统计学,正在逐渐成为最有趣、发展最快的计算机科学领域之一。机器学习可应用到无数行业和应用中,使其更加高效和智能。

聊天机器人、垃圾邮件过滤、广告服务、搜索引擎和欺诈检测,这些都是机器学习模型在日常生活中的应用实例。机器学习使我们为人类力不能及的事找到模式、创建数学模型。

与涉及探索性数据分析、统计学、通信和可视化技术的数据科学课程不同,机器学习课程主要讲授机器学习算法、数学原理,以及如何使用某种编程语言写算法。

本文介绍了 top 5 机器学习课程:

  • 吴恩达机器学习》课程:https://www.learndatasci.com/out/coursera-machine-learning/

  • 吴恩达深度学习专项课程》:https://www.learndatasci.com/out/coursera-deep-learning-specialization/

  • SAEED AGHABOZORGI 主讲的 Machine Learning with Python 课程:https://www.learndatasci.com/out/coursera-ibm-machine-learning-python/

  • Advanced Machine Learning 专项课程:https://www.learndatasci.com/out/coursera-advanced-machine-learning-specialization/

  • 哥伦比亚大学的 Machine Learning 课程:https://www.learndatasci.com/out/edx-columbia-machine-learning/

筛选标准

本文介绍的 5 门机器学习课程遵循以下标准:

  • 严格专注于机器学习领域。

  • 使用免费开源的编程语言,如 Python、R 或 Octave。

  • 使用免费开源的库。

  • 包含编程作业和实践。

  • 解释算法运行的数学原理。

  • 学员可以自己调节进度,大约每月可以获取新的课程。

  • 讲师有趣、课堂有趣。

  • 在不同网站和论坛上的评分和评价高于平均值。

  • 若想尽快全面地学习机器学习,那么学习者还应该在在线学习之外看一些相关书籍。作者推荐了以下两本书籍,这两本书对作者的学习带来了很大影响。

书籍

1. An Introduction to Statistical Learning: with Applications in R 

免费在线版地址:http://www-bcf.usc.edu/~gareth/ISL/

这本书具备清晰直接的解释和示例,可以帮助读者提升对基础机器学习技术的数学理解。这本书更加偏重理论,但仍然包含一些使用 R 语言的练习和示例。

2. Hands-On Machine Learning with Scikit-Learn and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems

这本书是对上一本书的良好补充,它主要涉及使用 Python 的机器学习应用。这本书搭配以下任意一门课程,可以帮助大家强化编程技能,了解如何直接将机器学习应用到项目中。

以下是本文的重头戏:top 5 机器学习课程。

一、吴恩达机器学习》课程

这门课适合初学者,其讲师和创建者是斯坦福大学教授、谷歌大脑联合创始人、Coursera 联合创始人吴恩达

这门课的作业要求使用开源编程语言 Octave,而不是 Python 或 R。这对于很多人来说有些怪异,但对于新手而言,Octave 是学习机器学习基础的简单方式。

整体来看,这门课程的材料翔实,直接由吴恩达授课,详细解释了每个算法必需的所有数学知识,还涉及了一些微积分知识和线性代数知识。这门课程基本上是独立的,不过提前了解一些线性代数知识会很有帮助。

  • 课程提供者:吴恩达,斯坦福大学

  • 费用:免费;如需课程证书,则需 79 美元

课程结构:

  • 单变量线性回归

  • 线性代数概要

  • 多变量线性回归

  • Octave/Matlab 教程

  • Logistic 回归

  • 正则化

  • 神经网络:表征

  • 神经网络:学习

  • 使用机器学习的建议

  • 机器学习系统设计

  • 支持向量机

  • 降维

  • 异常检测

  • 推荐系统

  • 大规模机器学习

  • 应用案例:Photo OCR

该课程持续时间为 11 周。如果可以坚持上完整个课程,你将在大约四个月内对机器学习有一个较好的基本了解。

之后,你可以再学习感兴趣的高阶或专项课程,如深度学习机器学习工程等。

这门课程对于新手来说无疑是最好的课程。

参考文章:资源 | 吴恩达机器学习》笔记,哥大研究生献上

二、吴恩达深度学习专项课程

该课程同样是吴恩达开设的。这是一个更高级的课程系列,适用于任何对机器学习深度学习及其原理和应用感兴趣的人。

该课程共包括 5 门课,每门课的作业和授课都使用 Python 编程语言和 TensorFlow 神经网络库。该课程是吴恩达机器学习课程的良好后续,因为授课风格类似,而且你还可以学习使用 Python 进行机器学习

  • 课程提供者:吴恩达,deeplearning.ai

  • 费用:免费;如需课程证书,则 49 美元/月

课程结构:

1. 神经网络深度学习

  • 深度学习简介

  • 神经网络的基本概念

  • 浅层神经网络

  • 深度神经网络

2. 改善神经网络:调参、正则化和优化

  • 深度学习的实践

  • 优化算法

  • 超参数调整、批归一化和编程框架

3. 构建机器学习项目

  • 机器学习策略(1)

  • 机器学习策略(2)

4. 卷积神经网络

  • 卷积神经网络基础

  • 深度卷积模型:案例研究

  • 目标检测

  • 特殊应用:人脸识别和神经风格迁移

5. 序列模型

  • 循环神经网络

  • 自然语言处理词嵌入

  • 序列模型和注意力机制

要想理解该课程中介绍的算法,你应该先熟悉线性代数机器学习。如果你需要关于学习所需数学知识的建议,可以参阅文末的学习指南(Learning Guide)。

参考文章:

三、用 Python 进行机器学习

这也是一个适合初学者的课程,只关注最基本的机器学习算法。讲师、幻灯片动画和对算法的解释结合得非常好,能让你对基本概念有直观的了解。

该课程使用 Python,但对算法背后的数学知识讲得较少。通过每个模块,你将有机会在浏览器中下载一个交互式 Jupyter notebook 来实践你学到的新概念。每个 notebook 会巩固你的知识,并提供了在真实数据上使用算法的具体说明。

  • 课程提供者:IBM, Cognitive Class

  • 费用:免费;如需课程证书,则 39 美元/月

课程结构:

  • 机器学习导论

  • 回归

  • 分类

  • 聚类

  • 推荐系统

  • 期末专题

这门课提供的最大好处之一是为每个算法提供了实用的建议。在讲授新算法时,讲师会介绍它的工作原理、优缺点以及你应该在什么样的情况下使用它。其它课程很少会涉及这些,但这些信息对于初学者理解更广泛的背景很重要。

四、高阶机器学习专项课程

这是关于机器学习的另一个高阶课程。如果你想尽可能多地学习机器学习技术,该专项课程就是一个很好的选择。

这门课程的教学非常好:很精彩,而且简明扼要。由于这是一门高级课程,因此你需要更多的数学知识。如果你已经参加了一门初级课程,并且复习了线性代数微积分,这门课将是你补充机器学习其它专业知识的很好选择。

本课程涵盖的大部分内容对许多机器学习项目至关重要。

  • 课程提供者:俄罗斯国家研究型高等经济大学(National Research University Higher School of Economics,HSE)

  • 费用:免费;如需课程证书,则 49 美元/月

课程结构:

1. 深度学习导论

  • 优化简介

  • 神经网络简介

  • 图像深度学习

  • 无监督表征学习

  • 序列深度学习

  • 最终项目

2. 如何在数据科学竞赛中获胜:向顶尖 kaggler 学习

  • 介绍和回顾

  • 模型的特征处理和生成

  • 最终项目说明

  • 探索性数据分析

  • 验证

  • 数据泄露

  • 度量优化

  • 高级特征工程 1

  • 超参数优化

  • 高级特征工程 2

  • 集成

  • 竞赛介绍

  • 最终项目

3. 机器学习贝叶斯方法

  • 贝叶斯方法和共轭先验简介

  • 期望最大化算法

  • 变分推断隐含狄利克雷分布(LDA)

  • 马尔科夫链蒙特卡洛

  • 变分自编码器

  • 高斯过程和贝叶斯优化

  • 最终项目

4. 实用强化学习

  • 简介

  • 强化学习核心:动态编程

  • 无模型方法

  • 基于近似值的方法

  • 基于策略的方法

  • 探索

5. 计算机视觉中的深度学习

  • 图像处理计算机视觉简介

  • 视觉识别的卷积特征

  • 目标检测

  • 目标跟踪和动作识别

  • 图像分割与合成

6. 自然语言处理

  • 概念介绍和文本分类

  • 语言建模和序列标注

  • 语义向量空间模型

  • 序列到序列任务

  • 对话系统

7. 用机器学习应对大型强子对撞机的挑战

  • 面向数据科学家的粒子物理学导论

  • 粒子鉴别

  • 在稀有衰变中探索新物理学

  • 在新 CERN 实验中用机器学习寻找暗物质暗示

  • 检测器优化

完成该系列课程大概需要 8-10 个月的时间,所以如果你从今天开始学习,在近一年的时间里,你将学到大量关于机器学习以及前沿应用的知识。

在这几个月里,你还将创建几个真正的项目。这些项目将极大丰富你的简历,让你的 GitHub 更吸引人。

五、机器学习

这是数学基础要求最高的一门高级课程。你的线性代数微积分、概率、编程基础都需要非常牢固。该课程的有趣编程作业可以使用 Python 或 Octave 完成,但不提供关于这两种语言的课程。

该课程最大的亮点在于其涵盖了机器学习的概率方法。如果你之前读过《Machine Learning: A Probabilistic Perspective》等教科书,那么这门课程将成为良好的补充。

  • 课程提供者:哥伦比亚大学

  • 费用:免费;如需课程证书,则需 300 美元

课程结构:

  • 最大似然估计线性回归最小二乘法

  • 岭回归、偏差-方差、贝叶斯法则、最大后验概率推理

  • 最近邻分类、贝叶斯分类器线性分类器感知

  • Logistic 回归、拉普拉斯近似、核方法、高斯过程

  • 最大间隔、支持向量机(SVM)、树、随机森林、Boosting 算法

  • 聚类、K-均值、EM 算法、缺失数据

  • 混合高斯过程矩阵分解

  • 非负矩阵分解、隐因子模型、主成分分析及其变体

  • 马尔科夫模型、隐马尔科夫模型

  • 连续状态空间模型、关联分析

  • 模型选择、未来走向

许多针对初学者的课程可能已经介绍过上述很多主题,但这个课程的数学却是实打实的。如果你已经学过这些,想在数学上更进一步,并且想通过做编程作业推导出一些算法,那么这个课程值得一试。

学习指南

首先介绍一下多数机器学习课程需要的知识储备。

课程知识储备

高阶课程需要以下知识储备:

  • 线性代数

  • 概率

  • 微积分

  • 编程

这些是理解机器学习内在工作原理的必备知识。许多初学者课程通常要求至少有一些编程基础,并熟悉线性代数的基础知识,如向量、矩阵及其符号。

本文提及的第一份课程——吴恩达的《机器学习》复习了大部分所需数学知识,但如果你之前没有学过线性代数,那么同时学习机器学习线性代数可能会有点困难。

如果你需要温习数学基础知识,请参考以下建议:

推荐学习 Python,因为多数机器学习课程用的编程语言都是 Python。即使你学的是吴恩达的《机器学习》课程(该课程用 Octave),你也应该抽时间学一下 Python,因为早晚都得用到。dataquest.io 也是一份极好的 Python 资源,其交互式浏览器环境中有很多免费的 Python 课程。

这些知识储备有助于初步了解算法的工作原理。

基础算法

以下是大家需要熟悉和练习使用的基础算法集合:

  • 线性回归

  • Logistic 回归

  • k-均值聚类

  • k-最近邻

  • 支持向量机(SVM)

  • 决策树

  • 随机森林

  • 朴素贝叶斯

这些算法是必须了解的,当然还有很多其他算法。上述课程介绍了这些算法及其变体。理解这些技术的原理以及何时使用它们对处理新项目非常重要。

除了这些基础算法之外,还有一些比较高级的技术需要学习:

  • 集成

  • Boosting

  • 降维

  • 强化学习

  • 神经网络深度学习

这只是开始,这些算法通常是最有趣的机器学习解决方案中会使用到的,它们对你的工具箱来说也是个有效的补充。

与基础技术一样,每学习一项新工具,你就要直接将其应用到项目中,以加深理解、融会贯通。

解决项目

在线学习机器学习很有难度,当然回报也很大。不过你要记住,只看讲课视频、做测验并不能证明你真的在学习教材。如果你创建一个与课程使用数据和目标皆不同的项目,那么你会学到更多。

在你刚开始学习机器学习基础知识时,你就应该寻找一些有趣的数据,以便实践新技能。上述课程将使学习者了解何时应用算法,因此在自己的项目中应用机器学习算法是一项不错的实践。

通过试错、探索和反馈,你会发现如何使用不同的技术、如何衡量结果、如何分类或预测。关于 ML 项目,这里有一份示例列表,参见:https://github.com/NirantK/awesome-project-ideas。

解决项目会帮助你更好、更高级地理解机器学习。如果你开始了解更高级的概念(如深度学习),那么将有无数种技术和方法去理解和使用。

阅读新研究

机器学习是一个快速发展的领域,每天都有新技术和应用出现。你掌握了机器学习基础知识之后,可以阅读自己感兴趣的研究论文。

有一些网站可以即时获取感兴趣领域的新论文。比如谷歌学者,输入关键词「machine learning」和「twitter」,或其他感兴趣的主题,点击「Create Alert」,即可通过电子邮件获取相关新论文通知。

养成每周阅读提醒邮件的习惯,浏览论文以确定是否有阅读的必要,然后深入理解某项研究的具体内容。如果某些研究与你正在做的项目相关,你可以看看是否可以将这些技术应用到自己的问题上。

结语

机器学习是一个非常有趣的领域,值得你去学习和体验,希望在这里你可以找到一个适合自己的课程。

机器学习数据科学的一个重要组成部分,如果你对统计、可视化、数据分析等方面感兴趣的话,可以参考关于顶级数据科学课程推荐的文章:https://www.learndatasci.com / best-data-science-online-courses /。


原文链接:https://medium.com/@LearnDataSci/top-5-machine-learning-courses-for-2019-8a259572686e

入门统计学机器学习吴恩达课程
102
相关数据
IBM机构

是美国一家跨国科技公司及咨询公司,总部位于纽约州阿蒙克市。IBM主要客户是政府和企业。IBM生产并销售计算机硬件及软件,并且为系统架构和网络托管提供咨询服务。截止2013年,IBM已在全球拥有12个研究实验室和大量的软件开发基地。IBM虽然是一家商业公司,但在材料、化学、物理等科学领域却也有很高的成就,利用这些学术研究为基础,发明很多产品。比较有名的IBM发明的产品包括硬盘、自动柜员机、通用产品代码、SQL、关系数据库管理系统、DRAM及沃森。

https://www.ibm.com/us-en/
相关技术
吴恩达人物

斯坦福大学教授,人工智能著名学者,机器学习教育者。2011年,吴恩达在谷歌创建了谷歌大脑项目,以通过分布式集群计算机开发超大规模的人工神经网络。2014年5月16日,吴恩达加入百度,负责“百度大脑”计划,并担任百度公司首席科学家。2017年3月20日,吴恩达宣布从百度辞职。2017年12月,吴恩达宣布成立人工智能公司Landing.ai,并担任公司的首席执行官。2018年1月,吴恩达成立了投资机构AI Fund。

深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

线性分类器技术

机器学习通过使用对象的特征来识别它所属的类(或组)来进行统计分类。线性分类器通过基于特征的线性组合的值进行分类决策。 对象的特征也称为特征值,通常在称为特征向量的向量中呈现给机器。

图像分割技术

图像分割就是把图像分成若干个特定的、具有独特性质的区域并提出感兴趣目标的技术和过程。它是由图像处理到图像分析的关键步骤。现有的图像分割方法主要分以下几类:基于阈值的分割方法、基于区域的分割方法、基于边缘的分割方法以及基于特定理论的分割方法等。从数学角度来看,图像分割是将数字图像划分成互不相交的区域的过程。图像分割的过程也是一个标记过程,即把属于同一区域的像索赋予相同的编号。

数据分析技术

数据分析是一类统计方法,其主要特点是多维性和描述性。有些几何方法有助于揭示不同的数据之间存在的关系,并绘制出统计信息图,以更简洁的解释这些数据中包含的主要信息。其他一些用于收集数据,以便弄清哪些是同质的,从而更好地了解数据。 数据分析可以处理大量数据,并确定这些数据最有用的部分。

最小二乘法技术

最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。 利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。 “最小二乘法”是对过度确定系统,即其中存在比未知数更多的方程组,以回归分析求得近似解的标准方法。在这整个解决方案中,最小二乘法演算为每一方程式的结果中,将残差平方和的总和最小化。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

感知技术

知觉或感知是外界刺激作用于感官时,脑对外界的整体的看法和理解,为我们对外界的感官信息进行组织和解释。在认知科学中,也可看作一组程序,包括获取信息、理解信息、筛选信息、组织信息。与感觉不同,知觉反映的是由对象的各样属性及关系构成的整体。

变分自编码器技术

变分自编码器可用于对先验数据分布进行建模。从名字上就可以看出,它包括两部分:编码器和解码器。编码器将数据分布的高级特征映射到数据的低级表征,低级表征叫作本征向量(latent vector)。解码器吸收数据的低级表征,然后输出同样数据的高级表征。变分编码器是自动编码器的升级版本,其结构跟自动编码器是类似的,也由编码器和解码器构成。在自动编码器中,需要输入一张图片,然后将一张图片编码之后得到一个隐含向量,这比原始方法的随机取一个随机噪声更好,因为这包含着原图片的信息,然后隐含向量解码得到与原图片对应的照片。但是这样其实并不能任意生成图片,因为没有办法自己去构造隐藏向量,所以它需要通过一张图片输入编码才知道得到的隐含向量是什么,这时就可以通过变分自动编码器来解决这个问题。解决办法就是在编码过程给它增加一些限制,迫使其生成的隐含向量能够粗略的遵循一个标准正态分布,这就是其与一般的自动编码器最大的不同。这样生成一张新图片就比较容易,只需要给它一个标准正态分布的随机隐含向量,这样通过解码器就能够生成想要的图片,而不需要给它一张原始图片先编码。

超参数优化技术

变分推断技术

see Variational Bayesian methods (approximation)

词嵌入技术

词嵌入是自然语言处理(NLP)中语言模型与表征学习技术的统称。概念上而言,它是指把一个维数为所有词的数量的高维空间嵌入到一个维数低得多的连续向量空间中,每个单词或词组被映射为实数域上的向量。

数据科学技术

数据科学,又称资料科学,是一门利用数据学习知识的学科,其目标是通过从数据中提取出有价值的部分来生产数据产品。它结合了诸多领域中的理论和技术,包括应用数学、统计、模式识别、机器学习、数据可视化、数据仓库以及高性能计算。数据科学通过运用各种相关的数据来帮助非专业人士理解问题。

最大似然估计技术

极大似然估计是统计学中用来估计概率模型参数的一种方法

文本分类技术

该技术可被用于理解、组织和分类结构化或非结构化文本文档。文本挖掘所使用的模型有词袋(BOW)模型、语言模型(ngram)和主题模型。隐马尔可夫模型通常用于词性标注(POS)。其涵盖的主要任务有句法分析、情绪分析和垃圾信息检测。

异常检测技术

在数据挖掘中,异常检测(英语:anomaly detection)对不符合预期模式或数据集中其他项目的项目、事件或观测值的识别。 通常异常项目会转变成银行欺诈、结构缺陷、医疗问题、文本错误等类型的问题。 异常也被称为离群值、新奇、噪声、偏差和例外。

人脸识别技术

广义的人脸识别实际包括构建人脸识别系统的一系列相关技术,包括人脸图像采集、人脸定位、人脸识别预处理、身份确认以及身份查找等;而狭义的人脸识别特指通过人脸进行身份确认或者身份查找的技术或系统。 人脸识别是一项热门的计算机技术研究领域,它属于生物特征识别技术,是对生物体(一般特指人)本身的生物特征来区分生物体个体。

最大后验概率技术

最大后验概率(MAP)估计来源于贝叶斯统计学,其估计值是后验概率分布(posterior distribution)的众数。最大后验概率估计可以对实验数据中无法直接观察到的量提供一个点估计(point estimate)。它与极大似然估计有密切的联系,但它通过考虑被估计量的先验概率分布(prior distribution)使用了增广的优化目标,因此,最大后验概率估计可以看作是规则化(regularization)的最大似然估计。

超参数技术

在机器学习中,超参数是在学习过程开始之前设置其值的参数。 相反,其他参数的值是通过训练得出的。 不同的模型训练算法需要不同的超参数,一些简单的算法(如普通最小二乘回归)不需要。 给定这些超参数,训练算法从数据中学习参数。相同种类的机器学习模型可能需要不同的超参数来适应不同的数据模式,并且必须对其进行调整以便模型能够最优地解决机器学习问题。 在实际应用中一般需要对超参数进行优化,以找到一个超参数元组(tuple),由这些超参数元组形成一个最优化模型,该模型可以将在给定的独立数据上预定义的损失函数最小化。

TensorFlow技术

TensorFlow是一个开源软件库,用于各种感知和语言理解任务的机器学习。目前被50个团队用于研究和生产许多Google商业产品,如语音识别、Gmail、Google 相册和搜索,其中许多产品曾使用过其前任软件DistBelief。

贝叶斯分类器技术

基于贝叶斯概率定理的分类器

注意力机制技术

我们可以粗略地把神经注意机制类比成一个可以专注于输入内容的某一子集(或特征)的神经网络. 注意力机制最早是由 DeepMind 为图像分类提出的,这让「神经网络在执行预测任务时可以更多关注输入中的相关部分,更少关注不相关的部分」。当解码器生成一个用于构成目标句子的词时,源句子中仅有少部分是相关的;因此,可以应用一个基于内容的注意力机制来根据源句子动态地生成一个(加权的)语境向量(context vector), 然后网络会根据这个语境向量而不是某个固定长度的向量来预测词。

非负矩阵分解技术

表征学习技术

在机器学习领域,表征学习(或特征学习)是一种将原始数据转换成为能够被机器学习有效开发的一种技术的集合。在特征学习算法出现之前,机器学习研究人员需要利用手动特征工程(manual feature learning)等技术从原始数据的领域知识(domain knowledge)建立特征,然后再部署相关的机器学习算法。虽然手动特征工程对于应用机器学习很有效,但它同时也是很困难、很昂贵、很耗时、并依赖于强大专业知识。特征学习弥补了这一点,它使得机器不仅能学习到数据的特征,并能利用这些特征来完成一个具体的任务。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

推荐系统技术

推荐系统(RS)主要是指应用协同智能(collaborative intelligence)做推荐的技术。推荐系统的两大主流类型是基于内容的推荐系统和协同过滤(Collaborative Filtering)。另外还有基于知识的推荐系统(包括基于本体和基于案例的推荐系统)是一类特殊的推荐系统,这类系统更加注重知识表征和推理。

向量空间模型技术

向量空间模型是一个把文本文件表示为标识符(比如索引)向量的代数模型。它应用于信息过滤、信息检索、索引以及相关排序。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

随机森林技术

在机器学习中,随机森林是一个包含多个决策树的分类器,并且其输出的类别是由个别树输出的类别的众数而定。 Leo Breiman和Adele Cutler发展出推论出随机森林的算法。而"Random Forests"是他们的商标。这个术语是1995年由贝尔实验室的Tin Kam Ho所提出的随机决策森林(random decision forests)而来的。这个方法则是结合Breimans的"Bootstrap aggregating"想法和Ho的"random subspace method" 以建造决策树的集合。

高斯过程技术

线性回归技术

在现实世界中,存在着大量这样的情况:两个变量例如X和Y有一些依赖关系。由X可以部分地决定Y的值,但这种决定往往不很确切。常常用来说明这种依赖关系的最简单、直观的例子是体重与身高,用Y表示他的体重。众所周知,一般说来,当X大时,Y也倾向于大,但由X不能严格地决定Y。又如,城市生活用电量Y与气温X有很大的关系。在夏天气温很高或冬天气温很低时,由于室内空调、冰箱等家用电器的使用,可能用电就高,相反,在春秋季节气温不高也不低,用电量就可能少。但我们不能由气温X准确地决定用电量Y。类似的例子还很多,变量之间的这种关系称为“相关关系”,回归模型就是研究相关关系的一个有力工具。

卷积神经网络技术

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

特征工程技术

特征工程是利用数据所在领域的相关知识来构建特征,使得机器学习算法发挥其最佳的过程。它是机器学习中的一个基本应用,实现难度大且代价高。采用自动特征工程方法可以省去采用人工特征工程的需求。Andrew Ng 说“挖掘特征是困难、费时且需要专业知识的事,应用机器学习其实基本上是在做特征工程。”

朴素贝叶斯技术

朴素贝叶斯是一种构建分类器的简单方法。该分类器模型会给问题实例分配用特征值表示的类标签,类标签取自有限集合。它不是训练这种分类器的单一算法,而是一系列基于相同原理的算法:所有朴素贝叶斯分类器都假定样本每个特征与其他特征都不相关。举个例子,如果一种水果其具有红,圆,直径大概3英寸等特征,该水果可以被判定为是苹果。尽管这些特征相互依赖或者有些特征由其他特征决定,然而朴素贝叶斯分类器认为这些属性在判定该水果是否为苹果的概率分布上独立的。

支持向量机技术

在机器学习中,支持向量机是在分类与回归分析中分析数据的监督式学习模型与相关的学习算法。给定一组训练实例,每个训练实例被标记为属于两个类别中的一个或另一个,SVM训练算法创建一个将新的实例分配给两个类别之一的模型,使其成为非概率二元线性分类器。SVM模型是将实例表示为空间中的点,这样映射就使得单独类别的实例被尽可能宽的明显的间隔分开。然后,将新的实例映射到同一空间,并基于它们落在间隔的哪一侧来预测所属类别。

聊天机器人技术

聊天机器人是经由对话或文字进行交谈的计算机程序。能够模拟人类对话,通过图灵测试。 聊天机器人可用于实用的目的,如客户服务或资讯获取。有些聊天机器人会搭载自然语言处理系统,但大多简单的系统只会撷取输入的关键字,再从数据库中找寻最合适的应答句。

降维技术

降维算法是将 p+1 个系数的问题简化为 M+1 个系数的问题,其中 M<p。算法执行包括计算变量的 M 个不同线性组合或投射(projection)。然后这 M 个投射作为预测器通过最小二乘法拟合一个线性回归模型。两个主要的方法是主成分回归(principal component regression)和偏最小二乘法(partial least squares)。

图像处理技术

图像处理是指对图像进行分析、加工和处理,使其满足视觉、心理或其他要求的技术。 图像处理是信号处理在图像领域上的一个应用。 目前大多数的图像均是以数字形式存储,因而图像处理很多情况下指数字图像处理。

正则化技术

当模型的复杂度增大时,训练误差会逐渐减小并趋向于0;而测试误差会先减小,达到最小值后又增大。当选择的模型复杂度过大时,过拟合现象就会发生。这样,在学习时就要防止过拟合。进行最优模型的选择,即选择复杂度适当的模型,以达到使测试误差最小的学习目的。

对话系统技术

对话系统大致被分成两类: 任务为导向的对话系统,帮助用户去完成特定任务,比如找商品,订住宿,订餐厅等。实现任务为导向的对话系统,主要有两类方式,流水线方法和端到端方法。非任务导向的对话系统,与用户进行互动并提供回答,简单的说,就是在开放领域的闲聊。实现非任务导向对话系统也主要可分为两类,生成方法和基于检索的方法。

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

主成分分析技术

在多元统计分析中,主成分分析(Principal components analysis,PCA)是一种分析、简化数据集的技术。主成分分析经常用于减少数据集的维数,同时保持数据集中的对方差贡献最大的特征。这是通过保留低阶主成分,忽略高阶主成分做到的。这样低阶成分往往能够保留住数据的最重要方面。但是,这也不是一定的,要视具体应用而定。由于主成分分析依赖所给数据,所以数据的准确性对分析结果影响很大。

微积分技术

微积分(Calculus)是高等数学中研究函数的微分(Differentiation)、积分(Integration)以及有关概念和应用的数学分支。它是数学的一个基础学科。内容主要包括极限、微分学、积分学及其应用。微分学包括求导数的运算,是一套关于变化率的理论。它使得函数、速度、加速度和曲线的斜率等均可用一套通用的符号进行讨论。积分学,包括求积分的运算,为定义和计算面积、体积等提供一套通用的方法 。

线性代数技术

线性代数是数学的一个分支,它的研究对象是向量,向量空间(或称线性空间),线性变换和有限维的线性方程组。向量空间是现代数学的一个重要课题;因而,线性代数被广泛地应用于抽象代数和泛函分析中;通过解析几何,线性代数得以被具体表示。线性代数的理论已被泛化为算子理论。由于科学研究中的非线性模型通常可以被近似为线性模型,使得线性代数被广泛地应用于自然科学和社会科学中。

隐含狄利克雷分布技术

隐含狄利克雷分布简称LDA(Latent Dirichlet allocation),是一种主题模型,它可以将文档集中每篇文档的主题按照概率分布的形式给出。同时它是一种无监督学习算法,在训练时不需要手工标注的训练集,需要的仅仅是文档集以及指定主题的数量k即可。此外LDA的另一个优点则是,对于每一个主题均可找出一些词语来描述它。LDA首先由Blei, David M.、吴恩达和Jordan, Michael I于2003年提出,目前在文本挖掘领域包括文本主题识别、文本分类以及文本相似度计算方面都有应用。

序列到序列技术

在线学习技术

在计算机科学中,在线学习是一种机器学习方法。和立即对整个训练数据集进行学习的批处理学习技术相反,在线学习的数据按顺序可用,并在每个步骤使用未来数据更新最佳预测器。

批归一化技术

批归一化(Batch Normalization,BN)由谷歌于2015年提出,是一个深度神经网络训练的技巧,它不仅可以加快模型的收敛速度,还能在一定程度上缓解深层网络中的“梯度弥散”问题,从而使得训练深层网络模型更加容易和稳定。目前BN已经成为几乎所有卷积神经网络的标配技巧了。从字面意思看来Batch Normalization(简称BN)就是对每一批数据进行归一化。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

深度神经网络技术

深度神经网络(DNN)是深度学习的一种框架,它是一种具备至少一个隐层的神经网络。与浅层神经网络类似,深度神经网络也能够为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力。

Jupyter技术

Jupyter Notebook(此前被称为 IPython notebook)是一个交互式笔记本,支持运行 40 多种编程语言。 Jupyter Notebook 的本质是一个 Web 应用程序,便于创建和共享文学化程序文档,支持实时代码,数学方程,可视化和 markdown。 用途包括:数据清理和转换,数值模拟,统计建模,机器学习等等 。

聚类技术

将物理或抽象对象的集合分成由类似的对象组成的多个类的过程被称为聚类。由聚类所生成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼此相似,与其他簇中的对象相异。“物以类聚,人以群分”,在自然科学和社会科学中,存在着大量的分类问题。聚类分析又称群分析,它是研究(样品或指标)分类问题的一种统计分析方法。聚类分析起源于分类学,但是聚类不等于分类。聚类与分类的不同在于,聚类所要求划分的类是未知的。聚类分析内容非常丰富,有系统聚类法、有序样品聚类法、动态聚类法、模糊聚类法、图论聚类法、聚类预报法等。

目标检测技术

一般目标检测(generic object detection)的目标是根据大量预定义的类别在自然图像中确定目标实例的位置,这是计算机视觉领域最基本和最有挑战性的问题之一。近些年兴起的深度学习技术是一种可从数据中直接学习特征表示的强大方法,并已经为一般目标检测领域带来了显著的突破性进展。

推荐文章
Mark
评论