机器学习简易入门-附推荐学习资料

目录

(1)机器学习正规学习路线

(2)机器学习快速入门

(3)总结


感谢黄海广博士的分享

原创: 机器学习初学者 机器学习初学者 今天

机器学习如何入门?目前没有明确的答案。本站面向广大初学者,推荐下机器学习(含深度学习)简易入门的路线及学习资料,入门了以后,就会知道自己需要增强哪部分知识了,也会知道找什么资料来学习。

(1)机器学习正规学习路线

如何学好机器学习?正规路线大概是这样的:

1.学好数学基础

数学分析(微积分),线性代数,概率论,统计,应用统计,数值分析,常微分方程,偏微分方程,数值偏微分方程,运筹学,离散数学,随机过程,随机偏微分方程,抽象代数,实变函数,泛函分析,复变函数,数学建模,拓扑,微分几何,渐近分析......

2.学习经典机器学习书和教程

经典书籍:Duda的《模式分类》、Mitchell的《机器学习》、李航的《统计学习方法》、周志华的《机器学习》......

吴恩达:《机器学习》公开课、《深度学习》公开课。

李宏毅:《机器学习基石》、《机器学习技法》。

3.学好编程语言

精通Python、Java、R、MATLAB、C++等编程语言。

4.阅读论文

学好英语,熟读经典论文,并且读最新的机器学习论文,如顶级会议论文等,掌握最新的技术方向。

5.参加实际项目

如大厂实习、参加Kaggle、天池等数据竞赛......

按照以上路线学完以后,虽然不一定能成为业界大牛,博士毕业完全没有问题了。

 

以上方法存在的问题:

  • 大部分学习者的学习目的不是为了科研,而是希望把机器学习作为工具来使用。

  • 大部分学习者时间有限,学不完这么多资料,不知道如何取舍。

  • 有些资料太难,作者假设学习者有一定的基础,对一些步骤进行了省略,好多初学者看了的感觉是这样的:

其实大部分人学习机器学习的目的,只要会用机器学习算法及工具,解决一些问题,了解算法的基本原理即可,并不需要学得那么深入。上面的学习路线,第一条就劝退了好多人了。没有几个人能像博士一样扎实地学好数学基础,也没有几个人能读完经典著作和热门教程,只是希望快速入门机器学习。

在这种情况下,本站推荐下快速的机器学习入门路线。

(2)机器学习快速入门

1.基础知识

熟悉基本的数学知识,最主要是高等数学线性代数概率论与数理统计三门课程,这三门课程应该是本科必修的,如果真的忘了,那就看下这篇文章:《机器学习的数学基础》,可以把这篇文章提供下载数学资料看一遍,不需要全看懂,但是基础的公式要大致明白,能从资料中查找公式,里面有两个公式总结材料:

1) 机器学习的数学基础.docx

(中文版,对高等数学、线性代数、概率论与数理统计三门课的公式做了总结)

2) 斯坦福大学机器学习的数学基础.pdf

(原版英文材料,非常全面,建议英语好的同学直接学习这个材料)。

本人非常建议打好数学基础,数学基础决定了机器学习从业人员的高度

但是,如果学习时间太少,又想入门机器学习,就学习上面两个公式总结材料其中的一个。

2.机器学习的教程

1) 机器学习入门的最佳教程

应该是吴恩达老师的《机器学习》公开课,这门课面向初学者,注重实际应用,并不侧重数学推导。这门课开课较早,但到现在仍然是最火的机器学习公开课,评分非常高,课程配套作业(octave版本)。

学习这个课程注意事项:

  • 第五章Octave教程、第十八章应用实例,这两章可以不用学,有点过时了。

  • 原版的octave作业可以不用做,可以做修改过的python版本作业。

  • 如果和吴恩达老师的《深度学习》公开课一起看,第四、五、六周的内容可以直接学习《深度学习》的相关内容。

  • 这个教程建议在三个月内看完,如果有些地方看不懂,没关系,以后用到的时候再回头看看。

  • 这个课程建议配合课程笔记一起看。本站已经提供了笔记下载

课程的视频、笔记、python代码作业,请在这篇文章下载。

 

2) 机器学习小抄

本站以前发的一篇《机器学习小抄-(像背托福单词一样理解机器学习)》

把机器学习的概念做成背托福单词的随身小抄一样方便!分分钟搞定机器学习各种记不住的概念!这篇建议用一周时间看完,注意是略读,有些地方不懂没关系,做下记录,以后用到的时候再查。

 

3) 李航《统计学习方法》

详细介绍支持向量机、Boosting、最大熵、条件随机场等十个统计学习方法。对数学基础有一定要求,这是经典中的经典,很多国内的网课,互联网企业的面试、笔试题目,或多或少,参考了这本书的内容,对初学者来说,有点难度,但是,如果想通过面试笔试,这本书应该要看懂,试着推导下算法

 

4) 深度学习最佳入门教程

吴恩达《深度学习》公开课

这个视频教程用最简单的方式,把深度学习的主要算法和框架讲得非常清楚,课程附带代码作业和测试题作业,学完以后,深度学习就算入门了。每章的学习建议:

  • 第一章:神经网络与深度学习

部分内容是《机器学习》公开课的第四、第五周的升级版

  • 第二章:改善深层神经网络 

这部分内容基本没有和《机器学习》公开课有重合部分。

  • 第三章:结构化机器学习项目

部分内容是机器学习的第六周的升级版。

  • 第四章:卷积神经网络 

这部分主要用于图像、目标检测方面的,相当于斯坦福CS231n深度学习与计算机视觉-李飞飞主讲的课程的简化。

  • 第五章:序列模型 

这部分主要用于自然语言处理,注意一点:RNN/LSTM结构里的符号,和原始论文有点不一样,我们平时的博客、论文的符号,跟吴恩达老师的课程的符号略有区别。

课程的视频、笔记、python代码作业,请在这篇文章下载。

 

5) 李宏毅《一天读懂深度学习》讲义

台大李宏毅教授的深度学习讲义,这是我见过最容易懂的深度学习入门资料,300多页的讲义能系统、通俗易懂地讲清楚深度学习的基本原理,如同机器学习小抄一样生动形象。

建议用几天时间把这个讲义浏览一次,可以基本了解什么是深度学习,深度学习有什么用。

 

3.学好编程语言

由于只是入门,仅推荐python这门编程语言。

机器学习主要的代码工具为python,python学习到底要学到什么程度?个人感觉:入门最重要,至少要学到碰到问题能查百度的程度。

1) python安装:

关于python安装包,我推荐下载Anaconda,Anaconda是一个用于科学计算的Python发行版,支持 Linux, Mac, Windows系统,提供了包管理与环境管理的功能,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题。下载地址:https://www.anaconda.com/download/ 推荐选Anaconda (python 3.6版本)

IDE:推荐使用pycharm,社区版免费,下载地址:https://www.jetbrains.com/

2) python入门的资料推荐

a.《利用python进行数据分析》

这本书含有大量的实践案例,你将学会如何利用各种Python库(包括NumPy、pandas、matplotlib以及IPython等)高效地解决各式各样的数据分析问题。

这个是我看的第一本python入门资料,如果把代码都运行一次,基本上就能解决数据分析的大部分问题了。

下载地址:建议购买书,源代码可以上百度搜索。

注意:第二版中文翻译已经有人写了,建议搜索下载。

b.python入门笔记

作者李金,这个是jupyter notebook文件,把python的主要语法演示了一次,值得推荐。

下载地址:https://pan.baidu.com/s/1snmeqlR 密码:hkv8

c.南京大学python视频教程

这个教程非常值得推荐,python主要语法和常用的库基本涵盖了。

视频下载地址:https://yun.baidu.com/s/1cCbERs 密码:7thx

看完这三个资料,python基本入门了,同时可以使用scikit-learn等机器学习库来解决机器学习的问题了。

 

4) 深度学习主要框架的学习

深度学习的主要框架,最基础的,应该是TensorflowKeras。教程很多,可以选择性地学一下,本站推荐简便的入门方法:

 

a.Tensorflow入门

吴恩达《深度学习》公开课第二门课3.11介绍了Tensorflow的基本用法(对应笔记p251),这些用法会了以后,基本上能看懂大部分代码了,结合该课程的代码作业,不懂的地方搜百度都能搜到了。

 

b.Keras入门

《python深度学习》书和配套代码,《python深度学习》由Keras之父、现任Google人工智能研究员的弗朗索瓦•肖莱(François Chollet)执笔,详尽介绍了用Python和Keras进行深度学习的探索实践,包括计算机视觉、自然语言处理、产生式模型等应用。书中包含30多个代码示例,步骤讲解详细透彻。

作者在github公布了代码,代码几乎囊括了本书所有知识点。在学习完本书后,读者将具备搭建自己的深度学习环境、建立图像识别模型、生成图像和文字等能力。但是有一个小小的遗憾:代码的解释和注释是全英文的,即使英文水平较好的朋友看起来也很吃力。

本站对全部代码做了中文解释和注释,并下载了代码所需要的一些数据集(尤其是“猫狗大战”数据集),并对其中一些图像进行了本地化,代码全部测试通过。(请按照文件顺序运行,代码前后有部分关联)。

本站认为,这本书和代码是初学者入门深度学习及Keras最好的工具。

电子书及中文注释代码请点击下载。

 

4.阅读论文

1) 学好英语,读一些优秀论文

选择性地读一些经典论文,英语真的不好,就输入论文题目搜下百度,很多博客会对经典论文有详细的解释。

看论文的关键:复现作者的算法

根据论文,复现成功算法后,通常就能对论文有深刻的理解了。经典论文都是可以复现的,github都有,最新的优秀论文,通常也能搜到代码。

 

2) 学会整理论文

读过的论文分类整理下,推荐下论文管理神器zotero,功能强大,可以在论文上记笔记,并支持不同电脑之间的同步。

 

5.参加实际项目

如果有大厂的实习机会,尽量去,能学到不少东西。

没有实习机会,可以尝试参加下kaggle比赛,不一定要取得多少名次,可以搜搜历次比赛,下载数据,下载别人的公开代码,复现下。

国内也有类似的比赛,如天池,DF等。

通常,在2-3个比赛能达到top1%的成绩,代码能力基本没有问题了。

但是,不建议在比赛中花太多时间,比赛大部分时间是用于特征工程,在实际工作中并不一定能用上,只要能解决问题就行了,其他时间用于学习吧。

 

6.多和学习者交流

交流的方式有很多种,如参加学术活动、实验室讨论等,但我认为最有效的交流方式还是加入一些学术讨论组织,如微信群,qq群等。“闻道有先后术业有专攻”,不懂很正常,不懂就要问,“三人行,必有我师。”

(3)总结

学习机器学习,尽可能打好数学基础,机器学习从业者数学基础不扎实,只会用一些工具和框架,相当于某些武术家只会耍套路,外行人觉得很厉害,但实战起来一定是鼻青脸肿。可以说,数学基础是机器学习从业人员的天花板。为什么机器学习从业人员学历越高,往往工资越高,通常和掌握的基础知识正相关。

本文的方法,只适合快速入门,入门了以后,你就会知道哪方面的不足,自己也会找资料学习了。

本文的方法仅供参考。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/440146.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++11中的std::function

原文地址&#xff1a;http://www.jellythink.com/archives/771 看看这段代码 先来看看下面这两行代码&#xff1a; std::function<void(EventKeyboard::KeyCode, Event*)> onKeyPressed; std::function<void(EventKeyboard::KeyCode, Event*)> onKeyReleased; 这两…

【HDU - 3394】Railway(点双连通分量,Tarjan算法,思维tricks)

题干&#xff1a; There are some locations in a park, and some of them are connected by roads. The park manger needs to build some railways along the roads, and he would like to arrange tourist routes to each circuit. If a railway belongs to more than one …

飞机大战(简易版)

一、游戏分析 飞机大战中的主要“角色”有&#xff1a; 1.英雄 2.敌方飞机 3.英雄发射的子弹 我们需要控制的有&#xff1a; 1.绘制屏幕内的角色 2.控制角色的逻辑&#xff0c;比如&#xff1a;敌方飞机与我方飞机的碰撞检测&#xff0c;我方飞机发射的子弹与敌方飞机之间的碰撞…

在Ubuntu上安装Keras深度学习框架

目录 1&#xff09;安装pip 2&#xff09;安装Python科学套件 3&#xff09;安装TensorFlow 4&#xff09;安装keras 5&#xff09;安装Jupyter Notebook 6&#xff09;运行Keras 本文介绍如何在Ubuntu上安装Keras深度学习框架。 1&#xff09;安装pip 安装pip包&#…

【POJ - 1523】SPF(Tarjan求割点,求分割成的连通块数,模板题,tricks)

题干&#xff1a; Consider the two networks shown below. Assuming that data moves around these networks only between directly connected nodes on a peer-to-peer basis, a failure of a single node, 3, in the network on the left would prevent some of the still…

机器学习笔记(2):单变量线性回归

目录 1&#xff09;Model representation 2&#xff09;Cost function 3&#xff09;Cost function intuition 1 4&#xff09;Cost function intuition2 5&#xff09;Gradient descent 6&#xff09;Gradient descent intuition 7&#xff09;Gradient descent for li…

安装VMware tools

点击“虚拟机” 安装VMware tools提取图中文件到“下载” 提取登入root 进入 cd 下载/vmware-tools-distrib 执行 ./vmware-install-pl 输入yes或者点击“enter”出现图中&#xff0c;即为成功安装

Keras入门实战(1):MNIST手写数字分类

目录 1)首先我们加载Keras中的数据集 2&#xff09;网络架构 3&#xff09;选择编译(compile参数) 4&#xff09;准备图像数据 5) 训练模型 6&#xff09;测试数据 前面的博客中已经介绍了如何在Ubuntu下安装Keras深度学习框架。 现在我们使用 Keras 库来学习手写数字分…

【BZOJ - 2574】[Poi1999] Store-Keeper(点双连通分量,求割点,记忆化bfs)

题干&#xff1a; 有一个仓库被分成n*m 个矩形区域&#xff0c;如果两个区域有一条公共边&#xff0c;则被认为这两个区域相邻。包裹都放在一个区域中&#xff0c;剩余的区域或者空闲或者被集装箱占有&#xff0c;这是因为集装箱太重&#xff0c;仓库管理员不能将集装箱搬走。…

机器学习笔记(3):线性代数回顾

目录 1&#xff09;Matrices and vectors 2&#xff09;Addition and scalar multiplication 3&#xff09;Matrix-vector multiplication 4&#xff09;Matrix-matrix multiplication 5&#xff09;Matrix multiplication properties 6&#xff09;Inverse and transpos…

hadoop 安装

Hadoop单机和伪分布式安装 更新apt 用root用户登录 先更新一下 apt apt-get update然后安装vim apt-get install vim安装VMware tools tools 安装 安装SSH、配置SSH无密码登陆 单节点模式都需要用到 SSH 登陆&#xff0c;Ubuntu 默认已安装了 SSH client&#xff0c;此…

机器学习笔记(4):多变量线性回归

目录 1&#xff09;Multiple Features 2&#xff09;Gradient descent for multiple variables 3&#xff09;Gradient descent in practice 1: Feature Scaling 4&#xff09;Gradient descent in pratice2: Learning rate 5&#xff09;Features and polynomial regress…

zookeeper单节点部署

hadoop 安装 在/install-package目录下查看zookeeper的安装包 本文中安装的是zookeeper-3.4.12.tar.gz 下方为百度云链接 链接&#xff1a;https://pan.baidu.com/s/1bzq4ILH41owtS__3tBCcRQ 提取码&#xff1a;6q4r 把下载好的zookeeper-3.4.12.tar.gz 放到/install-packa…

机器学习笔记(五):逻辑回归

目录 1&#xff09;Classification 2&#xff09;Hypothesis Representation 3&#xff09;Decision boundary 4&#xff09;Cost function 5&#xff09;Simplified cost function and gradient descent 6&#xff09;Multi-class classification:One-vs-all 7&#xf…

xrdp完美实现Windows远程访问Ubuntu 16.04

前言&#xff1a; 在很多场景下&#xff0c;我们需要远程连接到Linux服务器(本文是Ubuntu)&#xff0c;传统的连接主要分为两种。 第一种&#xff1a;通过SSH服务&#xff08;使用xshell等工具&#xff09;来远程访问&#xff0c;编写终端命令&#xff0c;不过这个是无界面的&a…

机器学习笔记(六):正则化

目录 1&#xff09;The problem of overfitting 2&#xff09;Cost function 3&#xff09;Regularized linear regression 4&#xff09;Regularized logistic regression 我们已经学习了线性回归和逻辑回归算法&#xff0c;已经可以有效解决很多问题&#xff0c;但是在实…

Hbase单节点安装

zookeeper单节点部署 实验环境 操作系统&#xff1a;Ubuntu 16.04 Hadoop&#xff1a;Hadoop 2.7.5 Zookeeper&#xff1a;zookeeper 3.4.12 Java&#xff1a;java version 1.8.0 到/install-package目录下查看hbase安装包 #>ls /install-package本文中用的是hbase-1…

机器学习笔记(七):神经网络:表示

目录 1&#xff09;Non-linear hypotheses 2&#xff09;Model representation 1 3&#xff09;Model representation 2 4&#xff09;Examples and intuitions 1 5&#xff09;Examples and intuitions 2 6&#xff09;Multi-class classification 1&#xff09;Non-lin…

ROS入门_1.10 理解ROS服务和参数

目录 ROS Services使用rosservice rosservice listrosservice typerosservice call Using rosparam rosparam listrosparam set and rosparam getrosparam dump and rosparam load 本教程假设从前一教程启动的turtlesim_node仍在运行&#xff0c;现在我们来看看turtlesim提供了…

1.Introduction and Evaluation

感谢七月在线罗老师和吴同学&#xff01; 最近报了七月在线的《推荐系统实战》班&#xff0c;根据上课资料和思维导图整理了这篇笔记&#xff01; 1&#xff09;推荐系统介绍 思维导图如下&#xff0c;其中需要掌握的是推荐系统存在的前提&#xff1a;信息过载和用户需求不明…