普通程序员如何入门AI

标签: 程序员 人工智能 大数据 互联网
11081人阅读 评论(5) 收藏 举报
分类:

毫无疑问,人工智能是目前整个互联网领域最火的行业,随着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工作,对于数据的认知能力也一定是未来最核心的竞争力。

我自己的一些小看法,仅代表个人哈。
作者微信公众号:
这里写图片描述

查看评论

2 个月从零开始入门 AI ,我是如何做到的?

2 个月从零开始入门 AI ,我是如何做到的?        AI人工智能正在逐步从尖端技术慢慢变得普及,在Shival Gupta发表在Hacker Noon上的一篇文章中,他介绍了自己怎样在2个月...
  • MIcF435p6D221sSdLd2
  • MIcF435p6D221sSdLd2
  • 2017-12-12 00:00:00
  • 1170

哪一种编程语言适合人工智能

PythonPython由于简单易用,是人工智能领域中使用最广泛的编程语言之一,它可以无缝地与数据结构和其他常用的AI算法一起使用。Python之所以时候AI项目,其实也是基于Python的很多有用的...
  • tencupofkaiwater
  • tencupofkaiwater
  • 2017-08-08 01:06:06
  • 3839

最适合人工智能开发的5种编程语言

自从去年,AlphaGo打遍天下棋手无对手,人工智能的风头就一直无人能及。在刚刚过去的IT领袖峰会上,BAT三位大佬都看好人工智能的未来发展。今年年初,百度就做了一个大动作,在医疗方面押宝人工智能,所...
  • txqd1989
  • txqd1989
  • 2017-08-26 11:19:15
  • 8136

AI大行其道,你准备好了吗?—谨送给徘徊于转行AI的程序员

前言  近年来,随着 Google 的 AlphaGo 打败韩国围棋棋手李世乭之后,机器学习尤其是深度学习的热潮席卷了整个IT界。所有的互联网公司,尤其是 Google 微软,百度,腾讯等巨头,无不在...
  • u013709270
  • u013709270
  • 2017-07-09 16:13:40
  • 24851

AI 系统首次实现真正自主编程,完爆初级程序员

转自新智元(微信号:AI_era) 来源:arXiv,编译:闻菲,常佩琦 【导读】让AI自动编程是人工智能领域长久以来的梦想之一。现在,来自彭博和英特尔实验室的两位研究人员,号...
  • UzV80PX5V412NE
  • UzV80PX5V412NE
  • 2017-10-03 00:00:00
  • 981

惊呆!谷歌AI自动编程效率超研发工程师,作为AI工程师的我感到了森森的压力

AutoML可能不会取代AI工程师,但是机器都这么努力了,你还有什么借口偷懒!...
  • dQCFKyQDXYm3F8rB0
  • dQCFKyQDXYm3F8rB0
  • 2017-10-18 11:26:59
  • 8915

人工智能程序设计

  • 2013年06月04日 21:01
  • 7.51MB
  • 下载

一个“纯屌丝”如何零基础转行做程序员

高考落榜后,生活像被蒙上了一层灰色的雾霾,看不清未来。在接下来的一两年中,磕磕绊绊地走了一些弯路。庆幸的是,我一直勇敢前行,欣慰的是,如今拨云见日,天朗气清。...
  • itcast_cn
  • itcast_cn
  • 2015-08-07 14:00:00
  • 9662

普通程序员如何入门深度学习?

摘要: 作为一名软件工程师,我们应该活到老学到老,时刻与不断发展的框架、标准和范式保持同步。同时,还要能活学活用,在工作中使用最合适的工具,以提高工作效率。随着机器学习在越来越多的应用程序中寻得了一席...
  • Anymake_ren
  • Anymake_ren
  • 2017-11-12 18:05:05
  • 22167

当程序员 | 从入门到放弃的真实经历

点击上方“程序人生”,选择“置顶公众号”第一时间关注程序猿(媛)身边的故事16 年大学毕业,在家里玩儿了几个月,最后实在承受不住父母的压力,选择了出去找工作。软件专业毕业,由于在校的成绩一般,实习的工...
  • csdnsevenn
  • csdnsevenn
  • 2018-01-26 00:00:00
  • 1193
    统计

    主要讲述算法和业务的结合,适合初学者

    机器学习实践应用

    京东地址

    作者公众号:凡人机器学习

    凡人机器学习

    个人资料
    专栏达人 持之以恒
    等级:
    访问量: 89万+
    积分: 1万+
    排名: 1618
    博客专栏