从基础概念到数学公式,这是一份520页的机器学习笔记(图文并茂)

640?wx_fmt=gif&wxfrom=5&wx_lazy=1



导读:近日,来自SAP(全球第一大商业软件公司)的梁劲(Jim Liang)公开了自己所写的一份 520 页的学习教程(英文版),详细、明了地介绍了机器学习中的相关概念、数学知识和各种经典算法。完整的 PDF 请从文后作者公开的链接下载。



在介绍中,Jim Liang 写到:


人工智能是这两年风头正劲的领域,也是未来具有颠覆性可能的新领域。不少人尝试去学习机器学习相关的知识。然而,一旦越过最初的 overview 阶段,很多人就开始打退堂鼓了,然后迅速放弃。


为什么会这样?


极高的学习曲线


  • 首当其冲就是数学,涉及统计学、微积分、概率、线性代数等,大家虽然都学过高等数学,但如果你还记得里面的细节,算你牛。更可能的情况是,多数人都对高等数学忘记了,面对各种算法里的大量公式,感到厌恶,甚至恐惧。

  • 其次因为机器学习本身是一个综合性学科,而且是一个快速发展的学科,知识点散乱,缺乏系统性。

  • 市面上的机器学习/深度学习书籍、文章、教程,遍地开花,但能以清晰的方式表达、循序渐进地讲解的教程,其实不多,大量的教程没有考虑到学习者的基础,使得初学者感到挫败和困惑。


图解机器学习


正是对机器学习的过程中的痛苦有切身体会,我希望能做一份教程,以浅显易懂的方式去讲解它,降低大家的学习门槛。我为此花费了数月时间,经常做到深夜,把自己的学习笔记整理成了这份教程。


从结构来看,全部教程包含两部分:


640?wx_fmt=png


Part 1 介绍了基本概念,包括:


  • 机器学习的流程

  • 数据处理

  • 建模

  • 评估指标(如 MSE、ROC 曲线)

  • 模型部署

  • 过度拟合

  • 正则化等


在第一部分,作者先介绍了如今应用普遍的机器学习:从自动驾驶、语音助手到机器人。其中有些思想,也是众多读者们了解过的,例如:为何机器学习在这个时候会火(大数据、计算力、更好的算法);机器学习、人工智能、深度学习三者的关系等。


除了这些基础概念,这份教程也对机器学习模型的开发流程做了图像化展示(如下图),即使对此不太了解的读者,也能通过这种流程展示有所学习。


640?wx_fmt=png

640?wx_fmt=png

▲建立机器学习解决方案的步骤


在 Part1 的其他小节,作者以类似的图像展示,对数据、建模、模型部署等内容做了详细介绍,这里就不一一列举,可以从原报告查看。


在 Part2,作者介绍了 常用的算法,包括:


  • 线性回归

  • 逻辑回归

  • 神经网络

  • SVM

  • Knn

  • K-Means

  • 决策树

  • 随机森林

  • AdaBoost

  • 朴素贝叶斯

  • 梯度下降

  • 主成分分析


这部分包含了大量的数学公式,但作者尽力注解了其中的每个公式,从而充分、清晰地表达了众多数学概念。


例如在「神经网络」部分,作者整理了 59 页的笔记(从 311 页到 369 页)。作者从人脑中的神经元架构说起,介绍了人工神经网络(ANN)、人工神经元工作的原理。这份笔记非常注重图像化的概念解释,理解起来非常直观。


例如,下图中的概念解释很形象地展现了生物神经元和人工神经元工作方式的相似性。


640?wx_fmt=png

▲生物神经元的树突输入-轴突输出模式和人工神经元的输入输出模式对比。


640?wx_fmt=png

▲过拟合的解释


640?wx_fmt=png

▲人工神经元的基础结构


在涉及到数学公式时,作者会在旁边有详细的注解,如下图所示:


640?wx_fmt=png


对于并列的可选项(如激活函数、常用神经网络架构等),也会有全面的列表:


640?wx_fmt=png

▲常用的激活函数


然后会有每个激活函数的单独介绍:


640?wx_fmt=png

▲Sigmoid 激活函数


640?wx_fmt=png

▲用神经网络分类手写数字的前向传播示例(softmax 激活函数)。


对于神经网络中较为复杂的概念(如求导、反向传播),几张图就能解释清楚:


640?wx_fmt=png


关于神经网络的完整训练过程,作者用简略流程图+计算细节展开的方式呈现:


640?wx_fmt=png

▲反向传播算法完整流程


640?wx_fmt=png

▲前向传播部分的计算细节


就像前面提到的,这部分除了「神经网络」的介绍,还包括随机森林、梯度下降等概念的介绍,读者们可查看原教程。


总结


看完这份教程之后,小编觉得这是一份包罗万象的学习笔记,既适合非专业人士了解有关机器学习的基础概念,又适合有专业背景的学生进一步学习。


写教程是为了自己持续学习,分享教程是为了帮助更多人学习。就像作者所说,「Learning by doing/teaching, 写这个教程主要是强迫自己持续学习,另外,也想分享给他人,希望能帮助到更多想学习 Machine Learning 的人,降低大家的学习痛苦。」


笔记作者:Jim Liang

来源:机器之心(ID:almosthuman2014)

教程文档下载地址(百度云):

https://pan.baidu.com/s/1tNXYQNadAsDGfPvuuj7_Tw


文章版权归原作者所有,转载仅供学习使用,不用于任何商业用途,如有侵权请留言联系删除,感谢合作。

640?wx_fmt=png


640?wx_fmt=jpeg

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

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

相关文章

XP下Virtualbox虚拟Ubuntu共享文件夹

环境:主机操作系统是Windows XP,虚拟机是Ubuntu 10.10,虚拟机是VirtualBox 4.0.0。 1. 安装增强功能包(Install Guest Additions) 安装好Ubuntu 10.10后,运行Ubuntu并登录。然后在VirtualBox的菜单里选择"设备(Devices)"…

Excel模板导出之动态导出

说明目前Magicodes.IE已支持Excel模板导出时使用JObject、Dictionary和ExpandoObject来进行动态导出,具体使用请看本篇教程。本功能的想法、部分实现初步源于arik的贡献,这里再次感谢arik!在开始本篇教程之前,我们重温一下模板导出…

android textview动态设置,android – 如何动态设置文本到TextView?

我想在活动开始时显示连接的ssid和ip地址.它包含一个图像视图(用于标题,因为我没有使用操作栏)和4个文本视图(ssid标签,ssid值,ipaddr标签和ipaddr值)我已经测试了获取ssid和ipaddr的代码,但它们运行良好.问题是我无法将它们显示在TextView中.在此代码中,没有错误,但是当活动开…

简述原型模型的特点_3D打印硅胶复模手板的步骤和特点有哪些

硅胶手板是一种主要用于手板模制作的硅胶制品,手板硅胶主要要求:不缩水、不变形,硬度合适不太复杂的产品使用。硅胶手板经常用硅胶模具来制造为产品快速成型复制提供便利性,产品收缩率可达到千分之二,主要用于手板模型…

快速成长为数据挖掘高手的秘诀

随着大数据时代的到来,数据挖掘的重要性越发显著。所谓数据挖掘,一般是指从大型数据库中将隐藏的预测信息抽取出来的过程,而更为精确的解释就是“从数据中挖掘知识”。目前而言,数据挖掘大致分为四个层次:纯粹数据加工…

C#得到CPU的序列号、硬盘序列号、网卡序列号

//得到cpu信息 public static void GetCpuIndex() { string _cpuInfo ""; ManagementClass cimobject new ManagementClass("Win32_Processor"); ManagementObjectCollection moc cimobject.GetInstances(); …

ASP.NET Core 基于角色的 JWT 令牌

原文:https://bit.ly/3vYljq3作者:Rick Strahl翻译:精致码农-王亮声明:我翻译技术文章不是逐句翻译的,而是根据我自己的理解来表述的。其中可能会去除一些本人实在不知道如何组织但又不影响理解的句子。ASP.NET Core 中…

圆形比例分布图怎么做_解读宝山区2035总体规划:建设用地的比例在上海非中心城区中最高...

《上海市宝山区总体规划暨土地利用总体规划(2017-2035)》已经发布,在宝山区2035总体规划中,一个重要的核心指标成为了亮点,这就是宝山区的建设用地面积为244.3平方公里。宝山区的陆地总面积是301.6平方公里,由此宝山区建设用地面积…

截获android屏幕服务,如何捕获android设备屏幕内容?

使用以下代码:Bitmap bitmap;View v1 MyView.getRootView();v1.setDrawingCacheEnabled(true);bitmap Bitmap.createBitmap(v1.getDrawingCache());v1.setDrawingCacheEnabled(false);这MyView是View我们需要在屏幕中包含的内容。你也可以DrawingCache通过View这种…

Lanchester战争模型:用可分离变量的微分方程占卜战事

看过国产的战争题材电视剧《亮剑》的各位老铁一定熟悉李云龙集结重兵攻打县城的故事。在故事中,李云龙利用人数上的优势对平安县城进行了围点打援,最后用二营长的意大利炮消灭了城楼上的鬼子官。但是众所周知,抗日时期中国军队的单兵作战能力…

微软软件安装平台

http://www.microsoft.com/web/downloads/platform.aspx 转载于:https://www.cnblogs.com/kkun/archive/2011/03/09/1978039.html

如何在 C# 中使用 yield

yield关键词是在 C# 2.0 中被引入的,我们都知道实现了 IEnumerable 接口的类都可以用于被 foreach 迭代,这是因为 IEnumerable 接口中提供了一个可迭代的 GetEnumerator() 方法,代码定义如下:public interface IEnumerable{IEnume…

通过听力写代码?盲人程序员就是这样做的

一Michael Forzano,Amazon2018 年 3 月,Amazon 官网「工作在 Amazon」栏目有一篇文章,介绍了他们的一位盲人程序员 Michael Forzano。(视频来自:阑夕)Amazon 软件工程师 Michael Forzano 出生就因先天疾病而…

android修改电量颜色,android状态栏电池颜色?

鸿蒙传说/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryControllerImpl.java在Intent.ACTION_BATTERY_CHANGED broadcast处理中调用fireBatteryLevelChanged()方法fireBatteryLevelChanged中会回掉BatteryStateChangeCallbackframewor…

access 战地1不加入ea_炒牛肉时,想要牛肉嫩滑又不老,只需加入1样东西,很多人都不懂...

炒牛肉时,想要牛肉嫩滑又不老,只需加入1样东西,很多人都不懂冬季滋补怎么能少得了牛肉,牛肉中含有非常丰富的营养成分,其中蛋白质的含量尤为丰富还有大量的氨基酸,能够提高身体的抗病能力,特别适…

张亚勤:PC之外的争夺战

文 / 陈振烨 尽管经常有公司抢走微软的风头,但当今世界,微软仍然是当之无愧的IT霸主。过去几个季度,微软各项核心数据非常给力,2011财年第一季度净利润54亿美元,营收162亿美元;而2010财年187.6亿美元的净利…

优化 ASP.NET Core Docker 镜像的大小

在这容器化的世界里,我们已经很少直接通过文件发布来运行asp.net core程序了。现在大多数情况下,我们都会使用docker来运行程序。在使用docker之前,我们往往需要打包我们的应用程序。asp.net core程序的镜像打包,网上有很多教程&a…

监督学习:KNN(K-近邻)算法实现手写数字识别的三种方法

没人会看的开场白:本来觉得自己从数据建模转人工智能方向应该问题不大(自我感觉自己算法学的不错)。结果一个K-邻近实现手写数字识别的代码就让我改了三四天。虽然网上这方面的代码是很多,但是我运行了好几个,结果都不…

xp怎样安装android-studio,Xposed 框架的安装

借鉴:安装流程:安装 雷电模拟器3.93下载安装xposed框架。xposed 框架在Dalvik 虚拟机和ART虚拟机上的安装不一样(至于ART虚拟机和Dalvik虚拟机的区别,可以参阅 文章)如果Android 版本不小于 5.0,就是ART版本的虚拟机,需…

cta策略 有哪些_CTA 主流的交易策略都有哪些?

CTA策略(Commodity Trading Advisor Strategy)称为商品交易顾问策略,也称作管理期货。主要通过在基本和技术分析中导入数量模型,并借助计算机系统根据数量模型产生的买卖信号进行投资交易。CTA基金策略完全通过不同期货合约及调期合约多/空头寸进行投资&…