#机器学习是什么
机器学习(Machine Learning) 是人工智能的一个分支,它使计算机系统能够从数据中学习,而无需明确的编程指令。
核心思想:让机器像人类一样,通过经验(数据)来改进自己的行为。
#为什么需要机器学习?
在传统编程中,我们编写规则来处理数据:
# 传统编程:人来定义规则
if temperature > 30:
weather = "hot"
else:
weather = "cold"
而在机器学习中,我们让机器从数据中自动发现规则:
# 机器学习:机器自己学习规则
model = LinearRegression()
model.fit(temperature_data, weather_labels)
# 机器自动学到了温度和天气之间的关系
#机器学习的三大范式
#1. 监督学习(Supervised Learning)
- 训练数据包含输入和对应的正确输出(标签)
- 目标:学习从输入到输出的映射关系
- 典型任务:
- 分类(Classification):输出是离散的类别(如垃圾邮件 / 非垃圾邮件)
- 回归(Regression):输出是连续的数值(如预测房价)
#2. 无监督学习(Unsupervised Learning)
- 训练数据只有输入,没有标签
- 目标:发现数据中的隐藏结构
- 典型任务:
- 聚类(Clustering):将相似的数据点分组
- 降维(Dimensionality Reduction):将高维数据可视化
#3. 强化学习(Reinforcement Learning)
- Agent 通过与环境交互学习
- 通过奖励信号(正/负反馈)指导学习
- 典型应用:游戏 AI、机器人控制、推荐系统
#机器学习的工作流程
收集数据 → 数据预处理 → 选择模型 → 训练 → 评估 → 部署
↓ ↓ ↓ ↓ ↓ ↓
数据源 清洗/转换 算法选择 学习参数 测试集 实际应用
#关键步骤说明
- 数据收集:收集与任务相关的样本数据
- 数据清洗:处理缺失值、异常值、格式不统一的问题
- 特征工程:选择和变换特征(这是最重要的步骤之一)
- 模型选择:根据数据特点和任务选择合适的算法
- 模型训练:用训练集数据让模型学习
- 模型评估:用测试集评估模型的泛化能力
- 模型部署:将模型集成到实际系统中
#李宏毅老师课程的特色
李宏毅老师的课程以清晰易懂著称:
- ✅ 数学公式推导详细,每一步都讲清楚
- ✅ 代码实现完整,使用 PyTorch 框架
- ✅ 可视化丰富,帮助理解复杂概念
- ✅ 循序渐进,从简单到复杂
下一节:线性回归 →