1. 什么是机器学习?
机器学习 (ML) 是人工智能 (AI) 的一个子集。传统的编程是基于规则的(输入数据 + 规则 = 输出),而机器学习是基于数据的(输入数据 + 输出 = 规则)。
核心定义: 计算机系统利用数据通过算法来提高性能,而无需进行显式的编程指令。
基本术语
- 特征: 输入数据的属性(例如:房子的面积、位置)。
- 标签: 我们要预测的结果(例如:房价)。
- 模型: 经过训练后,能够将特征映射到标签的数学函数。
- 损失函数: 衡量模型预测值与真实值之间差距的指标。我们的目标是最小化这个损失。
2. 机器学习的三大类型
监督学习
数据带有“标签”(正确答案)。就像老师教学生,告诉模型什么是对的,什么是错的。
应用:垃圾邮件分类、房价预测。无监督学习
数据没有标签。模型需要自己去发现数据中的结构或模式。就像让学生自己整理杂乱的图书馆。
应用:客户细分、异常检测。强化学习
通过与环境互动,获得奖励或惩罚来学习策略。就像训练小狗,做对了给骨头,做错了没有。
应用:围棋 AI、机器人控制。3. 机器学习项目工作流程
一个标准的机器学习项目通常包含以下步骤:
- 问题定义: 明确我们要解决什么问题?(回归还是分类?)
- 数据收集: 获取原始数据。
- 数据预处理: 清洗数据、处理缺失值、特征归一化。
- 模型训练: 将数据喂给算法进行学习。
- 模型评估: 使用测试集验证模型性能。
- 参数调优: 改进模型,使其效果更好。
- 部署: 将模型应用到实际生产环境中。
4. 监督学习详解
监督学习主要分为两类任务:
4.1 回归
预测连续的数值。例如:预测明天的气温、股票价格。
y = wx + b
最著名的算法是 线性回归。
# Python 示例: 简单的线性回归思路
def predict(x, w, b):
return w * x + b
# 这里的 w 是权重 (斜率),b 是 偏置 (截距)
# 训练的过程就是调整 w 和 b,使误差最小。
4.2 分类
预测离散的类别。例如:一张图片是“猫”还是“狗”;邮件是“垃圾邮件”还是“正常邮件”。
常见算法包括:
- 逻辑回归: 虽然名字叫回归,但用于二分类问题(输出概率)。
- 决策树: 像一系列“如果-那么”的规则。
- 支持向量机 (SVM): 寻找最佳的分界线将不同类别分开。
5. 无监督学习详解
没有标签的情况下,我们主要做两件事:
5.1 聚类
将相似的数据点归为一组。
- K-均值算法: 指定 K 个中心点,将周围的数据归类,然后不断移动中心点直到稳定。
5.2 降维
在保留数据主要信息的前提下,减少数据的特征数量。这有助于数据可视化和加速计算。
- PCA (主成分分析): 最常用的降维算法。
6. 神经网络与深度学习
神经网络是一种受人类大脑神经元启发的模型。它是深度学习的基础。
为什么叫“深度”?
当神经网络有很多“隐藏层”时,我们就称之为深度神经网络。层数越多,模型能提取的特征就越抽象、越复杂。
当神经网络有很多“隐藏层”时,我们就称之为深度神经网络。层数越多,模型能提取的特征就越抽象、越复杂。
关键概念
- 输入层: 接收原始数据。
- 隐藏层: 进行数学运算和特征提取(这是“黑盒”部分)。
- 输出层: 输出最终结果。
- 激活函数: (如 ReLU, Sigmoid) 给神经元引入非线性因素,使其能解决复杂问题。
- 反向传播: 计算误差后,从后往前调整网络中每一层的权重。
7. 常见问题与挑战
| 问题 | 描述 | 解决方案 |
|---|---|---|
| 过拟合 | 模型在训练集上表现完美,但在新数据上表现很差。就像死记硬背了考题,考试时稍微变题就不会了。 | 增加数据量、简化模型、使用正则化。 |
| 欠拟合 | 模型太简单,连训练集的数据特征都学不到。就像没复习好,连简单的题也不会。 | 增加模型复杂度、增加新的特征。 |
| 数据偏差 | 训练数据不代表真实世界。 | 收集更多样化、更具代表性的数据。 |
8. 总结与下一步
恭喜你完成了机器学习速成课程!你现在了解了:
- ML 是从数据中学习规则的系统。
- 监督学习(预测) vs 无监督学习(发现模式)。
- 构建模型的标准流程。
- 过拟合与欠拟合的区别。
推荐学习资源
- 吴恩达: Coursera 上的 Machine Learning 专项课程。
- Scikit-learn: Python 中最经典的机器学习库,适合动手实践。
- Fast.ai: 自顶向下的深度学习课程。