Python机器学习算法实现

Author:louwill

Machine Learning Lab

终于到了最后的总结。从第一篇线性回归的文章开始到现在,已经接近有两年的时间了。当然,也不是纯写这30篇文章用了这么长时间,在第14篇Ridge回归之后中间断更了10个多月,好在今年抽出时间把全部补齐了。

一点总结

整个系列对常用的、主流的机器学习模型与算法进行了梳理,主题只有两个,一个是数学推导,一个手写实现。因为机器学习原理大多都是由数学支撑,基本的机器学习数学公式推导对于深入掌握机器学习十分重要;另一方面,通过手写实现机器学习算法,深入理解算法细节,进一步提高算法实现的代码能力。

在完成这项工作的过程中,很多朋友都有问过我,所有的算法是否都是我自己写的。当然不是,作为一名普通的学习者,不可能独自闭门造车的完成这项工作,在公式推导和代码实现过程中,笔者曾大量参考借鉴了各种博客、教材和GitHub相关仓库,总体而言也是一项集成性的工作。还有一个问题就是很多朋友也会问,说好的手写呢,怎么你LightGBM调了包了呢。其实不光是LightGBM调了包,笔者在写支持向量机的时候调用了cvxopt求解二次规划,贝叶斯网络用了pgmpy,CatBoost调用了原生的catboost库,最大熵模型也调用了maxentropy等。一方面是中间确实偷了懒,一方面也是因为部分算法系统过于复杂,一部分未完成的工作会留到下半年继续。

全部模型和算法整理成思维导图如下:

按照模型类型分为监督学习模型、无监督学习模型和概率模型三大类:

监督模型

无监督模型

概率模型

全部30讲如下:

数学推导+纯Python实现机器学习算法1:线性回归

数学推导+纯Python实现机器学习算法2:逻辑回归

数学推导+纯Python实现机器学习算法3:k近邻

数学推导+纯Python实现机器学习算法4:决策树之ID3算法

数学推导+纯Python实现机器学习算法5:决策树之CART算法

数学推导+纯Python实现机器学习算法6:感知机

数学推导+纯Python实现机器学习算法7:神经网络

数学推导+纯Python实现机器学习算法8:线性可分支持向量机

数学推导+纯Python实现机器学习算法9:线性支持向量机

数学推导+纯Python实现机器学习算法10:线性不可分支持向量机

数学推导+纯Python实现机器学习算法11:朴素贝叶斯

数学推导+纯Python实现机器学习算法12:贝叶斯网络

数学推导+纯Python实现机器学习算法13:Lasso回归

数学推导+纯Python实现机器学习算法14:Ridge岭回归

数学推导+纯Python实现机器学习算法15:GBDT

数学推导+纯Python实现机器学习算法16:Adaboost

数学推导+纯Python实现机器学习算法17:XGBoost

数学推导+纯Python实现机器学习算法18:LightGBM

数学推导+纯Python实现机器学习算法19:CatBoost

数学推导+纯Python实现机器学习算法20:随机森林

数学推导+纯Python实现机器学习算法21:最大熵模型

数学推导+纯Python实现机器学习算法22:EM算法

数学推导+纯Python实现机器学习算法23:CRF条件随机场

数学推导+纯Python实现机器学习算法24:HMM隐马尔可夫模型

数学推导+纯Python实现机器学习算法25:kmeans聚类

数学推导+纯Python实现机器学习算法26:PCA降维

数学推导+纯Python实现机器学习算法27:LDA线性判别分析

数学推导+纯Python实现机器学习算法28:奇异值分解SVD

数学推导+纯Python实现机器学习算法29:马尔可夫链蒙特卡洛

数学推导+纯Python实现机器学习算法30:系列总结与感悟

下一步的工作

下一步,笔者将在30讲的基础上继续进行完善和梳理,在深度上进行挖掘,并将系列整理改写为书稿,预计于明年年初成稿。完整版的代码将继续在我的GitHub进行更新完善,感谢各位关注。GitHub地址如下或者阅读原文:

https://github.com/luwill/machine-learning-code-writing

另外,对本系列接下来的改写有建议和想法的朋友可以直接加我微信沟通。

往期精彩回顾适合初学者入门人工智能的路线及资料下载机器学习及深度学习笔记等资料打印机器学习在线手册深度学习笔记专辑《统计学习方法》的代码复现专辑
AI基础下载机器学习的数学基础专辑获取一折本站知识星球优惠券,复制链接直接打开:https://t.zsxq.com/yFQV7am本站qq群1003271085。加入微信群请扫码进群:

【机器学习基础】数学推导+纯Python实现机器学习算法30:系列总结与感悟相关推荐

  1. 【机器学习基础】数学推导+纯Python实现机器学习算法24:HMM隐马尔可夫模型

    Python机器学习算法实现 Author:louwill Machine Learning Lab HMM(Hidden Markov Model)也就是隐马尔可夫模型,是一种由隐藏的马尔可夫链随机 ...

  2. 【机器学习基础】数学推导+纯Python实现机器学习算法28:CRF条件随机场

    Python机器学习算法实现 Author:louwill Machine Learning Lab 本文我们来看一下条件随机场(Conditional Random Field,CRF)模型.作为概 ...

  3. 【机器学习基础】数学推导+纯Python实现机器学习算法27:EM算法

    Python机器学习算法实现 Author:louwill Machine Learning Lab 从本篇开始,整个机器学习系列还剩下最后三篇涉及导概率模型的文章,分别是EM算法.CRF条件随机场和 ...

  4. 【机器学习基础】数学推导+纯Python实现机器学习算法26:随机森林

    Python机器学习算法实现 Author:louwill Machine Learning Lab 自从第14篇文章结束,所有的单模型基本就讲完了.而后我们进入了集成学习的系列,整整花了5篇文章的篇 ...

  5. 【机器学习基础】数学推导+纯Python实现机器学习算法25:CatBoost

    Python机器学习算法实现 Author:louwill Machine Learning Lab 本文介绍GBDT系列的最后一个强大的工程实现模型--CatBoost.CatBoost与XGBoo ...

  6. 【机器学习基础】数学推导+纯Python实现机器学习算法24:LightGBM

    Python机器学习算法实现 Author:louwill Machine Learning Lab 第17讲我们谈到了竞赛大杀器XGBoost,本篇我们来看一种比XGBoost还要犀利的Boosti ...

  7. 【机器学习基础】数学推导+纯Python实现机器学习算法23:kmeans聚类

    Python机器学习算法实现 Author:louwill Machine Learning Lab 聚类分析(Cluster Analysis)是一类经典的无监督学习算法.在给定样本的情况下,聚类分 ...

  8. 【机器学习基础】数学推导+纯Python实现机器学习算法22:最大熵模型

    Python机器学习算法实现 Author:louwill Machine Learning Lab 最大熵原理(Maximum Entropy Principle)是一种基于信息熵理论的一般原理,在 ...

  9. 【机器学习基础】数学推导+纯Python实现机器学习算法21:马尔可夫链蒙特卡洛...

    Python机器学习算法实现 Author:louwill Machine Learning Lab 蒙特卡洛(Monte Carlo,MC)方法作为一种统计模拟和近似计算方法,是一种通过对概率模型随 ...

最新文章

  1. 【Qt】通过QtCreator源码学习Qt(五):QLoggingCategory管理、分类、过滤打印信息
  2. 计算机网络-物理层设备
  3. VC6.0: fatal error C1010: unexpected end of file while looking for precompiled head
  4. 第九届蓝桥杯 Java B组 第三题 复数幂 (详解)
  5. boost::multiprecision模块debug_adaptor相关的测试程序
  6. 搭建卷积神经网络怎么确定参数_AI入门:卷积神经网络
  7. Most Unstable Array CodeForces - 1353A(数学+贪心+建设性算法)
  8. mysql 连接 监控_mysql监控优化(一)连接数和缓存
  9. 使用POI生成Excel文件,可以自动调整excel列宽
  10. 23种设计模式-状态模式
  11. c++ 实现QQ空间,腾讯微博,新浪微博微信,豆瓣等分享功能。
  12. PyTorch注意力机制【动手学深度学习v2】
  13. 2.已知维数求超立方体邻接矩阵
  14. 80x86系统微处理器简介
  15. iPad是真正的移动设备吗?
  16. js身份证号码带*号处理
  17. 七个顶级心理寓言(看了受用一生)(转)
  18. 流利说-后端开发工程师
  19. 使用 Python 将 MP4视频 转换为GIF动画
  20. java基础知识总结,javaweb参考资料大全

热门文章

  1. 开发留言本,学习笔记
  2. docker部署项目,对镜像,容器的操作
  3. myeclipse中配置spring xml自己主动提示
  4. numeric column can contains null
  5. 第四篇: python函数续
  6. C++ stl 通用算法和成员函数使用
  7. 使用ScheduledThreadPoolExecutor代替TimerTimerTask
  8. 通过相似性或相异指数的数值分布比较群落Beta多样性高低
  9. 机器人学习--Turtelbot3学习-- Burger与waffle等版本的切换
  10. UG NX12.0安装教程