3个月零基础机器学习快速入门

小白如何入门/转行机器学习,搭上人工智能这列二十一世纪的快车。通过篇文章,你将了解:

1. 人工智能自学的误区

2. 软件、硬件准备工作

3. 如何为自己准备一个客观可行、高效的学习计划

4. 能力变现与项目实践

这篇文章的目标读者是没有太多基础的朋友,对数学/统计/编程基础要求不高,比如:

  • 没有编程经验,不知道怎么学,急需高手指路;

  • 有一定的编程基础,但缺乏系统的学习,没有完整AI知识框架;

  • 缺乏系统性实战项目经验,知识仅停留在理论层面;

1. 人工智能自学的误区

1.1. 不要试图掌握所有的相关数学知识再开始学习

一般来说,大部分机器学习课程/书籍都要求:

  • 线性代数:矩阵/张量乘法、求逆,奇异值分解/特征值分解,行列式,范数等
  • 统计与概率:概率分布,独立性与贝叶斯,最大似然(MLE)和最大后验估计(MAP)等
  • 优化:线性优化,非线性优化(凸优化/非凸优化)以及其衍生的求解方法如梯度下降、牛顿法、基因算法和模拟退火等
  • 微积分:偏微分,链式法则,矩阵求导等
  • 信息论、数值理论等

一般人如果想要把这些知识都补全再开始机器学习往往需要很长时间,容易半途而废。而且这些知识是工具不是目的,我们的目标不是成为优化大师。建议在机器学习的过程中哪里不会补哪里,这样更有目的性且耗时更低。

1.2. 不要把深度学习作为入门第一课

虽然很多人都是冲着深度学习来的,但把深度学习作为机器学习第一课不是个好主意。原因如下:

  • 深度学习的黑箱性更加明显,很容易学得囫囵吞枣
  • 深度学习的理论/模型架构/技巧还在一直变化当中,并未尘埃落定
  • 深度学习实验对硬件要求高,不太适合自学或者使用个人电脑进行学习

1.3. 不要收集过多的资料 & 分辨资料的时效性

机器学习的资料很多,动辄就有几个G的材料可以下载或者观看。而很多朋友都有“收集癖”,一下子购买十几本书的人我也常常能够看到。

机器学习的发展和变化速度很快。在入门期间,建议“小而精”的选择资料,选择近期出版的且口碑良好的书籍

除了书籍,另外一个更高效的学习方式是适合自己的视频材料,跟着老师学习相关知识、并完成实战,这就好比我们学习数学打基础,有个好的老师能帮你少走弯路、节约时间、提高学习效率。

2. 软件、硬件准备

2.1. 硬件选择

另一个大家常问的问题是:是否可以用自己的笔记本电脑进行机器学习。答案是肯定的,大部分市面上的数据集都可以放到你的内存中运行。在入门阶段,我们很少会用到非常大的数据集,一般最大也就是图像分类数据集,完全可以使用个人笔记本电脑进行运行。在Windows笔记本上也可以用GPU进行深度学习,学习阶段完全不用担心硬件跟不上的问题...

2.2. 软件选择

操作系统方面,windows\mac OS\Linux都是可以的,无论使用哪个操作系统,都应该配备环境开发管理的软件Anaconda,算法开发学习阶段还可以使用jupyter notebook实现快速的调试开发。

Anaconda是一个方便的python包管理和环境管理软件可以很方便地实现多版本python并存、切换以及各种第三方包的快速安装。

Jupyter Notebook(此前被称为 IPython notebook)是一个开源的Web应用程序,允许开发者方便的创建、共享和执行代码。

特点:极其适合数据分析(分块执行、方便调试)、远程运行、交互式展现

至于编程语言,首推Python,因为其良好的拓展支持性,主流的工具包都有Python版本。在特定情况下,选择R作为编程语言也是可以的。其他可能的语言还包括C++、Java和Matlab,但我个人不大推荐。

Python特点:简单易用,学习成本低;开发效率高;高级语言,功能强大; 解释型语言,能跨平台;可扩展性强

3. 如何为自己准备一个客观可行、高效的学习计划

3.1. 最高效的学习方式:师傅领进门(第一阶段)

学习任何新知识,有前辈带着是最好的。但现在市场上学习的视频、资料都太多了,质量层次不齐。在和很多学员沟通后,发现大部分学员在学习过程中都有如下问题:

  • 没有编程基础、数学不扎实,“不敢学”;
  • 课程听不懂、太枯燥,找不到适合小白的入门课,“学不好”;
  • 学了不少理论,遇到现实问题还是无从下手,“不会用”;
  • 过程中遇到问题束手无策、中途放弃,“没人帮”。

入门的第一步了解自己的背景、选择合适的资料。

3.1.1. 中文课程:专为AI小白设计的人工智能实战课程

赵辛、褚英昊两位海归博士联手打造的人工智能入门学习路线,之所以推荐主要是课程本身的三大特点:有趣易懂、实战丰富、知识体系化。

有趣易懂:案例驱动型设计,大部分概念都从生活案例出发,很好理解;

实战丰富:40+实战案例,而且都是老师手把手带着完成;

知识体系化:6大课程,从浅入深全面讲解机器学习核心知识(Python 人工智能编程、人工智能核心数学理论、机器学习8大算法、深度学习与神经网络,计算机视觉、综合提升课)

3.1.2. 英文课程:吴恩达Cousera机器学习课程

Andrew Ng的机器学习课程(Machine Learning | Coursera)是很多人的启蒙课程,难度适中且完全免费。如果大家在知乎上搜索“机器学习如何入门?”,大部分答案都提到了Andrew的这门入门课程,所以这是一门绝对的口碑课程。

3.1.2. Python机器学习 & Introduction to Statistical Learning with R

在学习视频课程时,推荐同时阅读相关的机器学习书籍补充理论知识

  • Python机器学习(作者 Sebastian Raschka):这本书出版于2015年并多次再版,在亚马逊中国上我们可以找到影印版和翻译版。这本书去掉了大量的数学推导的部分,仅保留了机器学习的核心应用。阅读本书可以快速对如何使用Python机器学习框架Sklearn有一个基本的了解,可以很快上手开始工作。

3.1.3. 周志华《机器学习》

周志华老师的《机器学习》也被大家亲切的叫做“西瓜书”。虽然只有几百页,但内容涵盖比较广泛。然而和其他人的看法不同,我建议把西瓜书作为参考书而不是主力阅读书。西瓜书因为篇幅的限制,涵盖了很多的内容但无法详细的展看来讲,对于初学者自学来说实际阅读难度很大。这本书更适合作为学校的教材或者中阶读者自学使用,入门时学习这本书籍难度稍微偏高了一些。

我个人建议的用法是在学习网课和阅读ISL遇到疑惑时可以参考西瓜书的相关章节,但入门阶段没有必要一章一章的阅读,建议在这个阶段只阅读前十章即可。

3.2. 第二阶段:进阶学习

在这个阶段,你已经对机器学习有了基本的了解。如果你认真的阅读了ISL并上完了视频课程,我相信你已经在理论上明白了什么是线性回归,什么是数据压缩,对特征工程以及简单的回归/预测问题有了理论上的基础,并且可以通过编程完成一些实战项目。接下来,可以找一些跟综合的项目实现能力提升。

3.2.1. Kaggle挑战赛/练习

Kaggle(Your Home for Data Science)在数据分析领域早已大名鼎鼎,甚至可以说是数据分析第一社区,前一阵子刚刚被谷歌收购。Kaggle上有很多很好的数据集和挑战赛,你可以尝试这些挑战取得名次,甚至拿到奖金,对于将来找工作也非常有帮助。而且Kaggle的另一大优势是网友会分享他们的经验和看法,你也可以提出问题让大家来帮你提出一些修正方法。国内也有类似的平台,比如天池大数据竞赛,其他类似的平台还包括DataCastle。

使用Kaggle的目的主要是将技能落在实处,防止练就一身屠龙之技。机器学习最大的幻觉就是觉得自己什么都懂了,但等到真的使用时发现并不奏效,而Kaggle是一个低成本的应用机器学习的机会。

如果你学习了专为AI小白设计的人工智能实战课程,褚老师在最后一门课程中也有详细介绍Kaggle,并且将带你完成具体项目。

3.2.2. Github开源项目

GitHub (https://github.com/)是全球最大的程序员开源项目分享平台,在上面你可以和他人分享自己开发的程序项目。对于机器学习爱好者,你也可以在平台上查看、学习、并使用他人分享的实战项目,当你有了一定的基础后,可以去复现一些大型项目,也可以把自己的项目分享到平台上。

4. 实践经验

4.1. 日常能力变现,比如金融分析

如果你学习机器学习是出于兴趣爱好,学完之后想做一些有趣、甚至利用AI工具赚点生活费,那完全可以收集一些生活数据进行建模预测。比如,你可以通过股票软件获取股票数据,建立机器学习模型,预测股价涨跌从而帮助自己进行投资。对炒股感兴趣的同学,可以参考文章41.7%年化收益率 人工智能买股可以如此简单

图片描述

4.2. 研究经历

如果你还是学生,尝试尽早接触科研,进实验室。一般来说,大三的时候你应该已经有了基本的机器学习知识,尽管还比较浅。这个时候可以向老师/学长/学姐毛遂自荐进实验室,即使是无偿劳动和做基本的苦力活。进实验室有两个明显的好处:

  • 对某个小方向会有比较深入的了解。一般实验室做纯理论的不大需要本科生,做机器视觉或者自然语言处理(NLP)等小方向的比较需要本科生,所以这是很好的深入了解一个方向的机会。
  • 补充了研究经历也可以明白自己是否适合这个领域。如果运气好的话,你也有可能成为论文的作者之一,甚至可以去开会(公款旅游顺道见一下业内大佬)。这对于继续深造和去国外继续学习都很有帮助,有科研经历和论文是很大的筹码,对于找工作来说也绝对有利无害。

4.3. 企业实习

学习知识最好的方法还是要实践。因此,应该先试着做科研,再尝试行业实习。对待科研机会,有则就上,没有也不是太大的遗憾。我建议大部分做机器学习的朋友尽早实习,主要出于以下几个考量:

  • 打破幻想,了解行业应用的主流模型。其实行业应用的大部分技术并不酷炫,你很少能看到深度强化学习那种AlphaGo一样酷炫的模型。不夸张的说,广义线性模型(generalized linear models)还是占据了大壁江山,这要归功于其良好的解释能力。从神经网络角度出发,一般也逃不过普通任务深度网络、视觉任务卷积网络CNN、语音和文字任务LSTM的套路。
  • 补上学术界忽视的内容,比如可视化和数据清洗。行业界的最终目的是输出商业价值,而获得商业洞见的过程其实是非常痛苦的,比如第一步就是令人深恶痛绝的数据清洗。毫不夸张的说,行业界百分之六十的时间都在清理数据,这和学术界干净且规则化的现成数据完全不同。没有在行业界体验过的人,无法真的了解原来机器学习从头到尾有那么多陷阱,泛化能力只是终极目标,而往往我们连规整的数据都无法得到。
  • 了解技术商业化中的取舍,培养大局观。做技术的人往往一头扎进技术里面,而忽视了从全局思考。举个例子,模型A的准确率95.5%,每次训练时间是3天,需要6台有GPU的服务器。而模型B的准确率是百分之95.2%,但只需要一台普通的macbook训练4个小时就可以了。从学术角度出发我们往往追求更好的模型结果选A,而行业界还要考虑到训练开销、模型可解释性、模型稳定度等。到行业界实习不仅可以培养大家的宏观掌控能力,对将来自己带学生控制开销或者选题也大有帮助

4.4. 在本职工作中使用机器学习

对于大部分已经工作的朋友来说,重新回到学校攻读学位并不现实,进研究室进行学习更是缺少机会。那么这个时候,你就可以试着把机器学习应用到你自己的工作当中。

已经有了工作/研究经验的朋友,要试着将自己的工作经历利用起来。举例,不要做机器学习里面最擅长投资的人,而要做金融领域中最擅长机器学习的专家,这才是你的价值主张(value proposition)。最重要的是,机器学习的基本功没有大家想的那么高不可攀,没有必要放弃自己的本专业全职转行,沉没成本太高。通过跨领域完全可以做到曲线救国,化劣势为优势,你们可能比只懂机器学习的人有更大的行业价值。

举几个我身边的例子,我的一个朋友是做传统软件工程研究的,前年他和我商量如何使用机器学习以GitHub上的commit历史来识别bug,这就是一个很好的结合领域的知识。如果你本身是做金融出身,在你补足上面基本功的同时,就可以把机器学习交叉运用于你自己擅长的领域,做策略研究,我已经听说了无数个“宣称”使用机器学习实现了交易策略案例。虽不可尽信,但对特定领域的深刻理解往往就是捅破窗户的那最后一层纸,只理解模型但不了解数据和数据背后的意义,导致很多机器学习模型只停留在好看而不实用的阶段

5. 写在最后

近几年,科技界有两大领域越来越热:一个是人工智能,一个是5G。两者都是能够改变时代的颠覆性技术。目前,5G网络标准已经完成,5G产业处在商用冲刺阶段;人工智能方面,业界普遍认为,第四次科技革命是继蒸汽技术革命、电力技术革命、计算机及信息技术革命之后的又一次科技革命,而人工智能是第四次工业革命的重要推动技术。

成功的人往往能够看清楚行业趋势,把握住行业给予的机会,在AI+5G时代到来之际,先人一步掌握AI技术能确保自己具走的比其他人更远,无论在任何行业都更具竞争力。沉下心,拿出一些娱乐的时间,慢慢积累,轻松掌握机器学习。


如果现在就想开始学习,你还可以:

1、添加微信:ai_flare,领取Python编程课(AI方向)、Python实现机器学习,免费领取(仅限前100名)

2、人工智能学习路线:专为AI小白设计的人工智能实战课 - Python3入门人工智能 基础+实战 学习视频教程-CSDN学院

 

  • 6
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值