毫无疑问,人工智能是目前整个互联网领域最火的行业,随着AlphaGo战胜世界围棋冠军,以及各种无人驾驶、智能家居项目的布道,人们已经意识到了AI就是下一个风口。当然,程序员是我见过对于新技术最敏感的一个人群,举一个例子:当TensorFlow刚刚面世的时候,几乎所有搞大数据的同学一见面就开始交流这方面的内容,仿佛所有人一夜之间成了“TFboys”(tensorflow_boys)。我觉得之所以程序员对于新技术很敏感有两个原因,其一是技术这碗饭会逼着你不停地去学习,不然很快会被淘汰;其二是程序员大多是理工男,对于新事物是充满好奇的。借着出版《机器学习实践应用》的机会 
 
,又是到了这样一个档口,就是很多程序员面临转型,需要去学习AI技术,在这一文我就简单谈谈我对学习AI的一些看法,我自己的肤浅想法,轻喷哈。

(先声明下我不是算法大神,我是阿里机器学习产品经理,不过我身边都是各种各样的算法大牛)首先讲下我个人的学习经历,我最先接触编程是在刚上大学的时候,2010年左右。最早的时候大家都信奉PHP是最牛的语言,当时觉得能做网站的人都是大仙。过了不到3年,移动互联网的浪潮来了,几乎所有人全部转去学Android开发、iOS开发,而且最初的时候做移动端开发是非常吃香的(这股浪潮很像现在的AI浪潮,我确信不到三年时间市面上的算法工程师会成指数性增长)。我自己当时是在做android开发,也是在一家大的手机公司实习,我当时觉得开发手机软件挺酷的,直到有一个契机让我见识到了AI。当时是有一次机会调用了某个以色列公司开发的眼球识别SDK,13年那时候看到眼球识别这总高端技术是觉得非常神奇的,后来我偷偷Google了下后端的技术,这才第一次认识到了世界上居然有机器学习算法这种东西。于是理工男的那种对新技术的好奇心就促使我去学习机器学习算法,刚一开始先认识了一些基础的算法,比如LR、KNN、RF这些,当时在国内没有这么多的视频课程可以学习,买了一本《机器学习实战》的书,是外国翻译过来的,把里面的很多代码都自己推敲了一遍,成长很大。但是学习机器学习,光知道算法是远远不够的,还需要数据和场景去操练。正好当时阿里举办第一届天池大赛,奖金记得有100万,于是就和几个小伙伴结队参赛,比赛比了两个月,当时真正的在TB级别的数据下实践了特征工程、调参、交叉验证、计算F1分等等。而且第一次体会了分布式集群的威力。当时比赛用的是阿里云的xlab,也就是机器学习PAI的前身。比赛的时候我就深深的爱上了这款云端的机器学习工具,导致后来我义无反顾的投身阿里云,做了PAI的产品经理,开启了我的机器学习业务实践之路。

讲了这么多我自己的经历,希望对大家有一些启发。总结归纳一下程序员如何转型成为AI工程师。首先,需要确立自己的职责,是算法开发还是算法应用,这两个差别很大。如果工作的性质是通过算法去解决一些实际的业务问题,偏算法应用,那我觉得需要更专注于了解业务以及算法的使用场景。如果工作性质是去开发算法,提升效率,那么需要更多的关注数学推导能力以及编程技巧。机器学习算法对数学的能力要求是非常高的,这就是为什么BAT很多算法开发工程师都是数学专业毕业的原因。 
 
当明确了自己的定位,还需要一个环境去实践,需要有大量的数据在特定的场景下去不断磨练自己对数据的认知,对数据认知的过程就是将业务抽象成数学公式,将数据转化为特征的过程,我觉得这个能力会比推导算法更重要。在这里给大家一些推荐: 
1.首先学习算法可以去看一些书《机器学习实战》(强烈推荐)、《统计学习方法》(偏底层数学推导)、《机器学习实践应用》(偏业务)。也可以去看看吴恩达老师的关于机器学习的斯坦福公开课。 
2.关于实践场景,可以去参加Kaggle的比赛或者天池大赛,在这里强烈推荐天池大赛,因为天池不光会提供真实的数据和比赛环境,最关键的是你可以获得许多与高手切磋交流的机会,这些交流会让人快速成长。 
3.多多实践,其实市面上有很多现成的开源工具可以使用,有R、Spark-MLib、Sklearn等等,也有很多地方可以下载到开源数据集,推荐UCI数据集。下载好数据,选定一个场景,自己用代码去跑跑效果,比看100篇鸡汤都管用。

最后希望大家都能掌握算法技巧,即使不能从事AI工作,对于数据的认知能力也一定是未来最核心的竞争力。

我自己的一些小看法,仅代表个人哈。 
作者微信公众号: 

普通程序员如何入门AI的更多相关文章

  1. [置顶] 普通程序员如何入门AI

    毫无疑问,人工智能是目前整个互联网领域最火的行业,随着AlphaGo战胜世界围棋冠军,以及各种无人驾驶.智能家居项目的布道,人们已经意识到了AI就是下一个风口.当然,程序员是我见过对于新技术最敏感的一 ...

  2. 普通程序员如何转向AI方向(转)

    普通程序员如何转向AI方向   眼下,人工智能已经成为越来越火的一个方向.普通程序员,如何转向人工智能方向,是知乎上的一个问题.本文是我对此问题的一个回答的归档版.相比原回答有所内容增加. 一. 目的 ...

  3. 【转帖】普通程序员如何转向AI方向

    普通程序员如何转向AI方向 https://www.cnblogs.com/subconscious/p/6240151.html 眼下,人工智能已经成为越来越火的一个方向.普通程序员,如何转向人工智 ...

  4. 普通程序员如何转向AI方向

    眼下,人工智能已经成为越来越火的一个方向.普通程序员,如何转向人工智能方向,是知乎上的一个问题.本文是我对此问题的一个回答的归档版.相比原回答有所内容增加. 一. 目的 本文的目的是给出一个简单的,平 ...

  5. 分享 - 普通程序员如何转向AI方向

    原作者:计算机的潜意识 原文链接,内容稍有改动,侵删 1. 目的2. AI领域简介3. 学习方法4. 学习路线 0) 领域了解1) 知识准备2) 机器学习3) 实践做项目4) 深度学习5) 继续机器学 ...

  6. 普通程序员转型AI免费教程整合,零基础也可自学

    普通程序员转型AI免费教程整合,零基础也可自学 本文告诉通过什么样的顺序进行学习以及在哪儿可以找到他们.可以通过自学的方式掌握机器学习科学家的基础技能,并在论文.工作甚至日常生活中快速应用. 可以先看 ...

  7. 程序员们,AI来了,机会来了,危机也来了

    程序员们,AI来了,机会来了,危机也来了 1.人工智能真的来了 纵观古今,很少有计算机技术能有较长的发展寿命,大部分昙花一现,比如:昔日的DOS.windows3.2.foxpro.delphi.80 ...

  8. 普通程序员,三年成为年薪70w架构师,只因做到了这些

    每个程序员.或者说每个工作者都应该有自己的职业规划,如果你不是富二代,不是官二代,也没有职业规划,希望你可以思考一下自己的将来.今天给大家分享的是一篇来自阿里Java架构师对普通程序员的职业建议,希望 ...

  9. <程序员从入门到精通> -- How

    定位 自己才是职业生涯的管理者,想清楚自己的发展路径: 远期的理想是什么?近期的规划是什么?今日的任务和功课又是什么? 今日之任务或功课哪些有助于近期之规划的实现,而近期之规划是否有利于远期之理想? ...

随机推荐

  1. Python 实现 Discuz论坛附件下载权限绕过漏洞

    背景:最近压力有些大,想玩点游戏放松下,去Mac论坛下载,发现需要各种权限,于是蛋疼了. 所以,上网查了discuz! x3.1破解,手动替换,发现出现“链接已过期”.所以写了下面程序. 0.将下列代 ...

  2. 如何使用apktool反编译,查看androidmanifest的内容

    1.下载apktool http://pan.baidu.com/s/1o7Jy090 2.使用方法

  3. H3CNE实验:通过Console端口本地访问H3C设备

    连接好Console线后,将交换机开机,在SecureCRT上会显示如下信息: Starting...... RAMLine.....OK System is booting............. ...

  4. Vijos 1006 晴天小猪历险记之Hill 单源单汇最短路

    背景 在很久很久以前,有一个动物村庄,那里是猪的乐园(^_^),村民们勤劳.勇敢.善良.团结-- 不过有一天,最小的小小猪生病了,而这种病是极其罕见的,因此大家都没有储存这种药物.所以晴天小猪自告奋勇 ...

  5. org.apache.commons.beanutils.BeanMap简单使用例子

    一.org.apache.commons.beanutils.BeanMap; 将一个java bean允许通过map的api进行调用, 几个支持的操作接口: Object get(Object ke ...

  6. Building Apps for Windows 10 on LattePanda–Jump Start

    1.引言 目前来看,LattePanda应该是最小的运行Full Windows 10系统的开发板了(注意,不是Windows 10 for Mobile,也不是Windows 10 IoT系列,而是 ...

  7. Oracle查询多行数据合并成一行数据

    例如: select base_id, translate (ltrim (text1, '/'), '*/', '*,') xmmc,translate (ltrim (text2, '/'), ' ...

  8. python+selenium自动化测试环境安装

    因为自己安装自动化测试环境时,遇到过许多问题,自己整理了一下安装的步骤,感谢那些帮助过我的人. 1.安装python,我装的是3.5版本,网络上也有许多安装步骤,照着就可以了(其实一直下一步也行) 不 ...

  9. Eclipse安装Git插件以及通过Git导入华为软件开发云项目

    --内容提交-- 1.    Eclipse安装Git插件 2.    在Eclipse中导入华为软件开发云项目, 以及常用Git操作 一. Eclipse安装Git插件 现在从eclipse官网下载 ...

  10. ajax异步上传文件之data参数----小哈学js

    下载ajaxFileUpload.js(下载网址:http://fileuploadajax.codeplex.com/downloads/get/20976) 修改ajaxFileUpload.js ...