凭借强大的统计学基础,机器学习正在成为最有趣,节奏最快的计算机科学领域之一,目前已经有无穷无尽的行业和应用正在使用机器学习使它们更高效和智能。
聊天机器人、垃圾邮件过滤、广告投放、搜索引擎和欺诈检测是机器学习模型正在实际应用于日常生活的几个例子。
机器学习到底是什么呢?我认为机器学习是让我们找到模式并为人类无法做的事情创建数学模型。
机器学习课程与包含探索性数据分析,统计,通信和可视化技术等主题的数据科学课程不同,它更侧重于教授机器学习算法,如何以数学方式工作,以及如何在编程语言中使用它们。
以下是今年五大机器学习课程的简要回顾。
最好的五个机器学习课程:
1. 机器学习-Coursera
2. 深度学习专项课程-Coursera
3. 使用Python进行机器学习-Coursera
4. 高级机器学习专项课程-Coursera
5. 机器学习-EdX
什么是一个非常好的机器学习课程?
标准:
上面的每门课程都遵循以下标准:
· 严格关注机器学习;
· 使用免费的开源编程语言,即Python,R或Octave;
· 这些开源的语言都有很多免费的开源库;
· 包含练习和实践经验的编程任务;
· 解释算法如何以数学方式工作;
· 有吸引力的讲师和有趣的讲座;
有了这个标准,很多课程都会被淘汰,为了让自己沉浸其中并尽可能快速全面地学习ML,我相信除了在线学习之外,你还应该寻找各种书籍。以下是两本对我的学习经历产生重大影响的书籍。
两本优秀的书籍伴侣
除了参加下面的任何视频课程,如果你对机器学习还不熟悉,你应该考虑阅读以下书籍:
· 统计学习简介,可在线免费获取。
本书提供了令人难以置信的清晰直接的解释和示例,以提高你对许多基本机器学习技术的整体数学直觉。而去更多地是关于事物的理论方面,但它确实包含许多使用R编程语言的练习和例子。
· 使用Scikit-Learn和TensorFlow进行动手机器学习,可通过Safari订阅获得。
这是对前一本书的一个很好的补充,因为本文主要关注使用Python进行机器学习的应用。本书将强化你的编程技巧,并向你展示如何立即将机器学习应用于项目。现在,让我们来看看课程描述和评论。
1:机器学习 - Coursera
此课程的创作者是Andrew Ng,一个斯坦福大学教授,谷歌大脑、Coursera的创始人之一。本课程使用开源编程语言Octave而不是Python或R进行教学。对于某些人来说,这可能是不太友好,但如果你是一个完整的初学者,Octave实际上是一种最简单学习ML基础知识的方法。
总的来说,课程材料非常全面,并且由Ng直观地表达,该课程完整地解释了理解每个算法所需的所有数学,包括一些微积分解释和线性代数的复习,课程相当独立,但事先对线性代数的一些了解肯定会有所帮助。
提供者:Andrew Ng,斯坦福大学
费用:免费审核,证书79美元
课程结构:
· 单变量的线性回归
· 回顾线性代数
· 多变量的线性回归
· Octave/Matlab教程
· Logistic回归
· 正则化
· 神经网络:表示
· 神经网络:学习
· 应用机器学习的建议
· 机器学习系统设计
· 支持向量机
· 降维
· 异常检测
· 推荐系统
· 大规模机器学习
· 应用示例:Photo OCR
如果你可以承诺完成整个课程,你将在大约四个月内掌握机器学习的基础知识。之后,你可以轻松地进入更高级或专业的主题,如深度学习,ML工程或任何其他引起你兴趣的话题。毫无疑问,这是新手开始的最佳课程。
2:深度学习专项课程-Coursera
同样由Andrew Ng教授,这是一个更高级的课程系列,适合任何有兴趣学习神经网络和深度学习的人。每门课程的作业和讲座都使用Python编程语言,并将TensorFlow库用于神经网络。这第一个机器学习课程的很好的后续,因为你现在将接触使用Python进行机器学习。
提供者:Andrew Ng,deeplearning.ai
费用:免费审核,证书每月49美元
课程结构:
1. 神经网络与深度学习
· 深度学习简介
· 神经网络基础知识
· 浅层神经网络
· 深度神经网络
2.改进神经网络:超参数调整,正则化和优化
· 深度学习的实践方面
· 优化算法
· 超参数调整,批量标准化和编程框架
3.构建机器学习项目
· ML策略(1)
· ML策略(2)
4.卷积神经网络
· 卷积神经网络的基础
· 深度卷积模型:案例研究
· 物体检测
· 特殊应用:人脸识别和神经风格转移
5.序列模型
· 递归神经网络
· 自然语言处理和Word嵌入
· 序列模型和注意机制
为了理解本课程中介绍的算法,你应该熟悉线性代数和机器学习。如果你需要一些建议来获取所需的数学,请参阅本文末尾的学习指南。
3:使用Python进行机器学习-Coursera
这是另一个初学者课程,这个课程仅关注最基本的机器学习算法。本课程使用Python教学,并且对数学的要求不是很高。通过每个模块,你将有机会使用交互式Jupyter笔记本来完成你刚学过的新概念。每个笔记本都增强了你的知识,并为你提供了在实际数据上使用算法的具体说明。
提供者:IBM
价格:免费审核,证书每月39美元
课程结构:
· 机器学习简介
· 回归
· 分类
· 聚类
· 推荐系统
· 项目
本课程最好的一点是为每种算法提供实用的建议。当引入新算法时,老师会向你提供它的工作原理,它的优点和缺点,以及你应该使用它的哪种情况。这些点经常被排除在其他课程之外,这些信息对于新学员来说非常重要。
4:高级机器学习专项课程-Coursera
这是另一个高级系列课程,涉及了非常多的网络类型。如果你有兴趣尽可能多地使用机器学习技术,这个课程很关键。本课程的教学非常棒,由于其先进性,你需要学习更多的数学。本课程涵盖的大部分内容对许多机器学习项目至关重要。
提供者:国立研究大学高等经济学院
成本:免费审核,每月49美元的证书
课程:
1. 深度学习简介
· 优化简介
· 神经网络简介
· 深度学习图像
· 无监督表示学习
· Dee学习序列
· 项目
2.如何赢得数据科学竞赛:向顶级Kagglers学习
· 介绍和回顾
· 关于模型的特征处理和生成
· 最终项目描述
· 探索性数据分析
· 验证
· 数据泄漏
· 度量标准优化
· 高级特征工程-1
· 超参数优化
· 高级特征工程-2
· Ensembling
· 项目
3.机器学习的贝叶斯方法
· 贝叶斯方法和共轭先验的介绍
· 期望最大化算法
· 变分推断和潜在Dirichlet分配(LDA)
· 马尔可夫链蒙特卡洛
· 变分自动编码器
· 高斯过程和贝叶斯优化
· 项目
4.实践强化学习
· 简介:我为什么要关心?
· RL的核心:动态编程
· 无模型方法
· 基于近似值的方法
· 基于政策的方法
· 探索
5.计算机视觉中的深度学习
· 图像处理和计算机视觉入门
· 视觉识别的卷积特征
· 物体检测
· 对象跟踪和动作识别
· 图像分割与合成
6.自然语言处理
· 简介和文本分类
· 语言建模和序列标记
· 语义的向量空间模型
· 序列到序列任务
· 对话系统
7.通过机器学习解决大型强子对撞机挑战
· 数据科学家的粒子物理入门
· 粒子识别
· 寻找稀有衰变中的新物理学
· 在新的CERN实验中用机器学习搜索暗物质提示
· 探测器优化
完成这一系列课程大约需要8到10个月,所以如果你从今天开始,在不到一年的时间里,你将学到大量的机器学习算法,并能够开始处理更多尖端的应用程序。在这几个月中,你还将创建几个真正的项目,使计算机学习如何阅读,查看和播放。这些项目将成为你投资组合的理想选择,并将使你的GitHub对任何感兴趣的雇主都非常活跃。
5:机器学习-EdX
这是一个高级课程,具有文中任何其他课程的最高数学先决条件。你需要非常牢固地掌握线性代数、微积分、概率和编程。该课程在Python或Octave中都有编程作业,但该课程不教授任何一种语言。与其他课程的不同之处是对机器学习的概率方法的讲解。如果你有兴趣阅读教科书,例如机器学习:概率视角,这是硕士课程中最流行的数据科学书籍之一。
提供者:哥伦比亚大学
费用:免费审核,证书300美元
课程结构:
· 最大似然估计,线性回归,最小二乘法
· 岭回归,偏差方差,贝叶斯规则,最大后验推断
· 最近邻分类,贝叶斯分类器,线性分类器,感知器
· Logistic回归,Laplace逼近,核方法,高斯过程
· 最大边距,支持向量机(SVM),树木,随机森林,提升
· 聚类,K均值,EM算法,缺失数据
· 高斯混合,矩阵分解
· 非负矩阵分解,潜在因子模型,PCA和变化
· 马尔可夫模型,隐马尔可夫模型
· 连续状态空间模型,关联分析
· 模型选择,后续步骤
课程中的许多主题都包含在针对初学者的其他课程中,但数学并未在这里淡化。如果你已经学习了这些技术,有兴趣深入研究数学,并希望从事实际推导出某些算法的编程作业,那么请学习本课程。
学习指南
这里是你学习机器学习之旅的快速指南,首先,我们将介绍大多数机器学习课程的先决条件。
课程先决条件
高级的课程在开始之前需要以下知识:
· 线性代数
· 概率
· 微积分
· 程序设计
这些是能够理解机器学习如何在幕后工作的简单组件。许多初级课程通常要求至少一些编程和熟悉线性代数基础知识,例如向量,矩阵。本文的第一个课程,Andrew Ng的机器学习,包含了你需要的大部分数学的复习,但是如果你以前没有学过线性代数,那么同时学习机器学习和线性代数可能会很困难。
另外,我建议学习Python,因为大多数优秀的ML课程都使用Python。如果你学习使用Octave的Andrew Ng的机器学习课程,你应该在课程期间或之后学习Python,因为你最终需要它。另外,另一个很棒的Python资源是dataquest.io,它在他们的交互式浏览器环境中有一堆免费的Python课程。在学习了必备必需品之后,你就可以开始真正理解算法的工作原理了。
基本算法
在机器学习中有一套基本的算法,每个人都应该熟悉并具有使用经验。这些是:
· 线性回归
· Logistic回归
· k-Means聚类
· k-最近邻居
· 支持向量机(SVM)
· 决策树
· 随机森林
· 朴素贝叶斯
这些是必需品,上面列出的课程基本上包含所有这些。在开展新项目时,了解这些技术如何工作以及何时使用它们将非常重要。
在基础知识之后,一些更先进的学习技巧将是:
· 集成学习
· Boosting
· 降维
· 强化学习
· 神经网络与深度学习
这只是一个开始,但这些算法通常是你在最有趣的机器学习解决方案中看到的,它们是你工具箱的有效补充。就像基本技术一样,你学习的每一个新工具都应该养成一个习惯,立即将它应用到项目中,以巩固你的理解,并在需要复习时有所回头。
解决一个项目
在线学习机器学习具有挑战性并且非常有益。重要的是要记住,只是观看视频和参加测验并不意味着你真的在学习这些材料。如果你正在进行的项目使用不同的数据并且目标与课程本身不同,你将学到更多。
一旦你开始学习基础知识,你应该寻找可以应用这些新技能的有趣数据。上面的课程将为你提供何时应用某些算法的直觉,因此立即将它们应用于你自己的项目中是一种很好的做法。
通过反复试验,探索和反馈,你将发现如何尝试不同的技术,如何衡量结果,以及如何分类或预测。有关要采用何种ML项目的一些灵感,请参阅此示例列表。
解决项目可以让你更好地理解机器学习环境,当你深入了解深度学习等更高级的概念时,实际上可以使用无限数量的技术和方法来理解和使用。
阅读新研究
机器学习是一个快速发展的领域,每天都有新的技术和应用出现。一旦你通过基础知识,你应该有能力通过一些关于你感兴趣的主题的研究论文。有几个网站可以获得符合你标准的新论文的通知。
Google学术搜索始终是一个好的开始,输入“机器学习”和“深度学习”等关键词,或者你感兴趣的任何其他内容,点击左侧的“创建提醒”链接即可收到电子邮件。
让它成为每周习惯,阅读这些警报,扫描文件,看看它们是否值得阅读,然后承诺了解正在发生的事情。如果它与你正在处理的项目有关,请查看你是否可以将这些技术应用于你自己的问题。
原文链接
本文为云栖社区原创内容,未经允许不得转载。