[置顶] 普通程序员如何入门AI
毫无疑问,人工智能是目前整个互联网领域最火的行业,随着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的更多相关文章
- 普通程序员如何入门AI
毫无疑问,人工智能是目前整个互联网领域最火的行业,随着AlphaGo战胜世界围棋冠军,以及各种无人驾驶.智能家居项目的布道,人们已经意识到了AI就是下一个风口.当然,程序员是我见过对于新技术最敏感的一 ...
- 普通程序员如何转向AI方向(转)
普通程序员如何转向AI方向 眼下,人工智能已经成为越来越火的一个方向.普通程序员,如何转向人工智能方向,是知乎上的一个问题.本文是我对此问题的一个回答的归档版.相比原回答有所内容增加. 一. 目的 ...
- 【转帖】普通程序员如何转向AI方向
普通程序员如何转向AI方向 https://www.cnblogs.com/subconscious/p/6240151.html 眼下,人工智能已经成为越来越火的一个方向.普通程序员,如何转向人工智 ...
- 普通程序员如何转向AI方向
眼下,人工智能已经成为越来越火的一个方向.普通程序员,如何转向人工智能方向,是知乎上的一个问题.本文是我对此问题的一个回答的归档版.相比原回答有所内容增加. 一. 目的 本文的目的是给出一个简单的,平 ...
- 分享 - 普通程序员如何转向AI方向
原作者:计算机的潜意识 原文链接,内容稍有改动,侵删 1. 目的2. AI领域简介3. 学习方法4. 学习路线 0) 领域了解1) 知识准备2) 机器学习3) 实践做项目4) 深度学习5) 继续机器学 ...
- [置顶] 程序员必知(三):一分钟知道URI编码(encodeURI)
因为浏览器会用一些特殊的字符作为特定的意义,所以在要传输的内容上如果有这些特殊的字符的话,就需要对其进行转义才能正确传输,如以下字符为发送时候的关键字,即特殊字符 ;/?:@&=+$,# 所以 ...
- [置顶] 程序员必知(二):位图(bitmap)
位图是什么? 位图就是数组,一般来说是bit型的数组,具有快速定位某个值的功能,这种思想有很广泛的应用,比如下边两题: 1 找出一个不在5TB个整数中存在的数 假设整数是32位的,总共有4GB个数,我 ...
- [置顶] 程序员面试之道(《程序员面试笔试宝典》)之看着别人手拿大把的offer,不淡定了怎么办?
不管是在哪里,不管发生什么事,不要随便放下自己. ——<当男人恋爱时> 很多求职者都会面临一个问题:别人手拿大把大把的offer了,而自己却是两手空空,别人签约之后已经过着“猪狗不如”的悠 ...
- [置顶] 轻量级语言Lua入门
作为一个脚本爱好者,而且是脚本(Perl)起家的我,一有空就喜欢学习下这些脚本语言.据说魔兽世界.愤怒小鸟都用到了它,所以今天研究下Lua这个叫法有点奇特的脚本 [转载请注明出处:http://blo ...
随机推荐
- 20145303刘俊谦 《Java程序设计》实验四 实验报告
实验要求 完成实验.撰写实验报告,实验报告以博客方式发表在博客园,注意实验报告重点是运行结果,遇到的问题(工具查找,安装,使用,程序的编辑,调试,运行等).解决办法(空洞的方法如"查网络&q ...
- 33c3-pwn500-recurse
Recurse 好记性不如烂笔头.当时没有记录,现在趁着有时间简单写一写,为以后留备份. 这个题目当时并没有队伍做出来,赛后作者发布了题目的源码和解答.看了之后发现是一个UAF漏洞,不过漏洞很不好找. ...
- 解读:MultipleOutputs类
//MultipleOutputs类用于简化多文件输出The MultipleOutputs class simplifies writing output data to multiple outp ...
- 一文弄懂神经网络中的反向传播法——BackPropagation【转】
本文转载自:https://www.cnblogs.com/charlotte77/p/5629865.html 一文弄懂神经网络中的反向传播法——BackPropagation 最近在看深度学习 ...
- 如何使用openwrt下的分区表生成器ptgen
1.基本用法如下: ptgen [-v] -h <heads> -s <sectors> -o <outputfile> [-a 0..4] [-l <ali ...
- C#中将一个引用赋值null的作用
有类A,以及A类型的变量a和b.初始化a之后,将a赋给b.之后将a赋为null.之后b还是可以使用. 思维误区:本来以为a=null之后,b也应该等于null. 实际测试效果如下 class Prog ...
- Linux环境下的CPU消耗分析
在Linux系统中, CPU 主要用于中断,内核以及用户进程的任务处理,优先级为 中断 > 内核 > 用户进程.在CPU消耗分析中,我们还经常遇到下面几个概念. 上下文切换 ...
- 网络流learning
上次学习网络流还是大一的下学期,之后就被从图论分出来交给队友了 然而吉林一战,队友在深圳读研而不能来,于是需要自己学习一下,争取在比赛前看完网络流建模汇总和一些总结,升华一下. 同时记录一下自己做过的 ...
- python2.7.10 VS2015编译方法
打开 Python-2.7.10\PCbuild目录 然后设置只编译python和pythoncore: 好了,编译试一试. 出现了好几个错误.由于 VS2015 取消了 timezone 的定义,改 ...
- 欢迎来到 Flask 的世界
欢迎来到 Flask 的世界 欢迎阅读 Flask 的文档.本文档分成几个部分,我推荐您先读 < 安装 >,然后读< 快速上手 >.< 教程 > 比快速上手文档更详 ...