机器学习基础概念
机器学习的四大范式
1. 监督学习 (Supervised Learning)
核心思想:从“有标签”的数据中学习,模型的目标是学习一个从输入特征到已知标签的映射函数。
- 数据形式: 数据集由成对的
(X, y)
组成。X
: 输入特征 (Features)。y
: 对应的正确答案或目标标签 (Label)。
- 目标: 学习一个映射函数
f
,使得y = f(X)
。当有新的、未见过的数据X_new
输入时,模型能够准确预测出其对应的标签y_new
。
工作流程
- 数据收集与准备:收集大量的、带有清晰标签的训练数据。
- 模型选择:根据问题类型(分类或回归)选择合适的算法模型。
- 模型训练:将训练数据“喂”给模型。模型通过调整内部参数,使其预测结果尽可能接近真实标签。
- 损失函数 (Loss Function): 用来衡量预测值与真实值之间的差异。
- 优化算法 (Optimizer): 如梯度下降,用于调整模型参数以最小化损失函数。
- 模型评估:使用一部分未参与训练的测试数据来评估模型的性能,检验其泛化能力。
- 模型部署:将训练好的模型集成到实际应用中进行预测任务。
主要任务类型
分类 (Classification)
预测输入数据属于哪个预定义的类别(离散值)。
- 常见算法:
- 逻辑回归 (Logistic Regression)
- 支持向量机 (SVM)
- 决策树 (Decision Trees) & 随机森林 (Random Forest)
- K-近邻 (KNN)
- 朴素贝叶斯 (Naive Bayes)
- 神经网络 (Neural Networks)
回归 (Regression)
预测一个连续的数值输出。
- 常见算法:
- 线性回归 (Linear Regression)
- 多项式回归 (Polynomial Regression)
- 岭回归 (Ridge Regression) & Lasso 回归
- 支持向量回归 (SVR)
- 决策树回归
- 神经网络 (Neural Networks)
2. 无监督学习 (Unsupervised Learning)
核心思想:从“无标签”的数据中学习,模型需要自己去发现数据中潜在的结构、模式、关系或异常。
- 数据形式: 只有输入数据
X
,没有对应的标签y
。 - 目标: 理解数据本身,而不是预测某个特定输出。例如,对数据进行分组、简化或发现其中的规律。
工作流程
- 数据收集与准备:收集大量未标注的数据。
- 模型选择:根据希望从数据中发现什么(如聚类、降维)来选择合适的算法。
- 模型训练/运行:将数据输入模型,模型根据其算法逻辑自动对数据进行处理。
- 结果解释与评估:评估通常更主观,或依赖于一些间接指标(如簇内相似度、降维后的信息保留度等)。
主要任务类型
聚类 (Clustering)
将数据分成若干个组(簇),使得同一组内的数据点相似,不同组之间的数据点相异。
- 常见算法: K-均值 (K-Means), 层次聚类 (Hierarchical Clustering), DBSCAN, 高斯混合模型 (GMM)。
降维 (Dimensionality Reduction)
在保留数据主要信息的前提下,减少数据的特征数量(维度)。
- 作用:
- 解决“维度灾难”问题。
- 数据可视化。
- 提高后续模型训练效率。
- 去除数据噪声。
- 常见算法: 主成分分析 (PCA), t-SNE, 线性判别分析 (LDA), 奇异值分解 (SVD)。
关联规则学习 (Association Rule Learning)
发现数据项之间的有趣关系,通常形式为“如果A出现,那么B也可能出现”。
- 常见算法: Apriori, FP-Growth。
异常检测 (Anomaly Detection)
识别出与数据集中大部分数据显著不同的异常点或离群点。
- 常见算法: 基于统计的方法, 孤立森林 (Isolation Forest), One-Class SVM。
3. 半监督学习 (Semi-supervised Learning)
核心思想:结合并利用少量有标签数据和大量无标签数据进行学习,以期获得比单独使用任何一种数据更好的性能。
- 数据形式:
- 一小部分有标签数据:
(X_labeled, y_labeled)
- 大量无标签数据:
X_unlabeled
- 一小部分有标签数据:
- 目标: 学习一个映射函数
f
,本质上是希望无标签数据中蕴含的分布信息能帮助改进仅由有标签数据训练得到的模型。
工作流程
- 数据收集与准备:收集少量有标签数据和大量无标签数据。
- 建立核心假设:半监督学习的成功依赖于一些关键假设,如:
- 平滑性/聚类假设:相似的数据点应有相似的标签。
- 低密度分离假设:决策边界应穿过数据密度低的区域。
- 流形假设:高维数据实际分布在一个低维流形上。
- 模型选择与训练:选择合适的半监督算法,训练过程同时利用有标签数据进行指导,并从无标签数据中提取结构信息。
- 模型评估:通常使用一个独立的、有标签的测试集进行评估。
- 模型部署:将训练好的模型用于新的预测任务。
4. 强化学习 (Reinforcement Learning - RL)
核心思想:智能体 (Agent) 通过与环境 (Environment) 的交互来试错学习,其目标是找到一个最优策略 (Policy),以最大化长期累积的奖励 (Cumulative Reward)。
- 数据形式: 数据并非预先给定,而是在交互中动态产生的经验序列,通常是
(状态, 动作, 奖励, 下一状态)
的元组,即(S_t, A_t, R_{t+1}, S_{t+1})
。 - 目标: 学习一个策略
π(a|s)
(在状态s
下选择动作a
的规则),使得从任意初始状态开始,遵循该策略所能获得的期望累积奖励最大化。
工作流程(学习循环)
- 定义环境与智能体:明确状态空间、动作空间和奖励函数。
- 交互与学习循环:
a. 智能体观察当前环境的状态 S_t。
b. 智能体根据其当前策略
π
选择并执行一个动作 A_t。 c. 环境根据动作转换到新的状态 S_{t+1},并给予智能体一个即时奖励 R_{t+1}。 d. 智能体利用这条经验(S_t, A_t, R_{t+1}, S_{t+1})
来更新其策略。 - 迭代优化:重复步骤 2,直到策略收敛或达到预设的训练目标。
- 策略评估与使用:评估学习到的最终策略在实际任务中的表现。
主要方法类别
- 基于价值 (Value-based): 学习评估状态或状态-动作对的价值有多大。
- 例如: Q-learning, DQN
- 基于策略 (Policy-based): 直接学习从状态到动作的映射策略。
- 例如: REINFORCE, A2C, PPO
- 行动者-评论家 (Actor-Critic): 结合前两者,Actor (行动者) 负责选择动作,Critic (评论家) 负责评估动作的好坏。
- 例如: A2C, DDPG, SAC
- 基于模型 (Model-based): 学习环境的动态模型,然后利用该模型进行规划。