机器学习机器学习是近20多年兴起的一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。机器学习算法是一类从数据中自动分析获得规律,并利用规律对未知数据进行预测的算法。因为学习算法中涉及了大量的统计学理论,机器学习与统计推断学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

大致分三类: 起步体悟,实战笔记,行家导读

  • 机器学习入门者学习指南 @果壳网 (2013) 作者 白马 -- [起步体悟] 研究生型入门者的亲身经历

  • 有没有做机器学习的哥们?能否介绍一下是如何起步的 @ourcoders-- [起步体悟] 研究生型入门者的亲身经历,尤其要看reyoung的建议

  • tornadomeet 机器学习笔记 (2013) -- [实战笔记] 学霸的学习笔记,看看小伙伴是怎样一步一步地掌握“机器学习”

  • Machine Learning Roadmap: Your Self-Study Guide to Machine Learning (2014) Jason Brownlee -- [行家导读] 虽然是英文版,但非常容易读懂。对Beginner,Novice,Intermediate,Advanced读者都有覆盖。

  • A Tour of Machine Learning Algorithms (2013) 这篇关于机器学习算法分类的文章也非常好

  • Best Machine Learning Resources for Getting Started(2013) 这片有中文翻译 机器学习的最佳入门学习资源

  • 门主的几个建议

      + 既要有数学基础,也要编程实践+ 别怕英文版,你不懂的大多是专业名词,将来不论写文章还是读文档都是英文为主
    复制代码

机器学习入门资源不完全汇总更多攻略

  • 机器学习该怎么入门 @知乎 (2014)

  • What's the easiest way to learn machine learning @quora(2013)

  • What is the best way to study machine learning @quora(2012)

  • Is there any roadmap for learning Machine Learning (ML) and its related courses at CMU Is there any roadmap for learning Machine Learning (ML) and its related courses at CMU(2014)

机器学习入门资源不完全汇总课程资源

Tom Mitchell 和 Andrew Ng 的课都很适合入门

机器学习入门资源不完全汇总入门课程机器学习入门资源不完全汇总2011Tom Mitchell(CMU)机器学习

英文原版视频与课件PDF他的《机器学习》在很多课程上被选做教材,有中文版。

  • Decision Trees

  • Probability and Estimation

  • Naive Bayes

  • Logistic Regression

  • Linear Regression

  • Practical Issues: Feature selection,Overfitting ...

  • Graphical models: Bayes networks, EM,Mixture of Gaussians clustering ...

  • Computational Learning Theory: PAC Learning, Mistake bounds ...

  • Semi-Supervised Learning

  • Hidden Markov Models

  • Neural Networks

  • Learning Representations: PCA, Deep belief networks, ICA, CCA ...

  • Kernel Methods and SVM

  • Active Learning

  • Reinforcement Learning 以上为课程标题节选

机器学习与数据挖掘的区别

  • 机器学习关注从训练数据中学到已知属性进行预测

  • 数据挖掘侧重从数据中发现未知属性

Dan Levin, What is the differencebetween statistics, machine learning, AI and data mining?

  • If there are up to 3 variables, it is statistics.

  • If the problem is NP-complete, it is machine learning.

  • If the problem is PSPACE-complete, it is AI.

  • If you don't know what is PSPACE-complete, it is data mining.

几篇高屋建瓴的机器学习领域概论, 参见原文

  • The Discipline of Machine LearningTom Mitchell 当年为在CMU建立机器学习系给校长写的东西。

  • A Few Useful Things to Know about Machine Learning Pedro Domingos教授的大道理,也许入门时很多概念还不明白,上完公开课后一定要再读一遍。

几本好书

  • 李航博士的《统计学习方法》。
  1. 数学基础

机器学习必要的数学基础主要包括:多元微积分,线性代数

  1. Calculus: Single Variable | Calculus One (可选)

  2. Multivariable Calculus

  3. Linear Algebra

  4. 统计基础

    1. Introduction to Statistics: Descriptive Statistics

    2. Probabilistic Systems Analysis and Applied Probability | 概率 ( 可选)

    3. Introduction to Statistics: Inference

  5. 编程基础

    1. Programming for Everybody (Python)

    2. DataCamp: Learn R with R tutorials and coding challenges(R)

    3. Introduction to Computer Science:Build a Search Engine & a Social Network

  6. 机器学习

    1. Statistical Learning(R)

    2. Machine Learning

    3. 机器学习基石

    4. 机器学习技法

下面是近期的给外行人读的泛数学科普书籍,由浅至深,作用除了感受数学之美之外,更重要的是可以作用每天学习的鸡血,因为这些书都比较好读……

1.《数学之美》作者:吴军 2.《 Mathematician's Lament | 数学家的叹息》作者:by Paul Lockhart 3.《 Think Stats: Probability and Statistics forProgrammers | 统计思维:程序员数学之概率统计 》 作者:Allen B. Downey 4.《 A History of Mathematics | 数学史 》作者:Carl B. Boyer 5.《 Journeys Through Genius | 天才引导的历程:数学中的伟大定理 》作者:William Dunham 6.《 The Mathematical Experience | 数学经验 》作者 Philip J.Davis、Reuben Hersh 7.《 Proofs from the Book | 数学天书中的证明 》作者:Martin Aigner、Günter M. Ziegler 8.《 Proofs and Refutations | 证明与反驳-数学发现的逻辑 》作者:Imre Lakatos

  1. Python/C++/R/Java - you will probably want to learnall of these languages at some point if you want a job in machine-learning.Python's Numpy and Scipy libraries [2] are awesome because they have similarfunctionality to MATLAB, but can be easily integrated into a web service andalso used in Hadoop (see below). C++ will be needed to speed code up. R [3] isgreat for statistics and plots, and Hadoop [4] is written in Java, so you mayneed to implement mappers and reducers in Java (although you could use ascripting language via Hadoop streaming [5])

首先,你要熟悉这四种语言。Python因为开源的库比较多,可以看看Numpy和Scipy这两个库,这两个都可以很好的融入网站开发以及Hadoop。C++可以让你的代码跑的更快,R则是一个很好地统计工具。而你想很好地使用Hadoop你也必须懂得java,以及如何实现map reduce

  1. Probability and Statistics: A good portion oflearning algorithms are based on this theory. Naive Bayes [6], Gaussian MixtureModels [7], Hidden Markov Models [8], to name a few. You need to have a firmunderstanding of Probability and Stats to understand these models. Go nuts andstudy measure theory [9]. Use statistics as an model evaluation metric:confusion matrices, receiver-operator curves, p-values, etc.

我推荐统计学习方法 李航写的,这算的上我mentor的mentor了。理解一些概率的理论,比如贝叶斯,SVM,CRF,HMM,决策树,AdaBoost,逻辑斯蒂回归,然后再稍微看看怎么做evaluation 比如P R F。也可以再看看假设检验的一些东西。

  1. Applied Math + Algorithms: For discriminatemodels like SVMs [10], you need to have a firm understanding of algorithmtheory. Even though you will probably never need to implement an SVM fromscratch, it helps to understand how the algorithm works. You will need tounderstand subjects like convex optimization [11], gradient decent [12],quadratic programming [13], lagrange [14], partial differential equations [15],etc. Get used to looking at summations [16].

机器学习毕竟是需要极强极强数学基础的。我希望开始可以深入的了解一些算法的本质,SVM是个很好的下手点。可以从此入手,看看拉格朗日,凸优化都是些什么

  1. Distributed Computing: Most machine learningjobs require working with large data sets these days (see Data Science) [17].You cannot process this data on a single machine, you will have to distributeit across an entire cluster. Projects like Apache Hadoop [4] and cloud serviceslike Amazon's EC2 [18] makes this very easy and cost-effective. Although Hadoopabstracts away a lot of the hard-core, distributed computing problems, youstill need to have a firm understanding of map-reduce [22], distribute-filesystems [19], etc. You will most likely want to check out Apache Mahout [20]and Apache Whirr [21].

熟悉分布计算,机器学习当今必须是多台机器跑大数据,要不然没啥意义。请熟悉Hadoop,这对找工作有很大很大的意义。百度等公司都需要hadoop基础。

  1. Expertise in Unix Tools: Unless you are veryfortunate, you are going to need to modify the format of your data sets so theycan be loaded into R,Hadoop,HBase [23],etc. You can use a scripting languagelike python (using re) to do this but the best approach is probably just masterall of the awesome unix tools that were designed for this: cat [24], grep [25],find [26], awk [27], sed [28], sort [29], cut [30], tr [31], and many more.Since all of the processing will most likely be on linux-based machine (Hadoopdoesnt run on Window I believe), you will have access to these tools. Youshould learn to love them and use them as much as possible. They certainly havemade my life a lot easier. A great example can be found here [1].

熟悉Unix的Tool以及命令。百度等公司都是依靠Linux工作的,可能现在依靠Windows的Service公司已经比较少了。所以怎么也要熟悉Unix操作系统的这些指令吧。我记得有个百度的面试题就是问文件复制的事情。

  1. Become familiar with the Hadoop sub-projects:HBase, Zookeeper [32], Hive [33], Mahout, etc. These projects can help youstore/access your data, and they scale.

机器学习终究和大数据息息相关,所以Hadoop的子项目要关注,比如HBase Zookeeper Hive等等

  1. Learn about advanced signal processing techniques:feature extraction is one of the most important parts of machine-learning. Ifyour features suck, no matter which algorithm you choose, your going to seehorrible performance. Depending on the type of problem you are trying to solve,you may be able to utilize really cool advance signal processing algorithmslike: wavelets [42], shearlets [43], curvelets [44], contourlets [45], bandlets[46]. Learn about time-frequency analysis [47], and try to apply it to yourproblems. If you have not read about Fourier Analysis[48] and Convolution[49],you will need to learn about this stuff too. The ladder is signal processing101 stuff though.

这里主要是在讲特征的提取问题。无论是分类(classification)还是回归(regression)问题,都要解决特征选择和抽取(extraction)的问题。他给出了一些基础的特征抽取的工具如小波等,同时说需要掌握傅里叶分析和卷积等等。这部分我不大了解,大概就是说信号处理你要懂,比如傅里叶这些。。。

Finally, practice and read as much as you can. In yourfree time, read papers like Google Map-Reduce [34], Google File System [35],Google Big Table [36], The Unreasonable Effectiveness of Data [37],etc Thereare great free machine learning books online and you should read those also.[38][39][40]. Here is an awesome course I found and re-posted on github [41].Instead of using open source packages, code up your own, and compare theresults. If you can code an SVM from scratch, you will understand the conceptof support vectors, gamma, cost, hyperplanes, etc. It's easy to just load somedata up and start training, the hard part is making sense of it all.

总之机器学习如果想要入门分为两方面: 一方面是去看算法,需要极强的数理基础(真的是极强的),从SVM入手,一点点理解。 另一方面是学工具,比如分布式的一些工具以及Unix。

阅读原文

机器学习的前期入门汇总相关推荐

  1. 机器学习——Google 快速入门课程(综合版)

    前言 本文参考 Google 谷歌官网机器学习的快速入门课程,整体课程比较好理解,供大家学习参考:文章也会结合自己的理解进行优化.看到官网的消息2021/7之后就不提供中文版的机器学习快速入门课程了, ...

  2. 机器学习该怎么入门?(绝对干货)

    知乎上有一个关于"机器学习该怎么入门"的火热问题,在从事机器学习研究两年之际,分享一下我的看法.绝对干货哈! 本文的宗旨是:1.指出一些自学误区 2.推荐近年精品资料 3.分享切实 ...

  3. 机器学习该怎么入门?

    阿猫Knight ,Perfekt 张逸萌 等 432 人赞同 我也谈谈自己的经验. 机器学习说简单就简单,说难就难,但如果一个人不够聪明的话,他大概很难知道机器学习哪里难.基本上要学习机器学习,先修 ...

  4. 机器学习十大算法汇总

    机器学习十大算法汇总 目录: 机器学习十大算法汇总 前言: 机器学习的十大算法: 总结 前言: 什么是机器学习算法? 它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它 ...

  5. 机器学习性能评估指标汇总

    机器学习性能评估指标汇总 Accuracy:准确率 Precision:精确率 / 查准率 Recall:召回率 / 查全率 F1 score:F1 值 PR:查准率.查全率曲线 ROC:真正率.假正 ...

  6. 回归素材(part3)--机器学习基础从入门到求职

    学习笔记,仅供参考,有错必纠 文章目录 机器学习基础从入门到求职 线性回归模型 模型建立 策略确定 算法求解 线性回归模型流程 线性回归的scikit-learn实现 普通线性回归 Lasso回归 岭 ...

  7. svg入门经典pdf_机器学习最好的入门课程是什么?

    最近老胡不太忙了,项目告一段落,摸鱼时间多了一些. 昨天我翻译了一个思维导图<超详细的人工智能专家路线图> 强烈建议没有看的同学看一看,查漏补缺必备 机器学习从 入 门 到 精 通 路 线 ...

  8. Python 基础 之 jupyter notebook 中机器学习的简单入门书写数字识别 demo 操作学习

    Python 基础 之 jupyter notebook 中机器学习的简单入门书写数字识别 demo 操作学习 目录 Python 基础 之 jupyter notebook 中机器学习的简单入门书写 ...

  9. 湖北农商行计算机类笔试题,2019年湖北农商行笔试入门汇总提前知~

    原标题:2019年湖北农商行笔试入门汇总提前知~ 公考信息 2019-04-15 16:22 更具2018年湖北农商行汇总公告推断 2019年面试时间预计将在2019年4月20日--4月22日在湖北武 ...

最新文章

  1. Improve Performance and Reduce Memory with PVRTC Textures and Cocos2d
  2. 在asp.net(C#)中怎么获得一个目录的大小?
  3. R语言层次聚类模型示例
  4. 使用ModelBinder自动过滤获取Model值的空格
  5. 当谈论设备指纹时,我们到底在说什么?(转)
  6. 许昌电气学校电话计算机,许昌电气职业学院
  7. 多个div并排居中显示
  8. mysql操作库命令_MYSQL数据库------操作命令笔记
  9. 防止页面传值出现乱码
  10. 机器学习1---基本概念
  11. java 接口返回不带双引号_数据库与java连接的奥秘
  12. python中out什么意思_ref和out的使用与区别|python基础教程|python入门|python教程
  13. 计算机考研数据结构参考书,2020考研计算机备考:数据结构参考书及重点
  14. 干净卸载VS2015
  15. 找到解决办法了,特回来写总结,the import cannot be resolved问题可以通过以下方法解决
  16. OpenCV(二) —— 颜色通道提取 边界填充 数值计算 图像融合
  17. 查看计算机win多少位的,主编教您怎么看电脑是32位还是64位
  18. 仿支付宝输入密码界面
  19. c++11 日期和时间工具(std::chrono::duration)(一)
  20. 2010年最怪异的25个面试问题,你能回答吗?

热门文章

  1. php编程用空格,shell 编程中空格的使用方法
  2. 昆仑mcp文件是什么版本_昆仑健康保2.0升级版怎么样?有哪些优缺点?
  3. ajax form表单提交_开发日志:金数据表单自动提交脚本
  4. MASK-RCNN学习一:(数据集/原理介绍)
  5. 【视频课】生成对抗网络经典任务,详解基于GAN的图像生成算法!
  6. 【杂谈】超过12个,150页深度学习开源框架指导手册与GitHub项目,初学CV你值得拥有...
  7. 【杂谈】有三AI知识星球一周年了!为什么公众号+星球才是完整的?
  8. 中国电力环保设备行业十四五发展形势与投资机会分析报告2022版
  9. 全球及中国自媒体行业营销模式及应用规模前景分析报告2021-2027年
  10. 数据库配置,参考django框架,采用嵌套的字典实现