作者华校专,曾任阿里巴巴资深算法工程师、智易科技首席算法研究员,现任腾讯高级研究员,《Python 大战机器学习》的作者。

这是作者多年以来学习总结的笔记,经整理之后开源于世。目前还有约一半的内容在陆续整理中,已经整理好的内容放置在此。 曾有出版社约稿,但是考虑到出版时间周期较长,而且书本购买成本高不利于技术广泛传播,因此作者采取开源的形式。 笔记内容仅供个人学习使用,非本人同意不得应用于商业领域。

笔记内容较多,可能有些总结的不到位的地方,欢迎大家探讨。联系方式:huaxz1986@163.com qq: 525875545

另有个人在 github 上的一些内容:

20200601 修订

  • Graph Embedding 章节新增:NetMF、NetSMF、PTE、HNE、AANE 五个模型的内容。 另外 graph embedding 章节庞大, 已经拆分为两个子章节
  • 新增传统推荐算法章节, 包括:ItemBasedCF、Amazon I-2-I CF、 Slope One Rating Based CF、Bipartite Network Projection、Implicit Feedback CF、PMF、SVD++、MMMF、OCCF、BPR 等十余个模型

20200405 修订

  • 图神经网络:图神经网络章节新增:GNN、GCN、FastGCN、Semi-Supervised GCN、分子指纹GCN、GGS-NN、PATCHY-SAN、GraphSage、GAT 九个模型的内容
  • Graph Embedding:Graph Embedding 章节新增:metapath2vec、GraphGAN、struc2vec、GraphWave 四个模型的内容

20200112 修订

  • Graph Embedding:Graph Embedding 章节 新增:DeepWalk, LINE, GraRep, TADW, DNGR, Node2Vec, WALKLETS, SDNE, CANE, EOE 十个模型的内容

20191201 修订

  • CTR 预估模型:神经网络模型 章节 新增:DSSM、FNN、PNN、DeepCrossing、Wide&Deep、DCN、DeepFM、NFM、AFM、xDeepFM、ESMM、DIN、DIEN、DSIN、DICM 十五个模型的内容

20190928 修订

  • 最优化章节新增在线学习优化算法 online learning
  • 新增章节 传统 CTR 预估算法:LR 模型、POLY2 模型、FM 模型、FFM 模型、GBDT-LR 模型、FTRL 模型、LS-PLM 模型
  • RNN 章节 微调图片格式

20190825 修订

  • Transformer 章节 新增:Transformer-XL, XLNet, MT-DNN, ERNIE, ERNIE 2.0, BERT_wwm_ext, RoBERTa 内容

20190802 修订

  • 调整循环神经网络章节的内容
  • 新增 Transformer 章节
  • 新增 词向量 章节

数学基础

  • 1.线性代数基础
    • 一、基本知识
    • 二、向量操作
    • 三、矩阵运算
    • 四、特殊函数
  • 2.概率论基础
    • 一、概率与分布
    • 二、期望和方差
    • 三、大数定律及中心极限定理
    • 五、常见概率分布
    • 六、先验分布与后验分布
    • 七、信息论
    • 八、其它
  • 3.数值计算基础
    • 一、数值稳定性
    • 二、梯度下降法
    • 三、二阶导数与海森矩阵
    • 四、牛顿法
    • 五、拟牛顿法
    • 六、 约束优化
  • 4.蒙特卡洛方法与 MCMC 采样
    • 一、蒙特卡洛方法
    • 二、马尔可夫链
    • 三、MCMC 采样

统计学习

  • 0.机器学习简介
    • 一、基本概念
    • 二、监督学习
    • 三、机器学习三要素
  • 1.线性代数基础
    • 一、线性回归
    • 二、广义线性模型
    • 三、对数几率回归
    • 四、线性判别分析
    • 五、感知机
  • 2.支持向量机
    • 一、 线性可分支持向量机
    • 二、线性支持向量机
    • 三、非线性支持向量机
    • 四、支持向量回归
    • 五、SVDD
    • 六、序列最小最优化方法
    • 七、其它讨论
  • 3.朴素贝叶斯
    • 一、贝叶斯定理
    • 二、朴素贝叶斯法
    • 三、半朴素贝叶斯分类器
    • 四、其它讨论
  • 4.决策树
    • 一、 原理
    • 二、 特征选择
    • 三、生成算法
    • 四、剪枝算法
    • 五、CART 树
    • 六、连续值、缺失值处理
    • 七、多变量决策树
  • 5.knn
    • 一、k 近邻算法
    • 二、 kd树
  • 6.集成学习
    • 一、集成学习误差
    • 二、 Boosting
    • 三、Bagging
    • 四、集成策略
    • 五、多样性分析
  • 7.梯度提升树
    • 一、提升树
    • 二、xgboost
    • 三、LightGBM
  • 8.特征工程
    • 一、缺失值处理
    • 二、特征编码
    • 三、数据标准化、正则化
    • 四、特征选择
    • 五、稀疏表示和字典学习
    • 六、多类分类问题
    • 七、类别不平衡问题
  • 9.模型评估
    • 一、泛化能力
    • 二、过拟合、欠拟合
    • 三、偏差方差分解
    • 四、参数估计准则
    • 五、泛化能力评估
    • 六、训练集、验证集、测试集
    • 七、性能度量
    • 七、超参数调节
    • 八、传统机器学习的挑战
  • 10.降维
    • 一、维度灾难
    • 二、主成分分析 PCA
    • 三、核化线性降维 KPCA
    • 四、流形学习
    • 五、度量学习
    • 六、概率PCA
    • 七、独立成分分析
    • 八、t-SNE
    • 九、LargeVis
  • 11.聚类
    • 一、性能度量
    • 二、原型聚类
    • 三、密度聚类
    • 四、层次聚类
    • 五、谱聚类
  • 12.半监督学习
    • 半监督学习
    • 一、生成式半监督学习方法
    • 二、半监督 SVM
    • 三、图半监督学习
    • 四、基于分歧的方法
    • 五、半监督聚类
    • 六、 总结
  • 13.EM算法
    • 一、示例
    • 二、EM算法原理
    • 三、EM算法与高斯混合模型
    • 四、EM 算法与 kmeans 模型
    • 五、EM 算法的推广
  • 14.最大熵算法
    • 一、最大熵模型MEM
    • 二、分类任务最大熵模型
    • 三、最大熵的学习
  • 15.隐马尔可夫模型
    • 一、隐马尔可夫模型HMM
    • 二、 HMM 基本问题
    • 三、 最大熵马尔科夫模型MEMM
  • 16.概率图与条件随机场
    • 一、概率图模型
    • 二、贝叶斯网络
    • 三、马尔可夫随机场
    • 四、条件随机场 CRF
  • 17.边际概率推断
    • 一、精确推断
    • 二、近似推断
  • 18.主题模型
    • 一、Unigram Model
    • 二、pLSA Model
    • 三、LDA Model
    • 四、LDA优化
    • 五、sentence-LDA
    • 六、模型讨论

深度学习

  • 0.深度学习简介
    • 一、 介绍
    • 二、历史
  • 1.深度前馈神经网络
    • 一、基础
    • 二、损失函数
    • 三、输出单元
    • 四、隐单元
    • 五、结构设计
    • 六、历史小记
  • 2.反向传播算法
    • 一、链式法则
    • 二、反向传播
    • 三、算法实现
    • 四、自动微分
  • 3.正则化
    • 一、参数范数正则化
    • 二、显式约束正则化
    • 三、数据集增强
    • 四、噪声鲁棒性
    • 五、早停
    • 六、参数相对约束
    • 七、dropout
    • 八、对抗训练
    • 九、正切传播算法
    • 十、其它相关
  • 4.最优化基础
    • 一、代价函数
    • 二、神经网络最优化挑战
    • 三、 mini-batch
    • 四、基本优化算法
    • 五、自适应学习率算法
    • 六、二阶近似方法
    • 七、共轭梯度法
    • 八、优化策略和元算法
    • 九、参数初始化策略
    • 十、Normalization
    • 十一、Online Learning
  • 5.卷积神经网络
    • 一、卷积运算
    • 二、卷积层、池化层
    • 三、基本卷积的变体
    • 四、应用
    • 五、 历史和现状
  • 5.1.CNN之图片分类
    • 一、LeNet
    • 二、AlexNet
    • 三、VGG-Net
    • 四、Inception
    • 五、ResNet
    • 六、ResNet 变种
    • 七、SENet
    • 八、 DenseNet
    • 九、小型网络
  • 6.循环神经网络
    • 一、RNN计算图
    • 二、训练算法
    • 三、长期依赖
    • 四、常见 RNN 变种
  • 7.Transformer
    • 一、Transformer
    • 二、Universal Transformer
    • 三、Transformer XL
    • 四、GPT
    • 五、BERT
    • 六、ERNIE
    • 七、XLNet
    • 八、MT-DNN
    • 九、BERT 扩展
  • 8.词向量
    • 一、向量空间模型 VSM
    • 二、LSA
    • 三、Word2Vec
    • 四、GloVe
    • 五、FastText
    • 六、ELMo
    • 七、变种
  • 9.传统 CTR 预估模型
    • 一、LR 模型
    • 二、POLY2 模型
    • 三、FM模型
    • 四、FFM模型
    • 五、GBDT-LR 模型
    • 六、FTRL模型
    • 七、LS-PLM 模型
  • 10.神经网络 CTR 预估模型
    • 一、DSSM
    • 二、FNN
    • 三、PNN
    • 四、DeepCrossing
    • 五、Wide&Deep
    • 六、DCN
    • 七、DeepFM
    • 八、NFM
    • 九、AFM
    • 十、xDeepFM
    • 十一、ESMM
    • 十二、DIN
    • 十三、DIEN
    • 十四、DSIN
    • 十五、DICM
  • 11.Graph Embedding
    • 一、DeepWalk
    • 二、LINE
    • 三、GraRep
    • 四、TADW
    • 五、DNGR
    • 六、Node2Vec
    • 七、WALKLETS
    • 八、SDNE
    • 九、CANE
    • 十、EOE
    • 十一、metapath2vec
    • 十二、GraphGAN
    • 十三、struc2vec
    • 十四、GraphWave
    • 十五、NetMF
    • 十六、NetSMF
  • 12.Graph Embedding(续)
    • 十七、PTE
    • 十八、HNE
    • 十九、AANE
  • 13.图神经网络
    • 一、GNN
    • 二、GCN
    • 三、Fast GCN
    • 四、Semi-Supervised GCN
    • 五、分子指纹GCN
    • 六、GGS-NN
    • 七、PATCHY-SAN
    • 八、GraphSage
    • 九、GAT
  • 14.传统推荐算法
    • 一、Tapestry
    • 二、GroupLens
    • 三、ItemBased CF
    • 四、Amazon I-2-I CF
    • 五、Slope One Rating-Based CF
    • 六、Bipartite Network Projection
    • 七、Implicit Feedback CF
    • 八、PMF
    • 九、SVD++
    • 十、MMMF 扩展
    • 十一、OCCF
    • 十二、BPR
  • 15.工程实践指导原则
    • 一、性能度量
    • 二、默认的基准模型
    • 三、决定是否收集更多数据
    • 四、选择超参数
    • 五、调试策略
    • 六、示例:数字识别系统
    • 七、数据预处理
    • 八、变量初始化
    • 九、结构设计

工具

CRF

  • CRF++
    • 一、安装
    • 二、使用
    • 三、Python接口
    • 四、常见错误

lightgbm

xgboost

  • xgboost使用指南
    • 一、安装
    • 二、调参
    • 三、外存计算
    • 四、 GPU计算
    • 五、单调约束
    • 六、 DART booster
    • 七、Python API

scikit-learn

  • 1.预处理
    • 一、特征处理
    • 二、特征选择
    • 三、字典学习
    • 四、PipeLine
  • 2.降维
    • 一、PCA
    • 二、MDS
    • 三、Isomap
    • 四、LocallyLinearEmbedding
    • 五、FA
    • 六、FastICA
    • 七、t-SNE
  • 3.监督学习模型
    • 一、线性模型
    • 二、支持向量机
    • 三、贝叶斯模型
    • 四、决策树
    • 五、KNN
    • 六 、AdaBoost
    • 七、梯度提升树
    • 八、Random Forest
  • 4.模型评估
    • 一、数据集切分
    • 二、性能度量
    • 三、验证曲线 && 学习曲线
    • 四、超参数优化
  • 5.聚类模型
    • 一、KMeans
    • 二、DBSCAN
    • 三、MeanShift
    • 四、AgglomerativeClustering
    • 五、BIRCH
    • 六、GaussianMixture
    • 七、SpectralClustering
  • 6.半监督学习模型
    • 一、标签传播算法
  • 7.隐马尔可夫模型
    • 一、Hmmlearn
    • 二、seqlearn

spark

  • 1.基础概念
    • 一、核心概念
    • 二、安装和使用
    • 三、 pyspark shell
    • 四、独立应用
  • 2.rdd使用
    • 一、概述
    • 二、创建 RDD
    • 三、转换操作
    • 四、行动操作
    • 五、其他方法和属性
    • 六、持久化
    • 七、分区
    • 八、混洗
  • 3.dataframe使用
    • 一、概述
    • 二、SparkSession
    • 三、DataFrame 创建
    • 四、 DataFrame 保存
    • 五、DataFrame
    • 六、Row
    • 七、Column
    • 八、GroupedData
    • 九、functions
  • 4.累加器和广播变量
    • 一、累加器
    • 二、广播变量

numpy

  • numpy 使用指南
    • 一、 ndarray
    • 二、 ufunc 函数
    • 三、 函数库
    • 四、数组的存储和加载

scipy

  • scipy 使用指南
    • 一、 常数和特殊函数
    • 二、 拟合与优化
    • 三、线性代数
    • 四、 统计
    • 五、数值积分
    • 六、 稀疏矩阵

matplotlib

  • matplotlib 使用指南
    • 一、matplotlib配置
    • 二、 matplotlib Artist
    • 三、基本概念
    • 四、布局
    • 五、 Path
    • 六、 path effect
    • 七、坐标变换
    • 八、 3D 绘图
    • 九、技巧

pandas

  • pandas 使用指南
    • 一、基本数据结构
    • 二、 内部数据结构
    • 三、 下标存取
    • 四、 运算
    • 五、变换
    • 六、数据清洗
    • 七、 字符串操作
    • 八、 聚合与分组
    • 九、时间序列
    • 十、 DataFrame 绘图
    • 十一、 移动窗口函数
    • 十二、 数据加载和保存