Machine Learning (ML)
机器学习 (ML) 是 AI 的一个分支,系统从数据中学习模式,而不是依赖手工编写的规则。了解它的工作原理、主要类型和用途。
机器学习(ML)是人工智能(AI)的一个分支,计算机系统从数据中学习规律,而不是遵循程序员编写的规则。基于 ML 构建的垃圾邮件过滤器不会被告知哪些词表示垃圾邮件;它会分析数千封标记为垃圾邮件或非垃圾邮件的邮件,自行学习其中的规律,然后将这些规律应用于新邮件。Arthur Samuel 于 1959 年在编写一个通过自我对弈不断改进的跳棋程序时创造了这个术语,Tom Mitchell 后来给出了一个广为引用的定义:如果程序在某项任务上的表现(由某种指标衡量)随着经验积累而提升,就可以说它学会了这项任务。
机器学习的工作原理#
ML 模型是一个带有可调参数的函数,参数可以是线性回归中的少量系数,也可以是神经网络中的数百万个权重。训练过程会寻找合适的参数值,使模型在训练数据上的预测尽可能准确,通常通过最小化损失函数来实现。真正的考验是泛化能力:之后要用模型从未见过的留出验证数据和测试数据评估模型。如果模型在训练数据上得分很高、在新数据上表现却很差,就说明模型过拟合了:它记住了样本,而没有学到其中的底层规律。
这个 scikit-learn 示例训练一个随机森林来识别手写数字,并在训练时留出的数字上评估模型:
from sklearn.datasets import load_digits
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split
# 1,797 labeled 8x8 images of handwritten digits bundled with scikit-learn
X, y = load_digits(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=0)
# Fit learns decision rules from the labeled examples; no rules are hand-written
model = RandomForestClassifier(random_state=0)
model.fit(X_train, y_train)
# Score on digits the model never saw during training
print(f"Test accuracy: {model.score(X_test, y_test):.1%}")模型在 450 个测试数字上达到了 97.6% 的准确率,而它只利用另外 1,347 个带标签样本学到的规律进行预测。
机器学习的类型#
- 监督学习:从带标签的样本中学习,每个输入都与正确输出配对。分类、回归和目标检测都属于监督学习任务。
- 无监督学习:从未标注数据中发现结构,例如通过 k-means 聚类找到的客户群体。
- 自监督学习:从数据中自行生成标签,例如预测句子中的下一个词或图像中被遮挡的图块。大型语言模型(LLM)和其他基础模型就是通过这种方式进行预训练的。
- 强化学习:智能体通过反复试错来学习,在环境中采取行动并调整行为,以最大化奖励。
机器学习与 AI、深度学习和数据科学的比较#
机器学习位于 AI 和深度学习(DL)之间:AI 的广泛目标是构建智能机器;深度学习则是 ML 的一个子集,使用多层神经网络,并从原始数据中自行学习特征:
随机森林和 XGBoost 等传统算法在表格数据上依然表现出色,因为价格、年龄等每一列都已经是有意义的特征。数据科学是一个相邻领域,它将 ML 作为众多工具之一,并结合统计学、数据可视化和领域分析来回答数据问题。
机器学习生命周期#
投入生产的模型永远不会一劳永逸。团队会收集并标注数据,训练并验证模型,部署模型,再监控模型的预测结果;如果准确率不理想或现实世界发生变化,团队就会重新处理数据。这个循环就是机器学习运维(MLOps)的研究内容:
对于计算机视觉,Ultralytics Platform 将整个流程整合到一个平台中:团队可以上传并标注数据集,在云端 GPU上训练 Ultralytics YOLO26 模型,部署模型,并监控模型在生产环境中的表现。
实际应用#
- 计算机视觉:模型可检测生产线上的缺陷、读取医学扫描图像,并为自动驾驶车辆提供引导。
- 自然语言处理(NLP):翻译、搜索、聊天机器人和垃圾邮件过滤都依赖文本训练模型。
- 推荐系统:流媒体和电子商务平台会根据用户过去的行为,为每位用户排列内容。
- 时间序列预测:模型根据历史数据预测产品需求、能源负载和设备故障。
- 异常检测:银行使用基于历史欺诈数据训练的模型,在几毫秒内为每笔银行卡交易评分,并标记看起来异常的交易。










