AI是怎么"学习"的?一篇看懂机器学习
🌟系列:从0到1学AI(入门系列)第 2 篇
🎯适合人群:知道AI是什么,想了解AI如何学习的朋友
⏱️阅读时长:约 12 分钟
前言
上一篇我们搞清楚了"AI是什么"。这一篇,我们来回答一个更有意思的问题:
AI 是怎么"变聪明"的?它跟人类学习有什么区别?
这就涉及到 AI 的核心技术——机器学习(Machine Learning)。
一、什么是机器学习?
先看一个对比:
传统编程(规则驱动): 人类写规则 + 输入数据 → 输出结果 程序员 │ ↓ 手写 if/else 规则 程序 │ 输入:邮件内容 │ ↓ 输出:垃圾/正常 问题:规则太多写不完,遇到新情况直接失效机器学习(数据驱动): 输入数据 + 正确答案 → 机器自动学出规则 大量邮件样本 (已标记:垃圾/正常) │ ↓ 机器反复学习 模型 │ 输入:新邮件内容 │ ↓ 输出:垃圾/正常 ✅ 自动判断💡核心区别:传统编程是"人写规则",机器学习是"机器自己找规律"。
二、机器学习的三大类型
机器学习根据学习方式,分为三大类:
机器学习 ├── 监督学习(Supervised Learning) │ └─ 有老师带,数据有标签 │ ├── 无监督学习(Unsupervised Learning) │ └─ 自学成才,数据无标签 │ └── 强化学习(Reinforcement Learning) └─ 在试错中学习,有奖惩机制2.1 监督学习——有老师带
类比:就像学生做练习题,每道题都有答案,学生对照答案不断纠错。
训练数据示例: 图片① 🐱 → 标签:猫 图片② 🐶 → 标签:狗 图片③ 🐱 → 标签:猫 图片④ 🐶 → 标签:狗 ... × 100万张 ↓ 喂给模型 模型学到:猫的特征(尖耳朵、竖瞳孔...) 狗的特征(垂耳、圆眼睛...) 测试:给一张新图片 🐱 输出:猫(置信度 98%)✅常见应用:
| 任务 | 输入 | 输出 |
|---|---|---|
| 图像分类 | 图片 | 类别标签 |
| 垃圾邮件过滤 | 邮件文本 | 垃圾/正常 |
| 房价预测 | 房屋特征 | 价格 |
| 医学诊断 | CT图像 | 正常/异常 |
2.2 无监督学习——自学成才
类比:把一堆杂乱的物品丢给你,让你自己分类,没有任何提示。
输入:1000个用户的购物行为数据 (没有任何标签) ↓ 机器自动分析 机器发现了3类用户: 群体A:爱买3C数码,消费高 群体B:爱买母婴用品,频次高 群体C:爱买食品零食,客单低 用途:精准营销、个性化推荐常见应用:
- 聚类分析:用户分群、商品分类
- 异常检测:发现信用卡欺诈
- 降维压缩:图片压缩、特征提取
- 主题建模:从文章中自动发现主题
2.3 强化学习——在试错中成长
类比:就像训练宠物——做对了给奖励🍖,做错了给惩罚👋,它慢慢学会什么该做什么不该做。
强化学习的基本框架: 环境(游戏/现实) │ ↓ 当前状态 智能体(AI) │ ↓ 执行动作 环境给出反馈 │ ┌────┴────┐ 奖励+ 惩罚- │ 智能体更新策略 │ 循环直到策略最优 ✅最著名的案例:
- AlphaGo:通过与自己对弈数百万局,学会了超越人类的围棋策略
- 游戏AI:OpenAI Five 在《Dota2》中击败职业选手
- 自动驾驶:在模拟环境中学习驾驶策略
三、机器学习的完整流程
一个完整的机器学习项目,要经历以下步骤:
第1步:收集数据 ┌─────────────────────────────────┐ │ 原始数据来源: │ │ · 用户行为日志 │ │ · 图片/视频/音频文件 │ │ · 数据库记录 │ │ · 爬取的网页内容 │ └─────────────────────────────────┘ ↓ 第2步:数据清洗 删除重复、填补缺失、统一格式 ↓ 第3步:特征工程 从原始数据中提取有用的"特征" (例:从房屋数据中提取:面积、楼层、朝向) ↓ 第4步:选择模型 决策树 / 随机森林 / 神经网络 / ... ↓ 第5步:训练模型 用训练集数据让模型学习 ↓ 第6步:评估模型 用测试集验证准确率、召回率等指标 ↓ 第7步:调优部署 优化超参数 → 上线服务四、一个超简单的例子:用Python体验机器学习
以下是一个最简单的"鸢尾花分类"示例,感受一下机器学习的代码是什么样的:
# 1. 导入必要库 from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.tree import DecisionTreeClassifier from sklearn.metrics import accuracy_score # 2. 加载数据集(内置鸢尾花数据,150条记录) iris = load_iris() X, y = iris.data, iris.target # 3. 切分训练集和测试集(80%训练,20%测试) X_train, X_test, y_train, y_test = train_test_split( X, y, test_size=0.2, random_state=42 ) # 4. 创建决策树模型 model = DecisionTreeClassifier() # 5. 训练模型(一行代码!) model.fit(X_train, y_train) # 6. 预测 + 评估 y_pred = model.predict(X_test) print(f"准确率:{accuracy_score(y_test, y_pred) * 100:.1f}%") # 输出:准确率:96.7%📌 核心就这一行:
model.fit(X_train, y_train)
这就是"喂数据、让机器学习"的过程!
五、机器学习 vs 深度学习 vs AI 的关系
很多人分不清这三个词,来看一张包含图:
┌─────────────────────────────────────────┐ │ 人工智能(AI) │ │ ┌────────────────────────────────┐ │ │ │ 机器学习(ML) │ │ │ │ ┌─────────────────────────┐ │ │ │ │ │ 深度学习(DL) │ │ │ │ │ │ ┌──────────────────┐ │ │ │ │ │ │ │ 大语言模型(LLM) │ │ │ │ │ │ │ │ ChatGPT / 文心 │ │ │ │ │ │ │ └──────────────────┘ │ │ │ │ │ └─────────────────────────┘ │ │ │ └────────────────────────────────┘ │ └─────────────────────────────────────────┘ AI ⊃ 机器学习 ⊃ 深度学习 ⊃ 大语言模型- AI:大概念,包含所有让机器智能的技术
- 机器学习:AI 的主流实现方式
- 深度学习:机器学习的一个子集,用神经网络
- 大语言模型:深度学习的应用,专注语言理解
六、机器学习的局限性
机器学习不是万能的,了解它的局限很重要:
| 局限 | 说明 |
|---|---|
| 需要大量数据 | 数据越少,效果越差 |
| 黑盒问题 | 难以解释为什么做出某个决策 |
| 对分布敏感 | 训练数据和真实数据差异大时会失效 |
| 计算资源消耗大 | 训练大模型需要昂贵的GPU集群 |
| 无法处理全新问题 | 遇到训练中没见过的类型会出错 |
总结
| 类型 | 特点 | 典型应用 |
|---|---|---|
| 监督学习 | 有标签数据,学习映射关系 | 图像识别、垃圾邮件 |
| 无监督学习 | 无标签数据,自动发现结构 | 用户分群、异常检测 |
| 强化学习 | 试错+奖惩,学习最优策略 | 游戏AI、自动驾驶 |
下一篇预告
📖A-03:问答式AI vs 智能体(Agent):它们有什么不同?
ChatGPT 只能回答问题,而 AI Agent 能自己"做事"——这两者到底有什么本质区别?
作者:Johnny2004 | 专栏:AI专栏 | 系列:从0到1学AI