10万+字超硬核 机器学习 笔记(面试八股)_机器学习面试八股文
大家好,这里是好评笔记,公主号:Goodnote,专栏文章私信限时Free。
本文用10w+字总结面试中可能用到的机器学习八股和常用算法,包括感知机(Perceptron)、多层感知机(MLP, Multi-Layer Perceptron)、支持向量机(SVM, Support Vector Machine)、K 最近邻(KNN, K-Nearest Neighbors)、朴素贝叶斯(Naive Bayes)、决策树(Decision Tree)、随机森林(Random Forest)、Bagging、Boosting、GBDT、XGBoos、LightGBM、K 均值聚类(K-means Clustering)、高斯混合模型(GMM)、降维算法。正片开始!!!

机器学习笔记——损失函数、代价函数和KL散度
机器学习笔记——特征工程、正则化、强化学习
机器学习笔记——30种常见机器学习算法简要汇总
机器学习笔记——感知机、多层感知机(MLP)、支持向量机(SVM)
机器学习笔记——KNN(K-Nearest Neighbors,K 近邻算法)
机器学习笔记——朴素贝叶斯算法
机器学习笔记——决策树
机器学习笔记——集成学习、Bagging(随机森林)、Boosting(AdaBoost、GBDT、XGBoost、LightGBM)、Stacking
机器学习笔记——Boosting中常用算法(GBDT、XGBoost、LightGBM)迭代路径
机器学习笔记——聚类算法(Kmeans、GMM-使用EM优化)
机器学习笔记——降维
文章目录
- 损失函数
- 一、回归问题中的损失函数
- 1. 均方误差(Mean Squared Error, MSE)
- 2. 平均绝对误差(Mean Absolute Error, MAE)
- 3. 对数余弦损失(Log-Cosh Loss)
- 4. Huber 损失(Huber Loss)
- 5. 平均平方对数误差(Mean Squared Logarithmic Error, MSLE)
- 总结
- 二、分类问题中的损失函数
- 1. 0-1 损失(0-1 Loss)
- 2. 对数损失(Log Loss)或交叉熵损失(Cross-Entropy Loss)
- 3. Focal 损失(Focal Loss)
- 4. Hinge 损失(合页损失)
- 5. Kullback-Leibler 散度(KL Divergence)
- 总结
- 代价函数
- 1. 回归问题中的代价函数
- 2. 分类问题中的代价函数
- 损失函数和代价函数的选择
- 1. 如何选择适当的损失函数?
- 2. 损失函数和代价函数的优化
- KL散度
- 描述
- KL散度的特点
- KL散度的常见应用场景
- 1. 变分自编码器(Variational Autoencoder, VAE)中的损失函数
- 2. 分类问题中的交叉熵损失
- 3. 强化学习中的策略优化
- 4. 生成模型中的正则化项
- 5. 多任务学习中的权衡损失
- 6. T-SNE
- 总结
- 特征工程(Fzeature Engineering)
- 1. 特征提取(Feature Extraction)
- 手工特征提取(Manual Feature Extraction):
- 自动特征提取(Automated Feature Extraction):
- 2. 特征选择(Feature Selection)
- 1. 过滤法(Filter Methods)
- 2. 包裹法(Wrapper Methods)
- 3. 嵌入法(Embedded Methods)
- 4. 其他方法
- 5. 选择方法的应用场景
- 总结
- 3. 特征构造(Feature Construction)
- 4. 特征缩放
- 4.1 归一化(Normalization)
- 4.2 标准化(Standardization)
- BN、LN、IN、GN
- 正则化
- 强化学习(Reinforcement Learning)
- 1. Q 学习(Q-Learning)
- Q 学习原理
- 应用场景
- 优缺点
- 2. 深度 Q 网络(DQN, Deep Q Network)
- DQN 原理
- 应用场景
- 优缺点
- 常见算法总结
- 监督学习算法(Supervised Learning)
- 回归算法(Regression Algorithms)
- 分类算法(Classification Algorithms)
- 无监督学习算法(Unsupervised Learning)
- 聚类算法(Clustering Algorithms)
- 降维算法(Dimensionality Reduction Algorithms)
- 线性降维算法(Linear Dimensionality Reduction Algorithms)
- 非线性降维算法(Nonlinear Dimensionality Reduction Algorithms)
- 强化学习算法(Reinforcement Learning)
- 集成学习算法(Ensemble Learning)
- 算法详细介绍
- 1. 监督学习算法(Supervised Learning)
- 1.1 回归算法(Regression Algorithms)
- 1.2 分类算法(Classification Algorithms)
- 2. 无监督学习算法(Unsupervised Learning)
- 2.1 聚类算法(Clustering Algorithms)
- 2.2 降维算法(Dimensionality Reduction Algorithms)
- 3. 半监督学习算法(Semi-Supervised Learning)
- 4. 强化学习算法(Reinforcement Learning)
- 5. 集成学习算法(Ensemble Learning)
- 感知机(Perceptron)
- 模型定义
- 训练过程
- 优势和局限性
- 感知机的扩展
- 多层感知机(MLP, Multilayer Perceptron)
- 定义
- 工作原理
- 优势和局限性
- 支持向量机(SVM, Support Vector Machine)
- 定义
- 工作原理
- 核函数(Kernel Function)
- 工作原理
- 类型
- 如何选择
- 软间隔与硬间隔(Soft Margin & Hard Margin)
- 损失函数
- 硬间隔 SVM 损失函数
- 软间隔 SVM 损失函数(Soft Margin SVM)
- 合页损失(Hinge Loss)
- 总结
- 工作流程
- SVM多分类
- 一对多(One-vs-Rest, OvR)
- 一对一(One-vs-One, OvO)
- 优势与局限性
- 对比
- 总结对比
- 基本概念
- 模型结构
- 学习方式和优化
- 适用性和能力
- 优缺点
- 应用场景
- KNN
- 思想
- 工作原理
- K 值选择
- 交叉验证
- 类似K-means的肘部法
- 经验选择法/奇数优先
- 加权 KNN
- 距离度量
- 欧氏距离(Euclidean Distance)
- 曼哈顿距离(Manhattan Distance)
- 切比雪夫距离(Chebyshev Distance)
- 闵可夫斯基距离(Minkowski Distance)
- 余弦相似度(Cosine Similarity)
- 总结
- 维度灾难
- 1. 降维技术
- 主成分分析(PCA, Principal Component Analysis)
- 线性判别分析(LDA, Linear Discriminant Analysis)
- T-SNE(t-Distributed Stochastic Neighbor Embedding)
- 2. 特征选择(Feature Selection)
- 过滤法(Filter Methods)
- 包裹法(Wrapper Methods)
- 嵌入法(Embedded Methods)
- 3. 使用合适的距离度量
- 马氏距离(Mahalanobis Distance)
- 余弦相似度(Cosine Similarity)
- 数据结构来加速最近邻搜索
- KD 树与 Ball 树的比较
- KD 树(KD-Tree)
- 工作原理
- 特点
- Ball 树(Ball Tree)
- 工作原理
- 特点
- KNN优缺点
- 贝叶斯
- 贝叶斯定理(Bayes\' Theorem)
- 朴素贝叶斯分类器(Naive Bayes Classifier)
- 计算步骤
- 优势
- 局限性
- 朴素贝叶斯的三种常见变体
- 1. 高斯朴素贝叶斯(Gaussian Naive Bayes)
- 2. 多项式朴素贝叶斯(Multinomial Naive Bayes)
- 3. 伯努利朴素贝叶斯(Bernoulli Naive Bayes)
- 总结
- 零概率问题
- 总结
- 拉普拉斯平滑(Laplace Smoothing)
- 加权平滑(Weighted Smoothing)
- 狄利克雷平滑(Dirichlet Smoothing)
- 决策树(Decision Tree)
- 决策树(Decision Tree)概述
- 基本概念
- 任务类型
- 分类任务
- 回归任务
- 分类和回归中的差异
- 决策树算法的具体实现
- 比较总结
- ID3(Iterative Dichotomiser 3)
- 原理
- 主要特点
- 信息熵(Entropy)
- 信息增益(Information Gain)
- 算法流程
- 优点
- 缺点
- C4.5
- 原理
- 主要特点
- 信息增益比(Information Gain Ratio)
- 固有信息(Intrinsic Information)
- 处理连续型变量
- 处理缺失值
- 算法流程
- 优点
- 缺点
- CART(Classification and Regression Tree)
- 原理
- 主要特点
- 分类任务基尼指数(Gini Index)
- 回归任务均方误差(Mean Squared Error, MSE)
- 分类树算法流程
- 回归树算法流程
- 优点
- 缺点
- 决策树的过拟合和欠拟合
- 解决欠拟合
- 解决过拟合
- 剪枝(Pruning)
- 预剪枝(Pre-pruning)
- 后剪枝(Post-pruning)
- C4.5 的错误率估计剪枝操作
- CART 的成本复杂度剪枝操作
- 总结
- 集成学习(Ensemble Learning)概述
- Bagging 和 Boosting 的对比
- Bagging 算法
- 什么是 Bagging?
- Bagging 的主要特点
- 常用的 Bagging 算法
- 随机森林(Random Forest)
- Boosting 算法
- 什么是 Boosting?
- Boosting 的主要特点
- 常用的 Boosting 算法
- AdaBoost(Adaptive Boosting)
- GB(Gradient Boosting)
- GBDT(Gradient Boosting Decision Tree)
- GB和GBDT的关系
- 损失函数
- 回归问题
- 分类问题
- XGBoost(Extreme Gradient Boosting)
- 1. 目标函数及正则化项
- 损失函数 L ( y i , y ^ i ) L(y_i, \\hat{y}_i) L(yi,y^i)
- 正则化项 Ω ( f m ) \\Omega(f_m) Ω(fm)
- 2. 二阶导数优化
- 3. 分裂增益计算
- 分裂增益和ID3的信息增益的区别
- 4. 并行化
- LightGBM(Light Gradient Boosting Machine)
- 直方分裂算法(Histogram-based Splitting)
- 基于叶子生长的策略(Leaf-wise Growth Strategy)
- GBDT、XGBoost、LightGBM迭代路径
- Stacking 算法
- 基本思想和流程
- 实现步骤
- 步骤 1:选择基学习器和元学习器
- 步骤 2:准备第一层输入数据(K 折交叉验证)
- 步骤 3:训练元学习器
- 步骤 4:生成最终预测
- 优点和缺点
- 优点
- 缺点
- 变体
- 实际实现中的注意事项
- 总结
- XGBoost 相对 GBDT 的改进
- 引入正则化项,防止过拟合
- 损失函数 L ( y i , y ^ i ) L(y_i, \\hat{y}_i) L(yi,y^i)
- 正则化项 Ω ( f m ) \\Omega(f_m) Ω(fm)
- 使用二阶导数信息,加速收敛
- 一阶导数与二阶导数的区别
- 二阶导数的优势
- 1. 更准确的步长选择,避免过大或过小的更新
- 2. 更快速的收敛
- 3. 更稳定的模型优化
- 支持列采样和行采样,提升模型的泛化能力
- 行采样(Row Subsampling)
- 列采样(Column Subsampling)
- 行采样与列采样的结合
- 优势总结
- 并行化处理,提升训练速度
- 结合特征分片与直方分裂的并行化优势
- LightGBM 和 XGBoost 中直方分裂的差异
- 支持缺失值处理和稀疏特征优化
- 提供早停机制和学习率衰减,控制训练过程
- LightGBM 相较于 XGBoost 的优势
- 训练速度
- 内存效率
- 类别特征支持
- 扩展性和分布式训练支持
- 早停机制和自动调参
- 过拟合控制
- 总结
- 聚类
- K-Means
- 工作原理
- 特点
- K-Medoids
- 工作原理
- 特点
- Mini-Batch K-Means
- 工作原理
- 特点
- K-Means++(重要)
- 工作原理
- 特点
- 总结
- K的选值
- 1. 肘部法则(Elbow Method)
- 2. 平均轮廓系数(Silhouette Score)
- 3. Gap Statistic(间隙统计量)
- 4. Davies-Bouldin 指数
- 5. 信息准则(如 BIC/AIC)
- 总结
- 高斯混合模型(GMM, Gaussian Mixture Model)
- 公式
- 优势
- EM算法(Expectation-Maximization Algorithm)
- 使用EM训练GMM(进行参数估计)
- EM算法的步骤
- EM算法的特点
- GMM 和 EM 的关系
- GMM 与 K-Means 的比较
- 其他聚类算法
- 层次聚类(Hierarchical Clustering)
- 1. 凝聚式层次聚类(Agglomerative Hierarchical Clustering)
- 2. 分裂式层次聚类(Divisive Hierarchical Clustering)
- 优缺点
- DBSCAN(Density-Based Spatial Clustering of Applications with Noise)
- 核心概念
- 参数
- 工作流程
- 特点
- 优缺点
- 参数选择
- 降维方法概述
- 线性降维方法
- 定义
- 特点
- 常见方法
- PCA(Principal Component Analysis,主成分分析)
- 原理
- 步骤
- 降维后的数据
- 优点
- 缺点
- 应用场景
- LDA(Linear Discriminant Analysis,线性判别分析)
- 原理
- 步骤
- 降维后的数据
- 优点
- 缺点
- 应用场景
- SVD(Singular Value Decomposition,奇异值分解)——LORA使用
- 原理
- 步骤
- 降维后的数据
- 各矩阵含义
- 优点
- 缺点
- 应用场景
- 比较总结
- 非线性降维方法
- 总结:不同核方法的核函数选择策略
- 定义
- 特点
- 常见方法
- Kernel PCA(核主成分分析, Kernel Principal Component Analysis)
- 原理
- 步骤
- 优点
- 缺点
- 应用场景
- NDA(Nonlinear Discriminant An


