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。加入微信群请扫码进群: