引入:零基础要怎么入门机器学习或者人工智能
[step 1: 方向]
在行动之前,先想好这几个最基本的问题,如果自己想不全都可以去搜一下,知乎上很多大牛的回答:
--1.为什么要学习机器学习或者人工智能呢?
我的话,很实在地说,就是不想被淘汰呀!最开始就是这么一个感觉。
官方一点的话,就是可以提高效率呀。
广泛的需求我并没有去想,只是想解决一下自己的需求。
譬如,不想做家务,就弄个机器人给我做;不想做琐事,就弄个智能助理给我做。
所以大家在开始入洞之前,也要先想几分钟这个问题:
eg:是想做数据科学还是人工智能开发呢?
if Data Science:就多做 kaggle 上偏分析的项目
if AI:再想想是自然语言处理还是图像识别呢?
我觉得 NLP 和 CV 是最基础的技术,AI 主要还是看应用领域,现在比较火的:自动驾驶,聊天机器人,ARVR,智能家居,智能教育,等等,最基础的就是看和理解么,当然对于每个具体的方向,肯定是涉及到更多技术和具体的细节知识需要去学的,不过入门的话,这俩是基础。可以选其一,有兴趣也可以选俩。AI 主要还是跟实际应用场景关联起来意义才大,医疗,生物,气象,教育,交通目前比较火,对某个领域感兴趣可以专攻更深。
--2.机器学习,人工智能,数据科学的关系?
为了确立明确的入口,最好是知道这三者的关系,方便大家做计划时更专注一些大家可以去多看几篇这样的文章,可以很快地了解一下大纲。
我比较喜欢下面这个图,因为它还列出了其他几个大的技能。来自这篇文章:http://www.cnblogs.com/DonJiang/p/5744535.html
从这个图看,机器学习的基础还是要看滴,虽然现在深度学习很流行,类似 Tensorflow 等平台也可以直接把数据仍进去,调用多种模型,变换网络的层次等参数,它就输出结果,不过神经网络模型是只是机器学习的一种,不是全部。当然开始的话,完全可以跨过ML课程,去学用TF训练一个聊天机器人,分析情绪,翻译器等等。
--3.多长时间后想达到什么样的目标?
eg:1 年后找到 ML 工作
then:简历上需要相关项目 or 学历背景
对于很多已经工作的伙伴,学历如果不容易实现的话,可做好项目这一栏。
then:在拉勾网等招聘网站上面找到感兴趣的工作,去看相关工作描述,提取出需求的技能,列入学习清单,学习时间紧时可以挑相关的先重点学。
[step 2: 路线-步骤]
第一步确立方向后,假设你想做人工智能,并且是自然语言处理,以此为例:
入门路线的话,一点我只推荐一个吧,简单不会被吓到,也是我经验觉得比较高效的:
--1.语言:
推荐 python
入门书:learn python the hard way
pkg 教程网站:python scikit-learn
当然还需要 numpy,matplotlib,pandas 等常用包,scikit 是介绍算法多一些,可直接看
--2.课程:
Coursera 上吴恩达的是我觉得比较基础且系统的,但它用matlab,大家可以直接换成 python 去敲代码。Udacity 上的机器学习课程是用 Python 做的。
--3.书:
周志华的西瓜书《机器学习》
--4.自然语言处理基础:
课程:cs224d
如果是图像处理,课程:cs231n
--5.小项目:
数据科学:Kaggle 上很多好玩的比赛,开脑洞+实战
人工智能:建议找个感兴趣的小方向,实际做出来一个,例如做一个自动会创作音乐的小程序
--6.螺旋式升级:
我觉得最有意思的就是在第5步,这期间就会发现还有好多关联东西需要学,所以就边学边战吧
[Tips]
2017 可以给自己定个小目标,一个月拿下一步,升一级,酱紫至多 5 个月后你就可以有自己的AI了。
上面几步,大家完全可以根据自己的喜好,在搜索引擎提供的结果中,选择适合自己的资源和节奏。
我觉得最有效的就是从实战中学习,但是理论也是必不可少的。
每一步先只选一个,适合自己的资源,就开始好好学。
上面只是一小步,离精深还远。
[关于阻碍]
大家担心比较多的问题就是,数学不记得了还能学么?
我觉得,暂时不要紧,可以直接看 scikit,里面有代码的 demo,知道套路可以用,先用上就会很有成就感。
里面文档不懂得,例如哪些参数什么意思呀,怎么调呀,也可以找搜索引擎帮助。
不过面试的话,对模型的原理,推导,细节还是要把握好的。
大家都说成长最快的方式,就是找这个领域的牛人学习。对于这种学习,如果没办法做到直接的,在线的,看他的书呀,听他的课呀,都算是学习。