机器学习该怎么入门
当初学者开始学习机器时,科多大数据相信大家首先会问“门槛是什么?需要了解什么才能开始从事这一行?
一旦初学者开始尝试了解这个问题,经常发现善意但令人沮丧的建议,如下所示:
你需要掌握数学,以下是清单:
- 微积分
- 微分方程
- 数学统计
- 优化
- 算法分析
...
像这样的回复足以令任何人都感到恐惧,即使具有一定的数学专业基础。
猜想很多初学者会被这样的建议吓倒,其实所需要的数学知识比你想象的少(至少比你被告知的要少)。如果有兴趣成为机器学习从业者,那么你不需要很多高级数学知识也可以开始。
但要说没有任何门槛那也不是。事实上,即使没有对微积分和线性代数的高度理解,也有其他门槛。
数学不是机器学习的主要前提
如果是初学者,而目标是在行业或企业中处理问题,那么数学不是机器学习的主要先决条件。
到目前为止,你听到的关于机器学习的大多数建议是来自在学术领域里从事数据科学的专家。
在学术领域,你经常会被鼓励学术研究和写报告,当你的研究领域是机器学习,那么你的确需要深入了解机器学习的统计学和数学基础。
在工业领域,在大多数情况下,主要的追求不是发明创造(造轮子)和写报告。企业真正追求的是否能创造商业价值。在大多数时候,尤其刚起步阶段,你会应用“现成”工具就足够了。这时候你会发现,这些工具对数学的要求并没有你想象的那么高。
“现成的”工具数学要求并不高
几乎所有常见的机器学习库和工具都会为你处理困难的数学问题,也就是说不一定需要知道线性代数和微积分才能从事机器学习工作。
再次强调这一点:现代统计学和机器学习软件可以为你处理大量的数学问题。
对于初学者来说,机器学习涉及的数学知识深似海,了解深海领域的数学知识既不需要也没必要。
当然这些工具不能替你把所有的事都干了。你仍然需要动手实践才能掌握这些工具。
如果要开始学习机器,需要学习的真正的必备技能就是数据分析。
对于初学者(不管你是软件工程师还是来自其他领域的从业者),你不需要知道很多微积分、线性代数或其它任何大学级数学知识就可以完成这些任务。
但数据分析能力却是必不可少的,数据分析是你完成工作所需的第一个技能,这才是机器学习初学者真正需要必备的能力。
数学是重要的,但不是对入门者的
数学很重要,特别是在某些情况下,数学是非常重要的。
首先,如果你是在学术领域中进行机器学习研究,数学很重要;第二,在行业领域中,数学对于一小部分高级数据分析师/数据科学家也是重要的。特别是像Google和Facebook这样的公司,他们走在前沿,正在使用机器学习领域的尖端工具,这些人会在他们的工作中经常使用微积分、线性代数和更高级的数学。
初学者学习机器学习也是需要数学的,要开始学习机器学习,入门级你至少需要本科基础数学技能。你还需要了解基本统计知识,如:平均值,标准偏差,差异等等。
2024-04-22 广告
2019-06-24
②数据分析里需要应用到的内容也需要掌握,但不是网上所说的从0开始帮你做数据分析的那种,而是数据挖掘或者说是数据科学领域相关的东西,比如要知道计算机里面怎么挖掘数据、相关的数据挖掘工具等等
补足了以上数学和数据挖掘基本知识,才可以正式进行机器学习算法原理的学习。
③算法方面需要掌握一些基本的框架:python、spark、mllib、scikit-learning、pytorch、TensorFlow,数据方面需要懂得HQL、numpy、pandas,如果你本身是后台开发、app开发、数据分析、项目管理,则是一个学习算法的一个加分项。
④最后需要对人工智能有全局的认知,包括机器学习、深度学习两大模块,相关的算法原理、推导和应用的掌握,以及最重要算法思想。
可以去学习下菜鸟窝的机器学习课,python基础、数据分析、数学都是从0基础开始,老师都是BAT工业界多年实践经验的,能让你短时间入门机器学习,并且拥有持续读paper等的自学能力,不过培训跟相亲一样要看眼缘,我这里有他们公开课的全套资料包括PPT源码,想要的可以私我哦。
2019-10-15
网络教程:比如Andrew Ng的、各种专题的博客,有针对地找相应的教程,相对着看,网络资源比如51cto学院的课程跟书的表达方式毕竟是不一样的,也是很有益的信息源。
paper:比如学CNN的时候,就搜一堆论文来,集中一段时间看一轮,一定要有针对性,带着很明确的问号去看。
开源资源:很多很多东西,其实都有人做出来开源了,直接拿来用,一边用一边理解,甚至可以学习源码
关注这个领域:关注相关的会议期刊,关注大牛们(Hinton、Bengio、LeCun等)的动向,微博加一堆领域大牛每天看一眼他们分享什么上来。
至于视频学习,我个人不太喜欢,信息密度太低,效率太低,还不如多看些书和论文(当然,你如果想瞻仰大神们,还是可以看看的)。
基础知识:线代、统计、概率、数学分析;信息论方面基本概念要理解,比如要知道相对熵是什么意思和怎么算;凸优化和最优估计相关内容,在各种各样问题中都会遇到,学好了可以帮大忙。
机器学习主要就是找到目标函数并且做参数估计,虽然有很多现成工具,但是不熟悉优化问题的话,会很抓瞎。
模型总要熟悉几个吧,神经网络(SAE、RBM、CNN等)、SVM、最大熵、CRF、随机森林、GMM等等。了解不同应用场景下各种模型有什么优劣,挑一些自己以后可能常用到的多练习。