前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >传统程序员转型AI做错了吗?

传统程序员转型AI做错了吗?

作者头像
AI科技大本营
发布2018-09-28 09:56:14
4260
发布2018-09-28 09:56:14
举报

近年来,随着 Google 的 AlphaGo 打败韩国围棋棋手李世乭之后,机器学习尤其是深度学习的热潮席卷了整个 IT 界。所有的互联网公司,尤其是 Google 微软,百度,腾讯等巨头,无不在布局人工智能技术和市场。百度,腾讯,阿里巴巴,京东,等互联网巨头甚至都在美国硅谷大肆高薪挖掘人工智能人才。现在在北京,只要是机器学习算法岗位,少则月薪 20k,甚至 100k 以上……

不错,新时代时代来了,我们从互联网走向移动互联网,现在又从移动互联网走向人工智能时代。业内有人称这一次的人工智能爆发是互联网 3.0 时代的开启。所以现在搞 IT 开发的工程师的不懂机器学习,就相当于低级程序员。赶紧从基础学起,入门机器学习,走进人工智能的大门……

人工智能的三起三落

20 世纪 50-70 年代,人工智能提出后,力图模拟人类智慧,但是由于过分简单的算法、匮乏的难以应对不确定环境的理论,以及计算能力的限制,逐渐冷却。

20 世纪 80 年代,人工智能的关键应用——专家系统得以发展,但是数据较少,难以捕捉专家的隐性知识,建造和维护大型系统的复杂性和成本也使得人工智能渐渐不被主流计算机科学所重视。

进入 20 世纪 90 年代,神经网络、遗传算法等科技 “进化” 出许多解决问题的最佳方案,于是 21 世纪前 10 年,复兴人工智能研究进程的各种要素,例如摩尔定律、大数据、云计算和新算法等,推动人工智能在 20 世界 20 年代进入快速增长时期。预计未来十年,会在一些难以逾越的困惑中迎来奇点时代的爆发式增长。

机器学习是你必经之路

入门 AI,机器学习是必须要学习的,可以这么说:机器学习是人工智能的基石和精髓。只有学好了机器学习算法原理和思想,你才算真正的入门人工智能。但是,对于非专业的半路出家的你们该如何入门?这个问题其实很难回答,因为每个人的目标不一样,技术基础和数学基础也都不一样,所以因人而异。但是通常来说,学习机器学习算法,需要的必备知识还是可以罗列的。

机器学习必备基础

机器学习的学习过程

对于上图,之所以最左边写了『数学基础』『经典算法学习』『编程技术』 三个并行的部分,是因为机器学习是一个将数学、算法理论和工程实践紧密结合的领域,需要扎实的理论基础帮助引导数据分析与模型调优,同时也需要精湛的工程开发能力去高效化地训练和部署模型和服务。

在互联网领域从事机器学习的人基本上属于以下两种背景:其中绝大部分是程序员出身,这类童鞋工程经验相对会多一些;另一部分是学数学统计领域的,这部分童鞋理论基础相对扎实一些。因此对比上图,这二类童鞋入门机器学习,所欠缺和需要加强的部分是不一样的。

数学

曾经有无数的满怀激情,誓要在机器学习领域有一番作为的同学,在看到公式的一刻突然就觉得自己狗带了。是的,机器学习之所以门槛高并且显得高大上的主要原因就是数学。

基本所有常见机器学习算法需要的数学基础,都集中在微积分、线性代数和概率与统计当中。下面我们先过一过知识重点,文章的后部分会介绍一些帮助学习和巩固这些知识的资料。

微积分

微分的计算及其几何、物理含义,是机器学习中大多数算法的求解过程的核心。比如算法中运用到梯度下降法、牛顿法等。如果对其几何意义有充分的理解,就能理解 “梯度下降是用平面来逼近局部,牛顿法是用曲面逼近局部”,能够更好地理解运用这样的方法。

凸优化和条件最优化的相关知识在算法中的应用随处可见,如果能有系统的学习将使得你对算法的认识达到一个新高度。

梯度下降法示意图

线性代数

大多数机器学习的算法要应用起来,依赖于高效的计算,这种场景下,程序员童鞋们习惯的多层 for 循环通常就行不通了,而大多数的循环操作可转化成矩阵之间的乘法运算,这就和线性代数有莫大的关系了。向量的内积运算更是随处可见。矩阵乘法与分解在机器学习的主成分分析(PCA)和奇异值分解(SVD) 等部分呈现刷屏状地出现。

奇异值分解过程示意图

在机器学习领域,有相当多的应用与奇异值分解都有非常紧密的联系,比如机器学习中常做 feature reduction 的 PCA,做数据压缩(以图像压缩为代表)的算法,还有做搜索引擎语义层次检索的 LSI(Latent Semantic Indexing)

概率与统计

从广义来说,机器学习在做的很多事情,和统计层面数据分析和发掘隐藏的模式,是非常类似的。以至于传统的机器学习很大一部分被称作统计学习理论,这充分说明了统计学在机器学习领域的重要性。

极大似然思想、贝叶斯模型是理论基础,朴素贝叶斯 (NaiveBayes)、语言模型 (Ngram)、隐马尔科夫 (HMM)、隐变量混合概率模型是他们的高级形态。常见分布如高斯分布是混合高斯模型 (GMM) 等的基础。

朴素贝叶斯算法的基本原理

经典算法的学习

机器学习中有很多的经典算法:感知机,KNN,朴素贝叶斯,K-Means,SVM,AdaBoost,EM,决策树,随机森林,GDBT,HMM……

算法这么多,那么对于初学者应该怎么学习呢?我的答案是:分门别类很重要。基本上,对机器学习算法的分类普遍的观点是分为三大类:有监督学习,无监督学习,强化学习。

编程技术

对于编程技术学习和选择,无非就是 编程语言开发环境。我个人的建议是 Python + PyCharm。原因很简单,Python 简单易学,不至于让我们把太多的时间花在语言的学习上(PS:学习机器学习的重点在于各个机器学习算法理论的学习和掌握)。并且 Jetbrains 公司开发的 Python 集成开发环境 PyCharm 也是非常的简单易用。

Python 与 PyCharm

你是否真的准备好了?

虽然目前 AI 领域发展火热,商汤科技 B 轮融资 4.1 亿美元。但是这场革命是机遇,真的适合你吗?实践证明,并不是所有人都适合转行 AI。

下面的总结,大家可以自行对照:

如果你数学一般,但是编程能力非常好,你曾经有着用代码改变世界的雄心。对于这一类 猿友 ,我觉得你转行也行,但是你一定要走应用化的 AI 道路。 如果你数学很好,但是编程薄弱。恭喜你,你具备了转行 AI 的先天优势。对于这类 猿友,我觉得你可以转行 AI,但是你得努力把编程水平提上来。 如果你数学很牛,曾经与菲尔兹奖擦肩而过,曾经给 Apache 顶级项目贡献 N 万行核心代码。恭喜你,AI 领域需要的就是你,你就是未来的 Hinton,吴恩达……

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-08-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI科技大本营 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档