一张图看懂机器学习全貌附B站课程笔记整理本文基于B站UP主谦行Aling的《人工智能通识·机器学习》课程笔记整理而成。从基础概念到核心算法一文带你系统掌握机器学习入门全貌。一、什么是机器学习1.1 传统编程 vs 机器学习传统编程机器学习人把规则写清楚机器按规则执行给机器历史样本让它自动提取规律规则 数据 → 结果数据 答案 → 模型模型训练完成后就能把学到的规律用于新样本预测房价、销量、点击、欺诈、流失、图像分类……1.2 核心概念辨析样本Sample一条记录如一个用户、一套房、一封邮件特征Feature描述样本的输入变量如面积、房间数标签Label希望模型预测的答案如房价算法Algorithm学习方法如线性回归、决策树模型Model学习结果如一组权重参数、一棵决策树关键认知机器学习的第一步不是选算法而是把问题翻译成特征 → 标签的学习任务。二、学习路线与前置知识掌握一定的基础是必需的但无需成为专家。课程中涉及理论会提供 Just-in-Time 通俗讲解。2.1 数学基础三驾马车领域核心内容线性代数向量与矩阵基础概念加/减/点积/乘法概率与统计均值、方差、概率分布、贝叶斯定理微积分导数、偏导数含义及链式法则2.2 编程技能栈Python机器学习的事实标准Jupyter Notebook适合边写边跑、实验可视化的开发环境生态工具箱NumPy/Pandas—— 数据处理Matplotlib/Seaborn—— 可视化Scikit-learn—— 经典算法库三、机器学习的三大分支根据数据集是否带有标签以及学习方式的不同机器学习衍生出三大主要分支3.1 监督学习Supervised Learning数据集中的每个数据点都包含标签如已知房价机器通过学习特征与标签的关系进行预测。两大核心类型类型说明应用场景代表算法回归模型预测连续数值型数据房价预测、股票走势、温度预测线性回归、决策树、随机森林、XGBoost分类模型预测离散的分类型数据图像识别、垃圾邮件检测、客户群体划分感知器、逻辑回归、朴素贝叶斯、KNN、SVM3.2 无监督学习Unsupervised Learning数据点不包含标签机器需要自己在数据中寻找隐藏的结构或规律。目标不再是预测某个具体的数值或类别而是让模型自行探索发现数据内部隐藏的结构、模式或规律。三大方向方向核心作用案例聚类Clustering将数据集分组电商百万用户精准营销——无干预自动划分用户画像降维Dimensionality Reduction信息整合与特征重构房价预测中合并距离地铁米数学校数量商场个数为综合地段评分生成算法AIGC从数据中创造全新内容AI绘画GAN、生成虚拟人脸扩充训练集3.3 强化学习Reinforcement Learning在动态环境中通过不断试错学习如何做出更优决策以获得最大奖励。核心机制设定智能体Agent置于环境中采取动作环境反馈奖励Reward或惩罚Penalty终极目标探索出一套能获得最大长期累计奖励的策略应用场景自动驾驶、围棋AlphaGo、推荐系统、机器人控制四、线性回归——最经典的基础模型4.1 什么是线性回归线性回归Linear Regression是机器学习中最经典的模型之一它通过构建线性方程来拟合数据的内在分布规律从而实现对连续数值的预测。⚠️重要误区线性 ≠ 直线数学上线性描述的是输入与输出之间按比例变化、可叠加的关系齐次性f(ax) a * f(x)可加性f(x y) f(x) f(y)几何解释在一维空间中表现为一条直线在高维空间中表现为平面或超平面。4.2 回归一词的由来回归Regression源于统计学家弗朗西斯·高尔顿Francis Galton的经典研究。他观察到身高极高或极矮的父母其子女的身高往往会向群体平均值靠拢这一现象被称为回归均值。在机器学习领域回归的概念被进一步引申旨在通过数据建模变量间的映射关系进而实现对连续数值的预测。4.3 模型公式最简单的线性回归模型只有一个特征如房屋面积预测公式为$$\hat{y} wx b$$符号含义示例y模型的预测值预测房价x输入特征房屋面积w权重weight / 斜率面积每增加1m²房价变化多少b偏置bias / 截距当面积为0时的理论基准价这里的 w 和 b 就是模型需要学习的参数。训练模型本质上就是搜索一组最合适的 w 和 b。4.4 损失函数衡量模型准不准模型要找到最好的参数首先得回答一个问题当前这组参数到底好不好我们需要一种方法来度量预测值与真实值之间的偏差——这就是损失函数Loss Function。均方误差MSE$$MSE \frac{1}{n}\sum_{i1}^{n}(\hat{y}_i - y_i)^2$$计算步骤对每个样本计算预测值 − 真实值即误差将误差取平方消除正负号、放大较大误差对所有样本求平均一句话概括预测值离真实值越远损失越大。模型训练的目标就是让损失函数的值尽可能小。4.5 梯度下降寻找最优参数有了损失函数后我们如何找到使损失最小的 $w$ 和 $b$答案是梯度下降Gradient Descent——沿着损失函数梯度的反方向迭代更新参数$$w : w - \alpha \cdot \frac{\partial L}{\partial w}$$其中 $\alpha$ 是学习率learning rate控制每步移动的大小。学习率太大会震荡不收敛太小则收敛太慢。4.6 数据预处理在将原始数据送入模型前通常需要进行以下处理缺失值处理填充均值/中位数或直接删除标准化/归一化将不同量纲的特征缩放到同一范围如0~1或标准正态分布类别编码将文本标签转换为数值One-Hot Encoding、Label Encoding特征选择剔除无关或冗余特征4.7 过拟合与欠拟合问题表现原因解决方案欠拟合Underfitting训练集和测试集误差都很高模型过于简单增加特征、使用更复杂的模型过拟合Overfitting训练集误差低但测试集误差高模型过于复杂/噪声干扰正则化、Early Stopping、增加数据量Early Stopping早停是一种有效的防过拟合策略设置一个足够大的上限轮数让算法自己找到最佳停止点。在XGBoost等集成模型中当验证集误差连续多轮不再下降时自动停止训练。五、逻辑回归——分类问题的基石逻辑回归Logistic Regression虽然名字里带回归但实际上是一个二分类模型。它在线性回归的基础上通过Sigmoid 函数将输出映射到 $(0, 1)$ 区间表示属于正类的概率$$P(y1|x) \sigma(wx b) \frac{1}{1 e^{-(wxb)}}$$核心特点输出可解释为概率值决策边界可以是线性的可扩展到多分类Softmax广泛应用于信用评分、点击率预估等场景六、决策树——直观易懂的树形模型决策树Decision Tree是一棵从上到下的树状结构通过一系列是/否判断对数据进行划分节点一个特征的判断条件分支判断结果的走向叶节点最终的预测结果分类标签或回归值优点✅ 完全符合人类直觉结果可解释性强✅ 不需要特征缩放✅ 能处理混合类型的特征缺点❌ 容易过拟合单棵树深度不受限制时❌ 对数据中的微小变化敏感七、随机森林——多树并行的力量随机森林Random Forest采用BaggingBootstrap Aggregating策略核心思想构建多棵决策树每棵树基于不同的数据子集和特征子集进行训练最终通过投票分类或平均回归得到最终结果。特性决策树随机森林GBDT / XGBoost模型数量1棵多棵并行多棵串行集成策略无Bagging: 投票/平均Boosting: 逐步累加单棵树特点可深可浅深树低偏差高方差浅树高偏差低方差核心目标基线模型降低方差降低偏差过拟合风险高低中等sklearn 使用示例from sklearn.ensemble import RandomForestRegressor ​ rf RandomForestRegressor( n_estimators200, # 决策树数量 max_depth10, # 每棵树的最大深度 random_state42, n_jobs-1 # 用满CPU核心加速 ) rf.fit(X_train, y_train) y_pred rf.predict(X_test)八、Boosting 模型——逐步纠错的进化之路8.1 Boosting 思想与 Bagging 的并行投票不同Boosting 采用串行纠错的策略先训练一个弱模型找出错分的样本给它们更高的权重再训练下一个模型重点关注之前犯错的样本重复上述过程最终将多个弱模型加权组合8.2 GBDT / XGBoostGBDTGradient Boosting Decision Tree是 Boosting 思想与决策树的结合使用浅树高偏差低方差通过梯度下降方向指导每轮新树的学习目标逐步降低偏差XGBoost是 GBDT 的工业级优化版本更快的训练速度内置正则化防止过拟合支持缺失值自动处理丰富的超参数调优空间Early Stopping 防止过拟合from xgboost import XGBRegressor ​ xgb_es XGBRegressor( n_estimators10000, max_depth5, learning_rate0.05, early_stopping_rounds20 # 20轮不提升就停止 ) xgb_es.fit(X_train, y_train, eval_set[(X_test, y_test)], verbose50) # 最佳迭代轮数: 1186, 最佳 MSE: 0.1939验证集 RMSE 会先快速下降然后趋于平缓Early Stopping 恰好在最低点附近停下来。8.3 三大 Boosting 框架对比框架特点XGBoost经典之作文档丰富社区成熟LightGBM微软出品速度更快内存更省CatBoostYandex 出品对类别特征处理优秀实战建议XGBoost / LightGBM / CatBoost 是工业级进化的代表更快、更准、更易用。三者选其一即可应对大多数表格数据的竞赛和业务需求。九、无监督学习——聚类与降维9.1 K-Means 聚类K-Means 是最经典的无监督学习算法核心作用是将数据集分组。工作原理随机初始化 k 个中心点质心将每个样本分配给最近的质心重新计算每个簇的质心位置重复步骤2-3直到收敛应用场景电商用户分群根据购买频次、消费金额等自动划分用户画像️图像压缩从数十万种颜色中找出若干典型代表减少存储空间异常检测识别偏离常规的数据点异常访问、恶意攻击所谓聚类就是在没有标签的前提下根据样本之间的相似性将数据自动划分为若干组使得同组内样本尽可能相似不同组之间尽可能有差异。9.2 PCA 降维——化繁为简的艺术在实际业务中我们常遇到包含成百上千个特征的数据集。当特征维度不断增长时一系列问题随之而来被称为维度灾难Curse of Dimensionality问题影响计算成本急剧增长参数量变大导致严重的算力和时间开销数据稀疏性与过拟合风险高维空间数据变得稀疏所需数据量呈指数级增加距离度量失效高维空间中任意两点距离趋于相等KNN/K-Means等基于距离的算法几乎无效多重共线性问题特征之间存在强相关性如面积与房间数干扰模型评估PCA主成分分析原理PCA 通过线性变换将高维数据投影到低维空间同时保留最大信息量标准化原始数据计算协方差矩阵求解协方差矩阵的特征值和特征向量按解释方差率选取前 k 个主成分构建投影矩阵 $W$将数据变换到新空间解释方差率公式 $$\text{解释方差率} \frac{\lambda_i}{\sum_{j1}^n \lambda_j}$$一般根据累计解释方差率决定降到什么维度选出前 k 大的特征值加起来除以总和找到能超过阈值如95%的最小k。案例总方差和 372.6PC1 解释率 ≈ 89.9%PC2 解释率 ≈ 10.1%前两个成分累计解释率达100% → 选择 k2将三维数据降到二维十、机器学习全貌总结10.1 一张图看懂机器学习监督学习无监督学习强化学习有标签从输入学习到答案的映射无标签发现数据自己的结构在环境中试错用奖励塑造策略• 回归房价、销量、温度• 聚类K-Means、DBSCAN• Agent / Environment• 分类垃圾邮件、流失预测• 降维PCA、特征提取• Action / Reward / Policy• 线性/逻辑回归、树模型、KNN、SVM• 异常检测、生成建模• 游戏、机器人、推荐策略10.2 机器学习通用五步法无论什么任务机器学习项目都可以遵循以下五步流程步骤内容关键动作01定义目标与指标明确业务问题选择合适的评估指标02清洗数据与特征缺失值处理、特征工程、数据划分03训练、验证、测试划分数据集交叉验证模型选择04处理欠拟合/过拟合正则化、Early Stopping、集成学习05上线监控与重训模型部署、性能监控、定期重训一句话总结机器学习不是算法清单而是用数据解决问题的完整工程方法。十一、写在最后本文涵盖了机器学习入门的完整知识体系基础认知ML是什么与传统编程有何区别三大分支监督学习、无监督学习、强化学习核心算法线性回归 → 逻辑回归 → 决策树 → 随机森林 → XGBoost无监督技术K-Means 聚类 PCA 降维工程实践数据处理、过拟合处理、模型评估、部署流程下一步建议 动手实践用sklearn在真实数据集上跑一遍这些算法 深入阅读《统计学习方法》李、《西瓜书》周志华、《Hands-On Machine Learning》Aurélien Géron 视频学习B站搜索谦行Aling 机器学习本文内容整理自B站UP主 谦行Aling 的《人工智能通识·机器学习》系列课程笔记仅供学习交流使用。