作者:王茂霖,华中科技大学,Datawhale成员

本文分享了机器学习概念,学习路线和知识体系,希望帮助大家更好地入门机器学习。

Part 1 机器学习相关概念

现如今,关于人工智能(AI)领域出现了很多眼花缭乱的名词,包括机器学习,统计学习,数据科学,数据分析,数据挖掘,深度学习等。这些名词都是什么意思?有什么作用?这里区分介绍下。

如果大家没有接触过人工智能的话,大家可能最熟悉的就是统计学了,在大学期间就学习的概率论就是统计学的相关知识,所以首先我们介绍一下统计学统计学习。统计学和统计学习并非承接或者包含关系,两者可以看作两个不同的学科,不过统计学习中运用到了很多统计学的相关基础数学知识。

后台回复关键词'210531'可下载完整PPT

在介绍完这两个区别后,我们进一步来看一下机器学习,什么是机器学习,能不能用一句话来概括?

我们用一个脱离具体算法的视角来看:机器学习就是一套计算机机器利用数据来学习规则/映射关系的固定算法/方法。每一种机器用来从数据学习规则的方法,我们都可以视为一种机器学习算法,而机器学习最初的发展是由统计学习方法支撑的,所以很多时候机器学习(除开深度学习之外)和统计学习基本是等同的。

数据科学数据分析的概念可以大概解释如下:

对于统计学习机器学习,深度学习的一些区别和性质,我们可以大体介绍如下:

Part 2 机器学习的整体学习流程

在对于机器学习的名词基本概念有了理解后,我们来介绍一下机器学习的整体学习流程,我们可以把机器学习分为三个板块,数学基础,机器学习算法和编程实践。

但大家需要注意的是,三个版本并非承接关系,也就是说并非学完了数学才能学算法,学了算法才能编程实践——这也是极其不推荐的路径,除非本身是数学系的同学或者今后期望进行相关方面理论研究的同学,否则这条路径是很不友好的。

举个例子,我们其实可以先了解相关算法的概念和应用的方面然后直接学编程实践,在实践过程中学习理论,不清楚的理论知识再补充相应的数学基础,或者先学习相关机器学习算法理论,然后过程中进行实践和相关数学基础补充。

所以,可以把三者视为相互关联的,数学基础有助于我们更好的理解机器学习算法,而对于机器学习算法的理解能指导我们更好第进行编程实践。

数学基础部分

我们首先需要的是基础数学的相关知识,但这部分知识并非我们所有的知识点都会在机器学习中运用到,例如我们一般运用到的是微积分中的导数,线性代数中的矩阵计算,概率论中的全概率公式,条件概率等。当大家有了这些基础知识后就可以去看机器学习的相关算法理论了。

在学习算法理论的同时再进一步补充相关知识,例如决策树,优化方法等就涉及到的信息论中的信息熵,最优化中的梯度下降法,SVM涉及到对偶问题,KKT条件等。

一般机器学习算法理论的数学基础学习到基础数学衍生这一层就可以了,而如果大家有兴趣涉猎机器学习理论的研究,例如可学性,复杂度,泛化性,稳定性等的研究或者变分方法,随机分析方法等相关研究,那大家就需要学习进阶的相关知识了。

机器学习算法部分

对于机器学习算法部分,我们可以把整体的机器学习算法分为传统机器学习部分和深度学习部分,两个部分可以独立的学习,而传统机器学习部分,我们又可以分为多个模型,每个部分也可以单独学习,例如可以学习完最小二乘方法后学习逻辑回归。每个部分都是相对较为独立的。

对于深度学习领域,一般是先学习机器学习的基础网络ANN, CNN, RNN,然后结合一个具体的领域深入研究的。

编程实践部分

对于编程实践部分,对于机器学习的实践来说,个人认为现在Python是最容易上手和对于机器学习的相关学习支持最好的编程语言,大家可以先从python的基础语法入门,了解一些Numpy,Pandas的常规函数,然后学习scikit-learn机器学习算法框架,而对于深度学习部分可以从keras入门,然后在后续的学习中转移到另外的框架。

在学习过程中也建议大家边学习边实践,然后专心学1-2个系统的资料和书籍就好,一点一点学习,不断补充自己的知识体系。

Part 3 机器学习的知识体系

大家对于机器学习有一定的学习后就要形成自己的相关学习体系,同之前的我也把整体的学习体系分为了三部分,机器学习理论,机器学习算法和机器学习实践,对于各个部分,我也列出了推荐和Datawhale团队在相应部分做的项目实践(文字版课程链接见下方),希望能有助于大家的学习。

学习资料链接:

  • 钥匙书(机器学习理论导引补充):https://github.com/datawhalechina/key-book

  • 南瓜书(周志华西瓜书详细解读补充):https://github.com/datawhalechina/pumpkin-book

  • Easy-RL(深度强化学习教程):https://github.com/datawhalechina/easy-rl

  • LeeML-Notes(李宏毅老师-机器学习课程笔记):https://github.com/datawhalechina/leeml-notes

往期精彩回顾适合初学者入门人工智能的路线及资料下载机器学习及深度学习笔记等资料打印机器学习在线手册深度学习笔记专辑《统计学习方法》的代码复现专辑
AI基础下载机器学习的数学基础专辑温州大学《机器学习课程》视频
本站qq群851320808,加入微信群请扫码:

【机器学习】机器学习的学习经验总结!相关推荐

  1. 【经验】刚读硕士怎么感觉学机器学习和深度学习越学越不懂?

    有同学问:研一,在学机器学习和深度学习,为什么感觉越学越不会,怎么解决这个问题? 我搜集了一些意见和建议,供参考. 高赞回答一 作者:曲終人不散丶 来源:知乎 我的研一我记得是先找了一本比较薄的,通俗 ...

  2. 机器学习的学习经验总结!

    ↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:王茂霖,华中科技大学,Datawhale成员 本文分享了机器学习概念 ...

  3. 认认真真推荐几个机器学习、深度学习公众号

    "三人行,必有我师焉",学习就是要从别人身上学到好的.今天特意给大家推荐10个优质公众号,目前属于活跃度非常高的几个原创公众号,涵盖了python和AI,重点是他们还坚持在原创技术 ...

  4. 机器学习、深度学习所需掌握的数学知识全都在这里了!

    人工智能的基石是数学,没有数学基础科学的支持,人工智能很难行稳至远. -中国科学院院士.西安交通大学教授徐宗 [文末高薪招聘讲师!!!] 入行人工智能,所谓的门槛和挑战本质是你对数学知识的掌握程度. ...

  5. 机器学习的12大经验总结

    机器学习的12大经验总结 https://www.toutiao.com/a6640235431042482695/ 2018-12-29 10:24:49 机器学习难吗?有些小伙伴们会说,难!真的难 ...

  6. 干货丨机器学习和深度学习概念入门

    对于很多初入学习人工智能的学习者来说,对人工智能.机器学习.深度学习的概念和区别还不是很了解,有可能你每天都能听到这个概念,也经常提这个概念,但是你真的懂它们之间的关系吗?那么接下来就给大家从概念和特 ...

  7. 【原创】分享一些机器学习和深度学习的学习资料

    如果你还在苦苦寻找机器学习和深度学习入门资料的话,或许可以看看本文我的一些推荐,这些材料我自己都学过一遍,分享一下点评,希望对你有帮助.注意,本文只是点评这些资源,不提供任何资源的盗版下载,所有资源我 ...

  8. [转]机器学习和深度学习资料汇总【01】

    本文转自:http://blog.csdn.net/sinat_34707539/article/details/52105681 <Brief History of Machine Learn ...

  9. 一篇文章解决机器学习,深度学习入门疑惑

    前言 进入正文前,我们先来看则新闻: 只看图不多说. 由此可见国家对人工智能的重视程序,趁早学习,让我们也贡献一份力量. 这篇文章要说的东西 研究生有不少日子,和之前的几个学长以及几个学弟偶尔也聊聊天 ...

最新文章

  1. 关于.NET玩爬虫这些事 【初码干货】
  2. 解密淘宝网的开源架构(转)
  3. 关于VB中没有VSS菜单问题
  4. 递归神经网络——就是解决AST这样的问题
  5. android - 常用知识点以及代码片段(不断更新)
  6. jQuery - 链(Chaining)
  7. hfss仿真时间过长怎么解决_一文详解相控阵天线仿真技术
  8. zookeeper 虚拟机搭建好后 外部链接不上_Ubuntu Server搭建Hyperledger Fabric 2.1学习环境...
  9. hibernate级联删除问题
  10. 最好用的屏幕分辨率修改器:SwitchResX for Mac
  11. Imagination开放PowerVR光线追踪技术授权
  12. 识别到硬盘 计算机不显示盘符,Win10系统下移动硬盘可以识别但是不显示盘符的解决方法...
  13. display:kms-panel-4.14kernel
  14. python bytes
  15. android Wifi热点启动流程,[android]WIFI热点启动流程分析
  16. Mac系统程序已卸载,图标还在“启动台launchpad”中,如何清理干净?
  17. 从此爱情与我无关,只做一个嗜钱如命的渣男!
  18. python中pass与break区别
  19. DOS、DOS攻击、DDOS攻击、DRDOS攻击
  20. ORA-3136报错

热门文章

  1. linux下的二进制文件的编辑和查看 -
  2. 让Windows2008R2也能进入手柄设置(游戏控制器设置)
  3. 我的zencart 安装流程
  4. Spring 学习04
  5. 电子测量与仪器第二次作业
  6. Android Studio-目录结构
  7. net下web开发人员要掌握哪些技术才算好
  8. ajax请求目标地址,AJAX功能目标
  9. python pygame模块按键延迟_用pygame做游戏时,用pygame.KEYDOWN来实现的按键控制“不灵敏”能怎么解决?...
  10. python phpstudy_Java、python及phpstudy的环境配置