机器学习算法速查手册
2026/8/3 17:38:25 · 更新于 2026/8/3 18:04:39 · 来源
AI 翻译于 2026/8/3 18:29:32 · 使用 Qwen3.6 35B (fast, default)
一份全面的参考资料,涵盖机器学习算法的四大主要类别,并为每种常用方法提供描述、适用目的及实际应用场景。
机器学习算法是一套规则,帮助计算机系统在没有针对每个任务进行显式编程的情况下学习和做出决策。它们分析数据以识别模式和隐藏关系,然后利用这些信息对新数据进行预测并解决问题。机器学习算法可以识别图像、根据历史数据预测未来结果,并将相似的项目分组。此外,随着从更多数据中学习,它们的能力也会随之不断提升。
机器学习算法可分为四类主要类型:
- 监督学习
- 无监督学习
- 强化学习
- 半监督学习
1. 监督学习算法
监督学习涉及在带标签的数据集上训练模型,其中每个训练样本都与正确的输出标签配对。目标是从这些输入-输出配对中学习,使模型能够对新数据和未见过的数据预测标签或数值。
监督学习包括两大类任务:
- 回归: 预测连续的数值。
- 分类: 预测类别或类标签。
| 算法 | 描述 | 目的 | 最佳应用场景 |
|---|---|---|---|
| 线性回归 | 基于输入特征预测连续输出。 | 预测连续的数值结果。 | 房价预测;销售或营收预测。 |
| 逻辑回归 | 预测输入属于特定类别的概率。 | 对数据进行分类,常用于二分类任务。 | 垃圾邮件检测;客户购买预测。 |
| 决策树 | 根据输入特征将数据划分为子集。 | 简化和解释决策过程。 | 客户细分;疾病诊断。 |
| 随机森林 | 通过集成学习结合多个决策树。 | 提高预测准确性并减少过拟合。 | 信用评分;股价预测。 |
| 支持向量机(SVM) | 寻找能最好地分隔各类别的超平面。 | 最大化类别之间的间隔。 | 图像分类;手写识别。 |
| k近邻算法(k-NN) | 基于与已知数据点的距离进行预测。 | 利用邻近观测值进行分类或预测。 | 推荐系统;入侵检测。 |
| 朴素贝叶斯 | 利用概率关系及特征独立性假设对数据进行分类。 | 执行高效概率分类。 | 垃圾邮件过滤;情感分析。 |
| 集成学习 | 结合多个模型(如决策树)的预测结果。 | 提高模型的准确性和鲁棒性。 | 使用多模型的欺诈检测;大规模预测任务。 |
2. 无监督学习算法
无监督学习使用未标注的数据进行训练。其目标是在输入数据中发现隐藏的模式或结构。常见的无监督任务包括聚类、降维、可视化以及关联规则挖掘。
| 算法 | 描述 | 目的 | 最佳应用场景 |
|---|---|---|---|
| k-Means聚类 | 基于最近均值将数据划分为 k 个簇。 | 将相似的数据点分组到一起。 | 市场细分;文档聚类。 |
| 层次聚类 | 使用凝聚或分裂方法构建簇的层次结构。 | 创建嵌套的相关观测值组。 | 基因数据分析;社交网络分析。 |
| 主成分分析 (PCA) | 将数据转换到具有较低维度的新坐标系中。 | 在保留重要变异的同时降低维度。 | 图像压缩;特征提取。 |
| t分布随机邻域嵌入 (t-SNE) | 使用非线性降维技术在较低维度中表示高维数据。 | 可视化高维数据。 | 簇可视化;探索性模式分析。 |
| Apriori算法 | 识别频繁项集并推导关联规则。 | 发现大型数据集中物品之间的关系。 | 购物篮分析;推荐系统。 |
3. 强化学习算法
强化学习 (RL) 通过奖励期望行为、惩罚不期望行为,训练智能体做出一系列决策。智能体通过与环境交互来学习最大化其累积回报的策略。
| 算法 | 描述 | 目的 | 最佳应用场景 |
|---|---|---|---|
| Q学习 | 学习在特定状态下采取行动的价值,通常使用Q表。 | 学习环境中的最优动作。 | 游戏博弈;机器人技术。 |
| 深度Q网络 (DQN) | 将Q学习与深度神经网络结合。 | 处理复杂或高维的状态空间。 | 自动驾驶研究;复杂策略游戏。 |
| Actor-Critic(演员-评论家)方法 | 结合基于策略和基于价值的方法。 | 在支持探索的同时平衡动作选择与价值估计。 | 即时战略游戏;动态资源分配。 |
4. 半监督学习算法
半监督学习是一种混合方法,结合使用少量标注数据与大量未标注数据。标注示例引导学习过程,而未标注示例帮助模型识别数据集中的更广泛模式。 当对所有可用数据进行标注成本高昂、耗时过长或难以实施,或者模型必须在有限标注示例的情况下快速适应时,这种方法尤为适用。 例如,罕见病的数据往往有限且标注成本高昂。半监督模型可以从大量未标注的医疗数据中学习,同时利用少量标注案例作为指导。 常见的半监督学习算法包括:
- 自我训练: 在标注数据上训练的模型对置信度高的无标注样本赋予伪标签,然后使用扩充后的数据集重新训练。
- 协同训练: 通过向训练数据中添加置信度高、预测正确的无标注样本,多个模型(或多组特征视图)相互教学。
快速选择指南
| 数据和目标 | 学习类型 | 示例 |
|---|---|---|
| 标注数据;预测数值型结果 | 监督学习—回归 | 预测收入。 |
| 标注数据;预测类别 | 监督学习—分类 | 检测垃圾邮件。 |
| 无标注数据;发现群组或模式 | 无监督学习 | 客户细分。 |
| 带奖励和惩罚的序贯决策 | 强化学习 | 训练游戏AI代理。 |
| 少量标注数据集 + 大量无标注数据集 | 半监督学习 | 用有限专家标注对医学图像进行分类。 |
学习地图
Learning Map: Machine Learning Algorithms
Stage 1 — Foundations
- What is machine learning and how does it differ from traditional programming?
- Supervised vs. unsupervised vs. reinforcement vs. semi-supervised learning (the big picture)
Stage 2 — Supervised Learning
- Regression algorithms (linear regression, polynomial regression)
- Classification algorithms (logistic regression, decision trees, SVM, k-NN, Naive Bayes)
- Ensemble methods (random forest, boosting)
Stage 3 — Unsupervised Learning
- Clustering (k-means, hierarchical clustering)
- Dimensionality reduction (PCA, t-SNE)
- Association rules (Apriori)
Stage 4 — Reinforcement & Semi-Supervised Learning
- Core concepts of reinforcement learning and how agents learn through rewards
- Hybrid approach: leveraging labeled + unlabeled data in semi-supervised settings
Stage 5 — Practice & Comparison
- Mapping problem types to the right algorithm family
- Hands-on implementation with scikit-learn
动手实践——分步指南
- Install Python (3.9+) and a code environment such as Jupyter Notebook or VS Code.
- Install scikit-learn: run
pip install scikit-learn jupyter numpy pandas matplotlibin your terminal. - Import the libraries: open a notebook and add
import numpy as np, import pandas as pd, import matplotlib.pyplot as plt, from sklearn.datasets import make_classification, make_regressionat the top. - Supervised — Classification: generate sample data via
X, y = make_classification(n_samples=300, n_features=4), fit a Decision Tree withfrom sklearn.tree import DecisionTreeClassifier; clf = DecisionTreeClassifier(); clf.fit(X, y), and evaluate withclf.score(X, y). - Supervised — Regression: generate regression data via
X_r, y_r = make_regression(n_samples=300, n_features=2), fit a Linear Regression model, and plot predictions on a scatter chart. - Unsupervised — Clustering: use
from sklearn.cluster import KMeansfollowed byKMeans(n_clusters=3).fit_predict(X)to group unlabeled data. - Unsupervised — Dimensionality Reduction: apply PCA with
from sklearn.decomposition import PCA; pca = PCA(n_components=2); X_pca = pca.fit_transform(X_r)and plot the reduced data points. - Compare algorithm outputs side-by-side in a table or bar chart to see which methods produce stronger accuracy or clearer clusters for your sample data.
三大推荐资源
- 1Scikit-learn User Guide
The definitive Python library reference for practically implementing every major ML algorithm covered in this sheet, with clear API examples and comparison charts.
https://scikit-learn.org/stable/user_guide.html
- 2Andrew Ng's Machine Learning Specialization (Coursera)
A widely used, structured course that walks through the theory and intuition behind each algorithm family with hands-on programming exercises.
https://www.coursera.org/specializations/machine-learning-introduction
- 3Google Machine Learning Crash Course
A free, self-paced course covering all four ML categories with quick-reference visuals, interactive quizzes, and TensorFlow-based examples.
https://developers.google.com/machine-learning/crash-course
链接由 AI 推荐——使用前建议快速核实。