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