Coder Social home page Coder Social logo

mlan's Introduction

MLAN - Machine Learning Algorithm Note

机器学习算法笔记 pdf链接

@DylanWaken对这份笔记做了一些补充和扩展,也用代码实现了其中的一些算法,可以看他的仓库DL_Memory_Palace

总览

这份笔记收录了39个机器学习模型的66个算法.非概率方法部分囊括了分类/回归/聚类/降维四大任务,既包括经典的线性回归、SVM、PCA等,也包括偏冷门但理论上非常漂亮的LE、谱聚类等。概率方法部分既系统地介绍了概率机器学习的最大似然、ELBO等基本**,也对GMM/概率线性回归/高斯过程回归等常用算法做了推导。此外还较为全面地推导了一些概率图模型,如RBM/CRF/HMM等的推理和学习算法。全书分为12章,总计140多页,公式700余行,字数35000余字,耗时40余天写成初版。

Mindmap v1.0

本书的核心在于收集算法的公式推导过程,体现每个算法提出的思路和推导过程中的巧妙方法,同时总结不同算法的适用任务和适用条件。从编排上,既注重每个算法的推导细节,又注重不同算法之间的关联对比。它可以用作复习资料,形成对机器学习算法的宏观认识和知识体系。

这份笔记不是面向初学者的入门读物。它默认读者已经有一定的机器学习基础。对于初学者,互联网上已经有很多更加细致易懂的各类学习资料,因此这份笔记就不做重复工作了。

编排

整本笔记的算法分为两大板块:非概率方法和概率方法。非概率方法一般思路较为直接,推导比较简明,算法也很简洁。而概率方法自成一套体系,所有算法紧紧围绕推断和学习两大主题进行介绍。例如E-M算法等重要的**会贯穿很多不同的概率模型。因此,在编排上既有总览、总结性质的介绍,又有具体到每个模型的详细推导,这样可以既强调**的统一性,又突出不同模型的特点。

具体到章节的内容安排详见原书1.2节的介绍。

特色-总结表格

本书的一大特色是:每一个算法都有一张总结表格,以最简明的方式列出算法的要素。每张提要表格包括:算法名称、一句话概括算法**的算法简述、算法的已知和求,以及算法步骤的描述。这里面已知和求尤为重要。如果不搞清一个模型的一个算法什么已知什么未知,那么看了再多遍推导也是云里雾里。

总结表格的算法步骤部分是为了写代码方便而专门设计的。在总结每个算法的算法步骤时,我使用严谨统一的数学符号记录,但力求看到步骤就能直接翻译出代码,希望本书能够满足快速进行算法实现的阅读需求。

特色-算法索引表

除了总结表格之外,本书还在开头部分设计了全书算法索引表。每个算法针对什么任务、算法求解是迭代解还是解析解、概率方法是生成式还是判别式模型,在这张表格中一目了然。这张表格还有到具体算法位置的超链接,方便快速查阅。

除此之外,对于核方法、E-M算法等在多个具体算法中出现、贯穿多章的方法或**,本书也在关键位置有总结表格。读者可以在阅读具体的算法后对照表格,进行总览式的回顾。

初衷

写这本笔记的初衷,其实就是想将自己在各处零散学来的机器学习算法做一个汇总,以便日后需要时快速查找。现有的各类资料都不太能满足我的这一需求。

教科书虽然权威而且知名度高,但身边不总是有书在。花书偏重深度学习,对非深度的ML算法浅尝辄止。西瓜书内容丰富全面,详略得当,有口皆碑;但它的公式推导跳步较多,有读者还专门出了一本南瓜书来解读里面的公式。PRML是老牌经典教材,是概率机器学习的权威著作,但其中也有推导跳步的问题,并且比较偏向理论性,缺少直观的算法总结。其余教材各有特点,也有各自的问题。

至于机器学习的各类公开课视频及其课件、笔记,虽然也是高质量的学习资料,但毕竟要照顾初次学习的学生,可能会有很多举例、代码实现、图表演示等和核心算法无关的内容。如果要快速查阅算法本身还是比较不便。各类视频讲解虽然也很优秀,但视频毕竟不如写在纸面上的直观。此外还有一点,就是不同来源的资料使用的符号系统五花八门。使用统一的记号来表述各类算法,可以有一劳永逸的效果。

除此之外,我还希望能建立一个统一的知识框架将接触的各类算法尽数收纳其中,像一张地图一样清晰易懂、一目了然。2年前在清华学习《模式识别与机器学习》课程期间,我便开始整理一张思维导图,但限于个人水平还是未偿所愿。此次清理笔记的过程中,我搞懂了很多之前模棱两可的概念,尤其是对概率方法的认识相较之前已经进步了许多。这一番整理笔记下来,我的思维导图也清晰了不少。整理的结果就是开头部分的那一张Mindmap了。

知新

学术之道,常做常新。整理笔记的过程也是归纳、对比、总结以及体悟的过程。一个多月的整理期间,确实有不少次恍然大悟,乃至大呼小叫的瞬间。当思绪如闪电般激活连通原来彼此分隔的零散碎片,那种快感是独一无二的。这次我的一大收获就是将原来只有零散认知的E-M算法、变分推断、概率图模型等部分建立起了成体系的知识框架,触类旁通,隐隐有了一些“看山不是山”的味道。

后续计划

本书目前主要有两大板块:非概率方法和概率方法。虽然已经收录了很多算法,但限于自己的精力能力有限,有很多经典算法还没有收录。因此,之后随着个人学习的精进,相关算法也会补缺。除此之外,本书还设计了第三大板块:强化学习。它的内容也十分丰富、精彩纷呈,只不过限于个人精力,无法在这次发布时完成,只好留待后续版本更新。

纠错&联系作者

由于作者水平、精力、时间有限,本书中的公式推导、符号、文字以及排版等方面不免有不少纰漏和错误。您如果发现任何的错误,或对本书编排、内容等有任何的意见和建议,都可以通过我的邮箱[email protected] 联系我。如果有我微信的朋友也欢迎直接在微信私戳,不胜感激。

mlan's People

Contributors

weixr18 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.