什么是 机器学习?
机器学习(Machine Learning,ML)是人工智能的一个领域:算法围绕指定任务使用数据拟合模型,用于预测、排序、聚类或控制。它的行为由数据、目标函数、模型族和评测协议共同决定,而不是为每个输入手写一条规则。
快速了解
| 全称 | Machine Learning |
|---|---|
| 创建时间 | 1959 年由 Arthur Samuel 提出该术语 |
| 规范文档 | 官方规范 |
工作原理
机器学习把任务定义、数据、目标函数和模型族组合成一个可在未参与拟合的数据上度量的系统。它融合了统计学、优化、模式识别和计算学习理论。监督学习使用带标签样本完成分类或回归;无监督学习描述没有目标标签的数据结构;强化学习从反馈中优化序列决策。真实系统也常同时使用自监督预训练、检索、规则和人工复核。 模型能够拟合训练集,不等于它能在生产环境中可靠工作。可信的机器学习流程需要定义预测目标和分析单位,避免训练与测试泄漏,保留独立评测集,和基线比较,并报告不确定性与失败切片。数据血缘、标签政策、子群覆盖、延迟、隐私、成本、监控和回滚都是系统设计的一部分。深度学习可以从原始输入学习表示,但它只是机器学习方法之一,不能替代任务设计和严格评测。
主要特点
- 围绕明确目标函数、模型族和训练数据优化参数
- 只有评测数据代表部署分布时,才可能泛化到新样本
- 可使用特征工程、学习表示或两者结合
- 效果取决于数据质量、标签政策、覆盖范围和指标选择
- 需要防数据泄漏的评测协议来测量真实失败
- 带来延迟、成本、隐私、可解释性和持续监控的运维权衡
常见用途
- 带有人工复核与升级路径的风险评分决策支持
- 同时评估相关性、多样性和业务约束的排序与推荐
- 按相关子群度量错误率的语音、视觉和语言管线
- 通过时间切分避免未来信息泄漏的预测和异常检测
- 由合格领域专家验证输出的科学与医疗工作流
示例
Loading code...常见问题
机器学习和传统编程有什么区别?
传统编程通常直接编码决策步骤;机器学习是在指定目标下从样本中拟合参数。两者并非绝对对立:生产系统经常把学习模型与业务规则、检索、校验和人工复核结合。无论采用哪种方式,输入契约、失败处理和测试都仍需显式设计。
机器学习的三种主要类型是什么?
一种实用的高层划分是:监督学习处理带标签的预测任务,无监督学习描述或分组无标签数据,强化学习通过奖励优化序列决策。自监督、半监督和上下文多臂老虎机也很常见;应根据任务定义和可获得的反馈选择方法。
机器学习需要多少数据?
没有可靠的通用样本数。数据需求取决于任务歧义、标签噪声、特征信号、模型容量、类别不平衡、可接受误差和部署人群。应通过学习曲线估计,先建立基线,并保留独立评测集。若新增数据带来偏差、重复、泄漏或不一致标签,数据量增加也可能让系统变差。
什么是机器学习中的过拟合?
过拟合表现为训练集上的表观效果与代表性留出集上的效果存在差距。它可能来自过强的模型灵活性、反复在同一验证集调参、数据泄漏或不具代表性的切分。应使用固定评测协议并检查失败切片,再根据证据选择简化模型、正则化、改进数据或早停等措施。
学习机器学习需要哪些基础?
建议先掌握 Python、数据处理、概率统计、基础线性代数和实验设计。先学会定义目标、做防泄漏切分、比较基线、选择指标、检查误差,再使用更大的框架。scikit-learn 适合表格数据基线;任务需要自定义神经网络时再学习 PyTorch 等框架。