0. 前言

  近年来,随着 Google 的 AlphaGo 打败韩国围棋棋手李世乭之后,机器学习尤其是深度学习的热潮席卷了整个IT界。所有的互联网公司,尤其是 Google 微软,百度,腾讯等巨头,无不在布局人工智能技术和市场。百度,腾讯,阿里巴巴,京东,等互联网巨头甚至都在美国硅谷大肆高薪挖掘人工智能人才。现在在北京,只要是机器学习算法岗位,少则月薪 20k,甚至100k 以上……
  
  不错,新时代时代来了,我们从互联网走向移动互联网,现在又从移动互联网走向人工智能时代。业内有人称这一次的人工智能爆发是互联网3.0时代的开启。去年国家教育部已经把Python和人工智能技术列入中小学生课程培养计划中。所以,为了不让我们在这个时代的浪潮中被击倒,赶紧从基础学起,入门机器学习,走进人工智能的大门……

1. 机器学习在人工智能中的地位

  也许目前AI领域最火的概念是深度学习,于是乎很多初学者就直奔深度学习而去,觉得可以绕过机器学习这个门槛。那么这么做对还是不对呢?
  


图1、 机器学习、深度学习以及人工智能的关系
  

  我们首先了解一下机器学习、深度学习以及人工智能的关系。如图1,我们很清楚的知道:人工智能包含机器学习,而深度学习又是机器学习的一个重要分支。
  
  那么为什么我们应该从机器学习而不应该是当下最火的深度学习开始入门呢?原因很简单,机器学习是深度学习的基础,深度学习其实就是机器学习的一个分支演化过来的。如果你不深入学习传统机器学习算法思路和思想,那么你直接学习或者使用深度学习技术是很危险的,因为你的根基将很不牢固,而且学习深度学习的难度也会大很多。

2. 机器学习的学习方法

  


图 2. 机器学习的学习路线

  如上图2是我个人总结的机器学习算法学习路线图,它适合所有的初学者。相信很多同学都听说了,机器学习需要强大的数学功底。那么是不是本科生,数学基础不是非常好的毕业生或者从业者就不能学习机器学习呢?答案是否定的。是的,前面那句话没错,机器学习需要强大的数学功底,但是更精确的解释应该是这样的:你数学功力有多厚决定着你在机器学习领域能走多远,但是如果是入门,成为一名互联网算法应用工程师的话,其实要求并不是很高,并不是每个人都要成为 Andrew NG 那样成为顶级机器学习科学家。
  
  当然,我相信所有想从事或者转行机器学习的同学,基本的编程基础是有的,这点应该不需要过多的强调。
  
  那么接下来就是本文最关键的地方:经典机器学习算法的学习,本课程是读者结合自己多年学习与工作经验挑选出的最具有实践意义的常用核心机器学习算法。

  
  以上算法能够包含机器学习的方方面面了,吃透了这些算法,从事互联网算法工程师的工作肯定没问题。当然想要继续深究,我会在最后一节讲述。
  
  简单的机器学习算法,例如KNN、K-Means、朴素贝叶斯等,代码能力稍微强一点的读者可以自己实现,然后拿经典数据集去实验,这样更能加深自己对算法的理解。当然更进一步的是可以参加一些算法比赛,提升自己的算法实战能力。

3. 机器学习算法的挑战

  上面讲了机器学习算法的学习方法,那么机器学习算法学习过程中有什么样的挑战呢?
  
  为了回答这个问题,我先告诉大家一个问题,没有一个机器学习算法是万能的,也没有一个机器学习算法是没有缺点的。正因为如此,才会有不同的算法层出不穷,百花齐放!
  
  也许你听说过AdaBoost算法很厉害;也许你听说SVM算法精确,理论非常的完美;也许最近几年Kaggle比赛中XGBoost火的一塌糊,理论完美精度奇高;可是最近几年深度学习又疯狂崛起……为什么会出现这种现象呢?难道他们是简单的更新换代,新算法出来老的东西就可以彻底被替代了吗?显然不是这样的,大家各自都有自己的特点与长处。面对不同的问题,我们应该选择不同的机器学习算法,而什么情况下选择什么算法,该从什么角度去思考这个问题是值得每一位初学者深思的问题,这就是挑战所在!
  
  在这里,我简单拿XGBoost和深度学习作比较,说一下他们各自的优缺点和擅长领域。当数据维度不是特别高,并且具有固定维度的时候XGBoost表现良好,能够获得很高的准确度和计算速度;但是当数据维度很高,达到数十万百万级别的时候,这时候XGBoost就会显得很吃力,精度和时间效率就明显不行,这时候深度学习的用处就来了。可以简单地将他们俩比作小轿车和大卡车的区别,只有了解了每个算法的原理之后我们才知道如何进行选择。

4. 作者经验和课程特色

  作者研究生期间曾在微软实习,从事知识图谱数据分析挖掘相关工作。毕业先后就职于京东和阿里巴巴,主要从事的都是机器学习反欺诈检测和数据挖掘相关的工作。目前就职于陌陌,担任推荐算法工程师,负责陌陌直播算法推荐。
  
  本课程是机器学习的入门并拔高课程,注重理论与实战的结合。致力于用白话的方式讲解算法中的数学原理,并带有完整的源代码帮助读者进行实践。同时还会结合作者本人在机器学习数据挖掘领域的经验和BAT等一线互联网面试经历,列举常见的机器学习面试题以及相关答题技巧。帮助读者从理论到实践,再到搞定面试 BAT 的一系列能力的培养。

5. 学完该课程之后该如何提升

  其实学完这么课程,基本上能够达到机器学习核心算法入门了。对于一个对自己严格要求的同学来说这肯定是不够的,那么接下来该如何提升自己呢?所谓师傅领进门,修行在个人。因此在这里结合我个人的学习经历,给大家一点参考建议:

  1. 阅读机器学习经典教材,个人比较推荐李航老师的《统计学习方法》。如果英语可以的话可以学习《The Elements of Statistical Learning》。

  2. 在学习每种经典算法的时候,最好要找出它的原始论文以及相关论文来搞清楚这个算法发展的来龙去脉。机器学习大牛都是会去看无数的论文的,这个我相信没有例外。

  3. 如果想深入了解各个算法的具体实现过程,进一步掌握造轮子的能力。可以参见著名的开源库的实现:Python我比较推荐scikit-learn,Java我比较推荐Smile或者weka。

如果每个初学者都能坚持不懈地按照我说的方法去做,总有一天你也会成为AI界的一颗新星!
  

课程链接: 机器学习核心算法各个击破


对机器学习和人工智能感兴趣,请扫码关注微信公众号!

  

机器学习核心算法各个击破相关推荐

  1. 阿里资深AI工程师教你逐个击破机器学习核心算法

    01 近年来,随着 Google 的 AlphaGo 打败韩国围棋棋手李世乭之后,机器学习尤其是深度学习的热潮席卷了整个 IT 界. 所有的互联网公司,尤其是 Google 微软,百度,腾讯等巨头,无 ...

  2. 机器学习核心算法之——贝叶斯方法

    1.贝叶斯公式 贝叶斯公式已经成为机器学习的核心算法之一,诸如拼写检查.语言翻译.海难搜救.生物医药.疾病诊断.邮件过滤.文本分类.侦破案件.工业生产等诸多方面都有很广泛的应用,它也是很多机器学习算法 ...

  3. 《Python机器学习——预测分析核心算法》——2.4 基于因素变量的实数值预测:鲍鱼的年龄...

    本节书摘来异步社区<Python机器学习--预测分析核心算法>一书中的第2章,第2.4节,作者:[美]Michael Bowles(鲍尔斯),更多章节内容可以访问云栖社区"异步社 ...

  4. 《Python机器学习——预测分析核心算法》——2.2 分类问题:用声纳发现未爆炸的水雷...

    本节书摘来异步社区<Python机器学习--预测分析核心算法>一书中的第2章,第2.2节,作者:[美]Michael Bowles(鲍尔斯),更多章节内容可以访问云栖社区"异步社 ...

  5. python模型预测_《Python机器学习——预测分析核心算法》——1.5 构建预测模型的流程...

    本节书摘来异步社区<Python机器学习--预测分析核心算法>一书中的第1章,第1.5节,作者:[美]Michael Bowles(鲍尔斯),更多章节内容可以访问云栖社区"异步社 ...

  6. 机器学习算法各个击破

    前言 最近在好好学习,好好复习,从前年开始,一直在准备转型,年纪不大,但执行力不够,最近重新拾起来,看了GitChat上的很多文章,查漏补缺果然是有效的,而且在工作之余拿起新方向保持了一份兴趣. 在此 ...

  7. python数据预测模型算法_Python机器学习 预测分析核心算法

    第1章关于预测的两类核心算法 1.1为什么这两类算法如此有用 1.2什么是惩罚回归方法 1.3什么是集成方法 1.4算法的选择 1.5构建预测模型的流程 1.5.1构造一个机器学习问题 1.5.2特征 ...

  8. 《Python机器学习——预测分析核心算法》——2.5 用实数值属性预测实数值目标:评估红酒口感...

    本节书摘来异步社区<Python机器学习--预测分析核心算法>一书中的第2章,第2.5节,作者:[美]Michael Bowles(鲍尔斯),更多章节内容可以访问云栖社区"异步社 ...

  9. 惩罚线性回归---Python机器学习:预测分析核心算法

    惩罚线性回归 参考教材:Python机器学习预测分析核心算法,书中代码较为过时,借用sklearn等工具包进行了重写. 实践中遇到的绝大多数预测分析(函数逼近)问题,惩罚线性回归和集成方法都具有最优或 ...

最新文章

  1. 【动态规划】Part1
  2. mgr未同步 mysql_MySQL Group Replication(多主同步复制MGR)
  3. ARM中LDR伪指令与LDR加载指令
  4. 用python做双人五子棋_基于python的socket实现单机五子棋到双人对战
  5. FAIR重磅发布大规模语料库XNLI:解决跨15种语言理解难题
  6. NKU 专题一 题解
  7. 在mac上用文本编辑器写python_Mac开源文本编辑器CotEditor
  8. git remote 使用总结
  9. 刚接触Cisco认证:CCNA学习经验
  10. 2018 CCPC 桂林站(upc复现赛)总结
  11. Linux内核多线程(四)
  12. 【多目标优化求解】基于matlab自适应风驱动算法求解多目标优化问题【含Matlab源码 1414期】
  13. SAPI V1.4发布,轻巧的API输出测试组件
  14. Chrome拓展插件篇
  15. WPF使用Blend
  16. 在我的网站   Φ十三月网Φ  开站前的宣传,当我是炒作,造势都可以,但是我们要的是有内涵。
  17. 编写函数求区间[200,3000]中所有的回文数, 回文数是正读和反读都是一样的数
  18. s开头wifi测试软件,应对5G WiFi 新一代无线测试的挑战
  19. root面具怎么授权,面具root权限
  20. MASM32编程完善SysInfo遇到奇怪故障,真切感受全局变量和局部变量之别……

热门文章

  1. 南京银行之八,风险提示
  2. 【R语言】常用的R语言数据挖掘包
  3. select函数详细用法解析
  4. springboot 启动项目报Consider defining a bean of type 'com.mooc.house.biz.service.XXX' in your config
  5. 2022 IDEA大会引领科技创新趋势 沈向洋团队重磅发布低空经济白皮书
  6. android 蓝牙电话号码,Android拨打电话和蓝牙状态监听
  7. prgrmz的作品集
  8. js实现下雪雪花特效
  9. 金字塔图像融合方法总结(一)
  10. php跌涨算法,php砍价算法