机器学习的入门“秘籍”

2017 年 9 月 12 日 全球人工智能

全球人工智能:一家人工智能技术学习平台。旗下有:Paper学院、商业学院、科普学院,技术学院和职业学院五大业务。拥有十几万AI开发者和学习者用户,1万多名AI技术专家。


-免费加入AI高管投资群>>

-免费加入AI技术专家群>>

由于人工智能的发展,机器学习越来越受到大家的追捧。很多新的计算机科学家和工程师开始跨入机器学习这个美好的世界。不幸的是,理论,算法,应用,论文,书籍,视频等的数量是如此之大,以至于无法清楚地了解到底那些才是他们想要/需要学习提高他/她的技能的知识。

在这篇文章中,我想分享一下我的经验,提出一条可行的途径,快速学习基本概念,并准备好深入讨论最复杂的话题。当然这只是个人建议:每个朋友都可以根据自己的经验,选择更多地关注一些更有趣的话题。毕竟适合自己才是最好的路!

先决条件(基础)

机器学习是非常依赖数学的一门科学。这不是一个可以选择的选项,而是必选项,因为没有数学就没有机器学习,数学是一个不可抛弃的根本支柱。如果您是计算机工程师,每天使用UMLORM,设计模式和许多其他软件工程工具/技术,请闭上眼睛,忘记几乎所有内容。这并不意味着所有的这些概念都不重要。但机器学习需要一种不同的方法。Python在这个领域越来越受欢迎的原因之一就是它的原型设计速度。在机器学习中,一种允许您使用几行代码(无类,接口和所有其他OO基础架构)对算法进行建模的语言是绝对要掌握的。无疑,Python是最佳的选择,如果你有很深厚的Python基础,那么这将成为你的优势。

微积分,概率理论和线性代数是几乎任何算法所必需的数学技能。如果你已经有了很好的数学背景,你可以跳过这个部分,选择刷新一些重要的概念是一个不错的主意。考虑到数学理论,我不鼓励从头开始进行通透性学习。在完成特定的任务时也可以突击式的学习它们,数学的使用要由浅入深,一开始就注重简单的任务。

另外机器学习,有很多好的在线资源(如CourseraKhan AcademyUdacity)。学习过程中尽量采用适合自己学历背景的务实方法。我的建议是使用一个简短的纲要,其中最重要的概念需要一一自己亲自搞明白,并且在需要的时候通过搜索和研究继续深入的学下去。这不是一个非常系统的方法,但替代方案有一个显着的缺点:大量的数学概念可以阻止和迷失所有没有深厚学术背景的人。

一个入门的武林秘籍

概率论:

1.离散和连续的随机变量(Discrete and continuous random variables

2.重要的分布(伯努利,分类,二项式,正态,指数,泊松,贝塔,伽马)

3.贝叶斯统计(Bayes statistics

4.相关和协方差(correlation and covariance

线性代数:

1.向量和矩阵(Vectors and matrics

2.矩阵的决定因素(determinant of a matrix

3.特征向量和特征值(eigenvectors and eigenvalues

4.矩阵分解(像SVD)(Matrix factorization

微积分:

1.函数

2.积分

网上有很多免费资源,如:

  • GrinsteadSnell概率介绍Swarthmore和达特茅斯学院

  • Gallagher线性代数的介绍(用MATLAB的例子),哥伦比亚

  • Heinbockel微积分介绍     Old Dominion University

维基百科也是一个非常好的资源,许多公式,理论和定理都以清晰易懂的方式解释。

机器学习必备技能:

1.特征工程:

进入机器学习的第一步是了解如何测量和提高数据集的质量。管理分类和缺失的特征、归一化和维数降低(PCAICANMF)是可以显着提高任何算法性能的基本技术。研究如何将数据集分为训练集和测试集以及如何采用交叉验证,而不是经典测试方法。如果想清楚的了解什么是特征工程,点击!

2.NumpyPython的数学之王!

使用Python时,Numpy不仅仅是一个库。它是几乎任何机器学习实现的基础,绝对有必要了解它的工作原理,重点要关注矢量化和广播机制的概念、利用多线程和SIMDMIMD架构的优势。通过掌握这些原理概念,可以加快大多数算法的学习过程。官方文件完整,但我也建议这些资源:

  • VanderPlas J.  Python数据科学手册:使用数据的基本工具,O'Reilly

  • LangTangen PH  A Primer on Scientific Programming with PythonSpringer

3.数据可视化

虽然它不是纯粹的机器学习主题,重要的是要知道如何可视化数据集。Matplotlib可能是最佳的解决方案,它易于使用,并允许绘制不同类型的图表。BokehSeaborne提供了非常有趣的选择。没有必要对所有软件包有全面的了解,但是了解每个软件包的优点/弱点是有用的,因此能够在需要时选择正确的软件包。

学习Matplotlib的一个很好的资源是:

  • McGreggor D.掌握MatplotlibPackt Publishing

4.线性回归:

线性回归是最简单的模型之一,可以考虑将其作为解决优化问题的首选,它可以解决最小化均方误差的优化问题。我建议将其研究为贝叶斯问题,其中使用先验概率表示参数(例如,高斯分布),优化成为MLE(最大似然估计)。即使它似乎更复杂,这种方法提供了一个新的思路,可以和许多其他更复杂的模型共享。

有关贝尔斯统计的非常有用的介绍可在Coursera上获得:

  • 贝叶斯统计:从概念到数据分析

  • 贝叶斯统计:技术和模型

我建议你选择这些书:

  • Downey BA  Think BayesO'Reilly

  • Davidson-Pilon C.  贝叶斯方法黑客,Addison-Wesley

5.线性分类:

逻辑回归通常是最好的起点。这也是学习一些信息理论的好机会,了解熵、交叉熵和互信息等概念。分类交叉熵是深度学习分类中最稳定的成本函数,简单的逻辑回归可以展示如何加快学习过程(与均方误差相比)。另一个重要的话题是正则化(RidgeLassoElasticNet)。有很多次,它被认为是提高模型准确性的深奥方式,但它的真实含义更加精确,应该通过一些具体的例子予以理解。我建议初学者可以以逻辑回归作为一个简单的神经网络搭建的开始,可视化(对于2D示例)如何权重向量在学习过程中移动。

超参数网格搜索方法是一个不错的方法。Grid Search可以评估不同超参数集的性能,而不是完全意识到不同的值。因此,工程师可以将注意力集中在产生最高精度的组合上。

6.支持向量机(SVM):

支持向量机提供了不同的分类方法(线性和非线性)。该算法非常简单,学生只需要具有基础的几何知识就可以学习。然而,了解kernel-SVM的工作原理是非常有用,因为它们可以帮助你避免在线性方法的任务中频繁出现失败。

一些有用的免费资源:

  • Law,支持向量机的简单介绍,密歇根州立大学

  • 维基百科的内核方法

7.决策树:

决策树提供了另一种分类和回归方法。一般来说,它们不是非常复杂问题的首选,但它们提供了完全不同的方法,即使是非技术人员也可以很容易地理解,并且可以在会议或官方演示中进行可视化。

8.快速浏览集成学习(Ensemble learning):

在了解了决策树之后,研究如何组合树来提高整体准确度的方法是有用的。随机森林,梯度提升回归树和AdaBoost是复杂性比较低的强大算法。Scikit-Learn提供了最常见的实现,但是如果您想要充分利用这些算法,我建议你花一些时间研究XGBoost,这是一个分布式框架,可以与CPUGPU一起工作,加快训练过程,即使是非常庞大的数据集。

9.聚类:

研究聚类方法,依我的意见,最好的做法是研究高斯混合算法(基于EM期望最大化)。即使K-Means也比较简单(但必须进行研究),高斯混合提供了一种纯贝叶斯方法,这对许多其他类似的任务很有用。其他必须研究的聚类算法还包括分层聚类,光谱聚类和DBSCAN。了解基于实例的学习的思想也很有用,例如研究了k-Nearest Neighbors算法,可以用于监督学习和无监督学习任务。

光谱聚类的免费资源是:

  • Von Luxburg U.A tutorial on Spectral ClusteringMax-Planck Institute

10.神经网络:

神经网络是深度学习的基础,应该花单独的时间进行研究。但是,我认为了解PerceptronMulti-Layer PerceptronBackpropagation算法的概念对神经网络的学习是很有用的。Scikit-learn提供了一个非常简单的神经网络,但是,它是一个好的开始,接着就是了解Keras,这是基于高层次的框架TensorflowTheanoCNTK的深度学习包,允许模拟和训练神经网络。

一些好的神经网络资源:

  • HassounM,人造神经网络基础,麻省理工学院出版社

  • Gulli A.PalSDeep Learning with KerasPackt Publishing

市场上最好的深度学习书可能是:

  • Goodfellow I.Bengio Y.Courville A.Deep LearningThe MIT Press

希望本文能够帮助到那些打算进入机器学习领域的朋友们!

《全球人工智能》开始招人啦!


招聘职位:1名中文编辑(深圳),1名英文编译(深圳),1名课程规划(深圳),4名导师管理(深圳),10名渠道商务 简历发送mike.yu@aisdk.com

热门文章推荐

2017年7大最受欢迎的AI编程语言:Python第一!

重磅|中国首家人工智能技术学院在京揭牌开学!

厉害 | 南京大学周志华教授当选欧洲科学院外籍院士!

5个月市值涨了1200亿,首次突破3100亿市值!

华为扔下这枚“AI芯弹”,全世界的智能手机都卡(慢)死了!

用57行代码搞定花8000万美元采购车牌识别项目

厉害|百度28位离职技术大牛和他们创建的AI公司!

一AI工程师下载200万GB色情内容,只为学习Python!

推荐|变形卷积核、可分离卷积?CNN中十大操作!

她:13岁造飞机,17岁进MIT,22岁到哈佛读博!

登录查看更多
0

相关内容

“机器学习是近20多年兴起的一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。机器学习理论主要是设计和分析一些让 可以自动“ 学习”的算法。机器学习算法是一类从数据中自动分析获得规律,并利用规律对未知数据进行预测的算法。因为学习算法中涉及了大量的统计学理论,机器学习与统计推断学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。很多 推论问题属于 无程序可循难度,所以部分的机器学习研究是开发容易处理的近似算法。” ——中文维基百科

知识荟萃

精品入门和进阶教程、论文和代码整理等

更多

查看相关VIP内容、论文、资讯等
【实用书】Python机器学习Scikit-Learn应用指南,247页pdf
专知会员服务
266+阅读 · 2020年6月10日
专知会员服务
171+阅读 · 2020年6月4日
【哈佛《CS50 Python人工智能入门》课程 (2020)】
专知会员服务
111+阅读 · 2020年4月12日
《可解释的机器学习-interpretable-ml》238页pdf
专知会员服务
202+阅读 · 2020年2月24日
【2020新书】数据科学:十大Python项目,247页pdf
专知会员服务
213+阅读 · 2020年2月21日
【电子书】机器学习实战(Machine Learning in Action),附PDF
专知会员服务
126+阅读 · 2019年11月25日
各编程领域最好的入门书籍
程序猿
28+阅读 · 2018年7月29日
干货 | 机器学习怎么从入门到不放弃!
THU数据派
6+阅读 · 2018年6月8日
书单 | 深度学习修炼秘籍
机器学习算法与Python学习
10+阅读 · 2018年3月27日
Python 如何快速入门?
全球人工智能
6+阅读 · 2018年3月15日
【机器学习】机器学习和深度学习概念入门
产业智能官
11+阅读 · 2018年1月3日
只需5个月,编程小白也能掌握机器学习
ImportNew
5+阅读 · 2017年12月4日
如何入门Python与机器学习 | 赠书
CSDN大数据
9+阅读 · 2017年11月12日
如何用 3 个月零基础入门机器学习?
AI研习社
6+阅读 · 2017年9月27日
干货|7步让你从零开始掌握Python机器学习!
全球人工智能
8+阅读 · 2017年9月24日
Meta-Learning with Implicit Gradients
Arxiv
13+阅读 · 2019年9月10日
Arxiv
12+阅读 · 2019年4月9日
Arxiv
18+阅读 · 2019年1月16日
Adversarial Transfer Learning
Arxiv
12+阅读 · 2018年12月6日
Neural Architecture Optimization
Arxiv
8+阅读 · 2018年9月5日
Arxiv
19+阅读 · 2018年3月28日
Arxiv
25+阅读 · 2018年1月24日
VIP会员
相关VIP内容
【实用书】Python机器学习Scikit-Learn应用指南,247页pdf
专知会员服务
266+阅读 · 2020年6月10日
专知会员服务
171+阅读 · 2020年6月4日
【哈佛《CS50 Python人工智能入门》课程 (2020)】
专知会员服务
111+阅读 · 2020年4月12日
《可解释的机器学习-interpretable-ml》238页pdf
专知会员服务
202+阅读 · 2020年2月24日
【2020新书】数据科学:十大Python项目,247页pdf
专知会员服务
213+阅读 · 2020年2月21日
【电子书】机器学习实战(Machine Learning in Action),附PDF
专知会员服务
126+阅读 · 2019年11月25日
相关资讯
各编程领域最好的入门书籍
程序猿
28+阅读 · 2018年7月29日
干货 | 机器学习怎么从入门到不放弃!
THU数据派
6+阅读 · 2018年6月8日
书单 | 深度学习修炼秘籍
机器学习算法与Python学习
10+阅读 · 2018年3月27日
Python 如何快速入门?
全球人工智能
6+阅读 · 2018年3月15日
【机器学习】机器学习和深度学习概念入门
产业智能官
11+阅读 · 2018年1月3日
只需5个月,编程小白也能掌握机器学习
ImportNew
5+阅读 · 2017年12月4日
如何入门Python与机器学习 | 赠书
CSDN大数据
9+阅读 · 2017年11月12日
如何用 3 个月零基础入门机器学习?
AI研习社
6+阅读 · 2017年9月27日
干货|7步让你从零开始掌握Python机器学习!
全球人工智能
8+阅读 · 2017年9月24日
相关论文
Meta-Learning with Implicit Gradients
Arxiv
13+阅读 · 2019年9月10日
Arxiv
12+阅读 · 2019年4月9日
Arxiv
18+阅读 · 2019年1月16日
Adversarial Transfer Learning
Arxiv
12+阅读 · 2018年12月6日
Neural Architecture Optimization
Arxiv
8+阅读 · 2018年9月5日
Arxiv
19+阅读 · 2018年3月28日
Arxiv
25+阅读 · 2018年1月24日
Top
微信扫码咨询专知VIP会员