机器学习方法
机器学习方法
Section titled “机器学习方法”[机器学习 (Machine Learning - ML)] 包含各种[算法 (algorithms)]、[技术 (techniques)]和[方法论 (methodologies)],用于[构建模型 (build models)],以便从数据中学习并[解决实际问题 (solve real-world problems)]。理解 ML 方法的不同[类别 (categories)]是基础。
ML 方法的分类
Section titled “ML 方法的分类”ML 方法可以根据几个标准进行大致[分类 (categorized)]:
1. 基于人工监督
Section titled “1. 基于人工监督”这是最常见的[分类 (categorization)],基于通过数据提供给[学习算法 (learning algorithm)]的“指导”类型和数量。
a) 监督学习
Section titled “a) 监督学习”[监督学习算法 (Supervised learning algorithms)] 在[标记数据集 (labeled dataset)]上进行训练,这意味着每个[输入数据样本 (input data sample)]([特征 (features)])都与已知的正确输出([标签 (label)]或[目标 (target)])配对。
主要目标是学习一个[映射函数 (mapping function)],该函数可以根据从[训练数据 (training data)]中学到的[模式 (patterns)]来[预测 (predict)]新的、[未见过输入数据 (unseen input data)]的输出。
[类比 (Analogy)]:想象一个学生跟着老师学习,老师为练习题([输入数据 (input data)])提供[正确答案 (correct answers)]([标签 (labels)])。
设 X 为[输入特征 (input features)],y 为输出[标签 (label)]。[算法 (algorithm)]学习一个函数 f,使得 y ≈ f(X)。
示例:[线性回归 (Linear Regression)]、[逻辑回归 (Logistic Regression)]、[支持向量机 (Support Vector Machines - SVM)]、[决策树 (Decision Trees)]、[随机森林 (Random Forests)]、[神经网络 (Neural Networks)](针对特定任务)。
[监督学习 (Supervised learning)]问题通常分为:
- [分类 (Classification)]:目标是[预测 (predict)]离散的[类别 (category)]或[类标签 (class label)](例如,“垃圾邮件”或“非垃圾邮件”、“猫”或“狗”、“已批准”或“已拒绝”)。输出是[分类 (categorical)]的。
- [回归 (Regression)]:目标是[预测 (predict)]一个[连续数值 (continuous numerical value)](例如,房价、温度、股票价值)。输出是一个[实数 (real number)]。
b) 无监督学习
Section titled “b) 无监督学习”[无监督学习算法 (Unsupervised learning algorithms)] 处理[未标记数据 (unlabeled data)]。目标是在没有[预定义输出 (predefined outputs)]的情况下,[发现 (discover)]数据中隐藏的[模式 (patterns)]、[结构 (structures)]或[关系 (relationships)]。
[类比 (Analogy)]:在没有地图或向导的情况下[探索一个新城市 (Exploring a new city)],试图[识别街区 (identify neighborhoods)]([聚类 (clusters)])或[有趣的地标 (interesting landmarks)]([模式 (patterns)])。
给定[输入数据 (input data)] X,[算法 (algorithm)]试图学习其[固有的结构 (inherent structures)]。
示例:[K-Means 聚类 (K-Means Clustering)]、[层次聚类 (Hierarchical Clustering)]、[主成分分析 (Principal Component Analysis - PCA)]、[关联规则挖掘 (Association Rule Mining)](Apriori)。
常见的[无监督学习 (unsupervised learning)]任务包括:
- [聚类 (Clustering)]:根据[特征 (features)]将相似数据点[分组 (Grouping)]到一起(例如,基于[购买行为 (purchasing behavior)]的[客户细分 (customer segmentation)])。
- [关联规则挖掘 (Association Rule Mining)]:[发现 (Discovering)]描述大型[数据集 (datasets)]中项目之间[关系 (relationships)]的规则(例如,“购买尿布的顾客也倾向于购买啤酒”——[市场篮子分析 (Market Basket Analysis)])。
- [降维 (Dimensionality Reduction)]:在保留重要信息的同时[减少特征数量 (reducing the number of features)]([维度 (dimensions)]),常用于可视化或应对“[维度灾难 (curse of dimensionality)]”(例如,PCA、t-SNE、UMAP)。
- [异常检测 (Anomaly Detection)]:[识别 (Identifying)]显著[偏离常态 (deviate significantly from the norm)]的罕见或不寻常数据点(例如,[欺诈检测 (fraud detection)]、[网络入侵检测 (network intrusion detection)])。
c) 半监督学习
Section titled “c) 半监督学习”这种方法介于[监督学习 (supervised)]和[无监督学习 (unsupervised learning)]之间。它使用[少量标记数据 (small amount of labeled data)]以及[大量未标记数据 (large amount of unlabeled data)]进行训练。
当[获取标签 (acquiring labels)]成本高或耗时时,这种方法很有用。[未标记数据 (unlabeled data)]有助于更好地理解[数据结构 (data structure)]并[提高模型 (improve the model)]的[泛化能力 (generalization)]。
常见方法:
- 在[标记数据 (labeled data)]上[训练初始模型 (train an initial model)],用它[预测未标记数据 (predict labels for unlabeled data)]的[标签 (labels)]([伪标签 (pseudo-labeling)]),将[可信度高的预测 (confident predictions)]添加到标记集中,然后[重新训练 (retrain)]。
- 对所有数据使用[无监督技术 (unsupervised techniques)](如[聚类 (clustering)]),为[标记数据 (labeled data)]上的[监督学习过程 (supervised learning process)]提供信息。
d) 强化学习 (RL)
Section titled “d) 强化学习 (RL)”[强化学习 (Reinforcement Learning - RL)] 涉及训练一个“[智能体 (agent)]”,使其在“[环境 (environment)]”中做出[顺序决策 (sequential decisions)],以[最大化累积“奖励” (maximize a cumulative ‘reward’)]。[智能体 (agent)]通过[试错学习 (learns through trial and error)],根据其[动作 (actions)][接收反馈 (receiving feedback)]([奖励或惩罚 (rewards or penalties)])。
[类比 (Analogy)]:使用[零食 (treats)]([奖励 (rewards)])训练狗的好行为,使用[责骂 (scolding)]([惩罚 (penalties)])训练狗的坏行为。
RL 的[关键步骤 (key steps)]:
- [智能体 (agent)]观察[环境 (environment)]的当前[状态 (state)]。
- [智能体 (agent)]根据其当前的[策略 (policy)](战略)选择一个[动作 (action)]。
- [环境 (environment)]转换到[新状态 (new state)],并向[智能体 (agent)]提供[奖励或惩罚 (reward or penalty)]。
- [智能体 (agent)]根据收到的奖励/惩罚更新其[策略 (policy)],以[改进未来的动作 (improve future actions)]。
- 这个[循环重复 (cycle repeats)],直到[智能体 (agent)]学习到[最优策略 (optimal policy)]。
示例:[游戏对战 (Game playing)](AlphaGo)、[机器人控制 (robotics control)]、[资源管理 (resource management)]、[推荐系统 (recommendation systems)]。
2. 基于学习能力 / 数据处理
Section titled “2. 基于学习能力 / 数据处理”这种[分类 (categorization)]与模型如何随时间从数据中学习有关。
a) 批量学习 (离线学习)
Section titled “a) 批量学习 (离线学习)”模型[一次性使用整个可用训练数据集进行训练 (trained using the entire available training dataset at once)]。它学习完成后,即可部署。要从新数据中学习,必须使用完整的(更新后的)[数据集 (dataset)]从头开始重新训练模型。
特点:
- 需要预先准备所有数据。
- 对于[大型数据集 (large datasets)],[计算开销大 (computationally expensive)]且耗时。
- 更易于实现和管理。
- 适用于底层[数据分布 (data distribution)]不经常变化的情况。
b) 在线学习 (增量学习)
Section titled “b) 在线学习 (增量学习)”模型通过按顺序或小批量(mini-batches)向其输入数据实例进行[增量训练 (trained incrementally)]。它在[新数据到达 (new data arrives)]时[持续更新其参数 (continuously updates its parameters)]。
特点:
- 适应随时间变化的数据[模式 (patterns)]。
- 适用于[流数据 (streaming data)]或[内存无法容纳 (don’t fit in memory)]的[超大型数据集 (very large datasets)]。
- 需要[仔细管理学习率 (careful management of the learning rate)],以[避免过快遗忘 (avoid forgetting)]过去的知识。
- 对[数据顺序 (order of data)]敏感。
3. 基于泛化方法
Section titled “3. 基于泛化方法”这种[分类 (categorization)]与模型如何对[新数据 (new data)]进行[预测 (predictions)]有关。
a) 基于实例的学习
Section titled “a) 基于实例的学习”这些方法在训练期间不[构建显式模型 (build an explicit model)]。相反,它们[存储训练实例 (store the training instances)],并使用[相似性度量 (similarity measure)]将[新数据 (new data)]与[存储的实例 (stored instances)]进行比较来[进行预测 (make predictions)]。
[类比 (Analogy)]:当被问及一种新的动物时,你将其与[你已经知道的动物 (animals you already know)]进行比较。
示例:[K近邻 (K-Nearest Neighbors - KNN)]。
特点:
- [学习阶段 (Learning phase)]快(只需[存储数据 (storing data)])。
- [预测阶段 (Prediction phase)]可能较慢,特别是对于[大型数据集 (large datasets)],因为它需要将新实例与所有[存储的实例 (stored instances)]进行比较。
- 需要定义合适的[距离/相似度量 (distance/similarity metric)]。
b) 基于模型的学习
Section titled “b) 基于模型的学习”这些方法从[训练数据 (training data)]中[构建显式模型 (build an explicit model)]。该模型[总结 (summarizes)]数据中发现的[模式 (patterns)]。使用这个学习到的模型对[新数据 (new data)]进行[预测 (Predictions)]。
[类比 (Analogy)]:学习许多示例后,你[创建一个通用规则或公式 (create a general rule or formula)]来[解决新问题 (solve new problems)]。
示例:[线性回归 (Linear Regression)]、[逻辑回归 (Logistic Regression)]、SVM、[决策树 (Decision Trees)]、[神经网络 (Neural Networks)]。
特点:
- [训练阶段 (Training phase)]涉及寻找[最优模型参数 (optimal model parameters)](可能耗时)。
- [预测阶段 (Prediction phase)]通常很快,因为它涉及[应用学习到的模型 (applying the learned model)]。
- 目标是创建一个能[很好地泛化到未见过数据 (generalizes well to unseen data)]的模型。
总结:适用于机器学习的任务
Section titled “总结:适用于机器学习的任务”[机器学习 (Machine learning)] 擅长处理各种任务,这些任务通常根据[学习范式 (learning paradigm)]进行[分类 (categorized)]:
- [监督学习 (Supervised Learning)]:当[标记数据 (labeled data)]可用时,用于[预测任务 (prediction tasks)]。示例:[图像分类 (Image classification)]、[垃圾邮件检测 (spam detection)]、[医学诊断 (medical diagnosis)]([分类 (classification)]);[预测房价 (predicting house prices)]、[股票市场趋势 (stock market trends)]、[天气预报 (weather forecasting)]([回归 (regression)])。
- [无监督学习 (Unsupervised Learning)]:用于在[未标记数据 (unlabeled data)]中[寻找模式和结构 (finding patterns and structure)]。示例:[客户细分 (Customer segmentation)]、[异常检测 (anomaly detection)]、[主题建模 (topic modeling)]、用于可视化的[降维 (dimensionality reduction)]。
- [半监督学习 (Semi-supervised Learning)]:用于[标记数据 (labeled data)]稀缺但[未标记数据 (unlabeled data)]丰富的情况。示例:[网页分类 (Web page classification)]、[转录成本高 (transcription is expensive)]的[语音识别 (speech recognition)]。
- [强化学习 (Reinforcement Learning)]:用于通过[交互和反馈 (interaction and feedback)]学习[最优行为 (optimal behaviors)]。示例:[游戏 AI (Game AI)]、[机器人控制 (robotics control)]、[优化广告投放 (optimizing ad placements)]、[动态定价 (dynamic pricing)]。
选择正确的 ML 方法很大程度上取决于[问题 (problem)]、[可用数据 (available data)]([标记/未标记 (labeled/unlabeled)]、大小、类型)以及[期望的结果 (desired outcome)]。