机器学习&第一章

一、机器学习任务的类型

机器学习本质就是让计算机像人一样从经验(数据)中学习规律,不用我们手动写死规则。根据 "学习时有没有标准答案",分为三大类:

1.3.1 监督学习(有 "老师" 带的学习)

你可以把它想象成上课做题:老师给你一堆 "题目 + 标准答案",你做完后对照答案改错题,慢慢就学会了这类题的解法,以后遇到新题就能做对。

1.3.1.1 核心基础概念(一个一个讲透)

专业名词 人话翻译 生活例子
样本(实例) 单个的 "题目" 一道数学题、一张动物图片、一条你的网购记录
样本的输入 题目的 "已知条件" 图片的像素点(比如这张图里有黄色和黑色条纹)、网购记录里的 "商品名、价格、购买时间"
样本的标签 题目的 "标准答案" 图片的答案是 "老虎"、网购记录的答案是 "你有没有退货(退 / 没退)"
分类 标准答案是分类别、可数的(比如猫 / 狗、是 / 否),任务就是猜类别 猜这张图是猫还是狗、判断一封邮件是垃圾邮件还是正常邮件、诊断病人有没有得流感
回归 标准答案是连续的数字、可计算的(比如房价、温度),任务就是猜具体数值 预测一套 100㎡的房子卖多少钱、预测明天的气温是多少度、预测这家店下个月的销量
输入空间(特征空间) 所有 "已知条件" 的集合 所有可能的 "房子面积、地段、楼层" 组合,凑在一起就是输入空间
输出空间 所有 "标准答案" 的集合 分类任务里是 {猫,狗},回归任务里是所有可能的房价(比如 0~1000 万)

1.3.1.2 核心学习概念(零基础也能懂)

专业名词 人话翻译 生活例子
假设空间 模型的 "所有可能解题思路" 预测房价时,模型可能猜 "房价 = 面积 ×1 万",也可能猜 "房价 = 面积 ×1 万 + 地段费 50 万",这些所有猜法的总和就是假设空间
目标函数 真实的 "解题公式"(我们永远不知道全貌) 现实中房价的真实计算逻辑(比如受面积、地段、学区、房龄等 100 个因素影响),模型的目标就是无限接近这个公式
损失函数 衡量 "模型猜的答案" 和 "真实答案" 差多远(单个题目) 模型猜房价是 200 万,真实房价是 220 万,损失就是 20 万。损失越小,猜得越准
代价函数 所有 "题目" 的损失平均值(衡量模型整体猜得准不准) 做了 100 道房价预测题,把每道题的损失加起来除以 100,就是代价函数。训练模型就是让这个值尽量变小
正则项 给模型加的 "紧箍咒",防止模型 "耍小聪明" 模型为了答对训练题,硬记 "某套 100㎡学区房卖 300 万",但换一套非学区房就不会了。正则项会惩罚这种 "死记硬背" 的行为
超参数 训练前我们手动设置的 "学习规则",不是模型自己学的 好比你做题前决定 "每天做 10 道题"(这是你手动定的,不是做题学来的)。比如决策树的 "最大深度"、学习率(模型每次改错题的幅度)
训练误差(经验误差) 模型在 "上课做的题"(训练集)上的错题率 你做课本例题的正确率是 90%,这个正确率对应的错误率就是训练误差
泛化误差 模型在 "新题"(没见过的数据)上的错题率 你期末考试的正确率对应的错误率,这才是真正衡量你学没学会的指标
过拟合 模型 "死记硬背" 例题,例题做得全对,考试全错 你把课本例题的答案全背下来,课堂小测满分,但期末考试遇到新题就不会了
欠拟合 模型太笨,连例题都学不会,例题和考试都错很多 你上课没听懂,例题做不对,考试自然也考不好
奥卡姆剃刀原则 选模型的 "懒人法则":如果两个模型效果差不多,选简单的那个 两个模型都能预测房价,一个模型公式是 "房价 = 面积 ×1 万",另一个是 "房价 = 面积 ×1 万 + 地段费 - 房龄费 + 税费...",选简单的第一个

1.3.2 无监督学习(自学成才,没有老师)

相当于你自己整理书架 :没人告诉你哪本书该放哪一类,你根据书的 "封面颜色、厚度、书名",自己把相同类型的书摆在一起 ------ 这就是无监督学习,没有标准答案,自己找规律

训练数据只有 "输入"(书的特征),没有 "标签"(该放哪类)。常见任务:

  • 降维:把复杂信息变简单。比如你有 "身高、体重、腰围、臀围"4 个数据,其实可以合并成 1 个 "体型指数",信息没丢,但更简单好记。
  • 聚类:把相似的东西归为一类。比如电商平台根据你的购买记录,把你和 "喜欢买口红的人" 归为一类,和 "喜欢买球鞋的人" 分开。
  • 概率密度估计:判断数据正不正常。比如班里同学身高大多在 1.6~1.8 米,突然来个 2.5 米的,模型会判断这个数据 "不正常"。

补充:强化学习(试错学习,像玩游戏)

你没列,但提一下更完整:相当于玩闯关游戏。你操控角色往前走,碰到陷阱就掉血(惩罚),吃到金币就加分(奖励)。玩多了,你就知道 "走左边有金币,走右边有陷阱",慢慢就学会了通关策略。

  • 例子:AlphaGo 下围棋(赢了就是奖励)、自动驾驶(安全开车就是奖励,撞车就是惩罚)。

二、1.4 机器学习项目的一般步骤(像做实验一样)

零基础可以把它理解成 **"做一道菜" 的步骤 **,从买菜到上桌,每一步都不能少。预处理和特征工程是最关键的两步,比选什么模型重要得多

  1. 明确业务目标(确定做什么菜)

    • 先想清楚:你要解决什么问题?是 "判断图片是不是猫"(分类),还是 "预测蛋糕卖多少钱"(回归)?
    • 定好 "好不好吃" 的标准:比如分类任务看 "猜对的比例",回归任务看 "猜的价格和真实价格差多少"。
  2. 数据收集(买菜)

    • 收集和目标相关的数据:比如预测蛋糕价格,要收集 "蛋糕尺寸、奶油种类、水果用量、品牌" 等数据。
    • 注意:别收集没用的数据(比如蛋糕店老板的生日),也别偷别人的隐私数据。
  3. 数据预处理(洗菜切菜)

    • 原始数据都是 "脏的",必须处理干净才能给模型用:
      • 处理缺失值:比如有的蛋糕数据里 "奶油种类" 是空的,要么填个最常见的(比如 "原味奶油"),要么删掉这条数据。
      • 处理异常值:比如蛋糕尺寸填了 "100 米"(明显错了),改成合理的数值或者删掉。
      • 数据格式转换:把 "是 / 否" 改成 "1/0",把日期(比如 "2025-10-01")改成模型能看懂的数字。
      • 划分数据集:把数据分成 3 份:训练集(上课的例题)、验证集(课后作业,用来调参)、测试集(期末考试,用来最终打分),常见比例 7:1:2。
  4. 特征工程(调味,最关键!)

    • 相当于 "给菜调味",调得好,菜才好吃。核心是 "把数据变得更有用":
      • 特征选择:删掉没用的特征(比如蛋糕店老板的生日)。
      • 特征变换:把数据标准化。比如蛋糕尺寸有 "厘米" 有 "英寸",统一换成厘米;把数值太大的(比如价格 1000 元)缩小到 0~1 之间,方便模型计算。
      • 特征构造:自己造新特征。比如用 "蛋糕价格 ÷ 尺寸" 算出 "每厘米价格",这个新特征可能比单独的价格或尺寸更有用。
      • 特征降维:比如有 10 个特征,发现其实 3 个就够了,删掉多余的,减少计算量。
  5. 模型选择与训练(炒菜)

    • 选一个合适的 "锅":分类任务选逻辑回归、决策树;回归任务选线性回归。
    • 用训练集 "炒菜":把处理好的数据喂给模型,模型会自己调整参数,让代价函数越来越小(猜得越来越准)。
  6. 模型评估与调优(尝味道,加盐)

    • 用验证集 "尝味道":如果模型在验证集上表现不好(比如过拟合),就调整超参数(比如给决策树减深度)。
    • 用测试集 "最终打分":调优完后,用测试集看模型的真实水平,这个分数不能作弊(不能用测试集调参)。
  7. 模型部署与监控(上菜 + 售后)

    • 把模型放到线上:比如做成一个 APP,用户上传蛋糕信息,就能自动预测价格。
    • 持续监控:如果过了半年,蛋糕原材料涨价了,模型预测的价格不准了,就要重新收集数据、训练模型。

三、1.5 模型评估(怎么判断模型好不好)

1.5.1 验证和测试的区别 + 常见验证方法

很多人会把验证集和测试集搞混,用考试的例子就能分清:

概念 作用 类比考试 注意事项
验证集 调优超参数、选模型、判断过拟合 课后作业:你做完作业,根据错题调整学习方法,再做新的作业 可以反复用(比如换不同的学习方法做不同的作业)
测试集 最终评估模型的真实水平 期末考试:只能考一次,考完就打分,不能再改学习方法 绝对不能用来调参!否则就是 "作弊",分数不准

常见的验证方法(怎么划分训练集和验证集)

  1. 留出法

    • 人话:把数据直接分成 "训练集 + 验证集",比如 7:3。
    • 例子:100 道题,70 道当例题,30 道当作业。
    • 优点:简单快;缺点:分不好就不准(比如 30 道作业全是难题)。
    • 改进:分层抽样------ 保证作业里的难题、简单题比例和例题一样。
  2. 交叉验证法(常用!)

    • 人话:把数据分成 K 份,比如 5 份。每次用 4 份当例题,1 份当作业,重复 5 次,最后取 5 次分数的平均值。
    • 例子:100 道题分成 5 份,每份 20 道。第 1 次用 1-4 份当例题,第 5 份当作业;第 2 次用 1、3-5 份当例题,第 2 份当作业......
    • 优点:分数更稳定,不会因为一次分不好就不准;缺点:要训练 5 次模型,计算量稍大。
    • 行业常用:5 折或 10 折交叉验证。

1.5.2 超参数调优(给模型 "调闹钟")

1. 什么是超参数?

  • 专业说法:训练前手动设置的参数,不是模型训练出来的
  • 人话:相当于你早上起床的闹钟时间,是你睡前手动定的,不是起床后才定的。
  • 举例子(一看就懂):
模型 超参数例子 人话解释
决策树 最大深度 限制树最多长几层,防止模型 "想太多" 导致过拟合
随机森林 树的数量 用多少棵树一起投票预测,树太少不准,太多费时间
逻辑回归 正则项系数 控制 "紧箍咒" 的力度,系数越大,惩罚越重
K-Means 聚类 聚类数量 K 要把数据分成几类,比如 K=3 就是分成 3 类

2. 超参数调优的两种方法

  1. 网格搜索

    • 人话:把所有超参数的候选值列出来,挨个试,选效果最好的。
    • 例子:决策树的最大深度候选值是 [3,5,7],叶子节点最少样本数候选值是 [5,10],那就试 3×2=6 种组合,看哪种组合在验证集上分数最高。
    • 优点:能找到候选值里的最优解;缺点:候选值越多,越费时间(比如 3 个超参数,每个有 5 个候选值,就要试 125 次)。
  2. 随机搜索

    • 人话:不挨个试,而是在候选值范围内随机选组合,比如选 20 组,看哪种最好。
    • 例子:上面的 6 种组合,随机选 4 组来试,节省时间。
    • 优点:快!超参数多的时候,效果和网格搜索差不多;缺点:有可能错过最优组合,但概率不大。
相关推荐
实战项目3 小时前
基于PyTorch的卷积神经网络花卉识别系统
人工智能·pytorch·cnn
shangjian0073 小时前
AI大模型-机器学习-算法-线性回归
人工智能·算法·机器学习
2301_797312263 小时前
学习java37天
开发语言·python
zuozewei3 小时前
零基础 | 一文速通 AI 大模型常见术语
人工智能
说私域3 小时前
云零售时代的S2B模式重构:AI智能名片与链动2+1模式的赋能路径
人工智能·重构·零售
清风吹过3 小时前
Birch聚类算法
论文阅读·深度学习·神经网络·机器学习
WJSKad12353 小时前
果园树干识别与定位_faster-rcnn_x101-32x4d_fpn_1x_coco改进实践
python
深蓝电商API3 小时前
Scrapy中间件实战:自定义请求头和代理池实现
python·scrapy·中间件
2301_800256113 小时前
B+树:数据库的基石 R树:空间数据的索引专家 四叉树:空间划分的网格大师
数据结构·数据库·b树·机器学习·postgresql·r-tree