【机器学习|DAY01】机器学习概述

文章目录

  • 机器学习概述
    • [一、AI、ML、DL 三者的定义与关系](#一、AI、ML、DL 三者的定义与关系)
      • [1.1 人工智能(AI --- Artificial Intelligence)](#1.1 人工智能(AI — Artificial Intelligence))
      • [1.2 机器学习(ML --- Machine Learning)](#1.2 机器学习(ML — Machine Learning))
      • [1.3 深度学习(DL --- Deep Learning)](#1.3 深度学习(DL — Deep Learning))
    • 二、机器学习核心术语
      • [2.1 数据集的基本构成](#2.1 数据集的基本构成)
      • [2.2 数据集的划分](#2.2 数据集的划分)
    • 三、机器学习的四大分支
      • [3.1 有监督学习(Supervised Learning)](#3.1 有监督学习(Supervised Learning))
      • [3.2 无监督学习(Unsupervised Learning)](#3.2 无监督学习(Unsupervised Learning))
      • [3.3 半监督学习(Semi-Supervised Learning)](#3.3 半监督学习(Semi-Supervised Learning))
      • [3.4 强化学习(Reinforcement Learning)](#3.4 强化学习(Reinforcement Learning))
      • [3.5 四大分支对比](#3.5 四大分支对比)
    • 四、机器学习完整流程
      • [4.1 流程总览](#4.1 流程总览)
      • [4.2 数据划分应该在哪个步骤?](#4.2 数据划分应该在哪个步骤?)
      • [4.3 训练流程 vs 预测流程](#4.3 训练流程 vs 预测流程)
    • 五、特征工程详解
      • [5.1 五个概念总结](#5.1 五个概念总结)
      • [5.2 特征提取(Feature Extraction)](#5.2 特征提取(Feature Extraction))
      • [5.3 特征预处理(Feature Preprocessing)](#5.3 特征预处理(Feature Preprocessing))
      • [5.4 特征降维(Feature Dimensionality Reduction)](#5.4 特征降维(Feature Dimensionality Reduction))
      • [5.5 特征选择(Feature Selection)](#5.5 特征选择(Feature Selection))
      • [5.6 特征组合(Feature Cross)](#5.6 特征组合(Feature Cross))
    • 六、拟合
      • [6.1 欠拟合(Underfitting)](#6.1 欠拟合(Underfitting))
      • [6.2 过拟合(Overfitting)](#6.2 过拟合(Overfitting))
      • [6.3 泛化与奥卡姆剃刀原则](#6.3 泛化与奥卡姆剃刀原则)

机器学习概述


一、AI、ML、DL 三者的定义与关系

刚接触机器学习时,AI、ML、DL 这三个词很容易混淆。实际上它们是一个逐层包含的关系。

1.1 人工智能(AI --- Artificial Intelligence)

英文定义:

"Artificial Intelligence is the science and engineering of making intelligent machines, especially intelligent computer programs."

--- John McCarthy, 1956(达特茅斯会议,AI 一词正式提出)

中文定义:

"人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。"

--- 中国《人工智能标准化白皮书(2018)》

核心理解: 赋予机器以人的智慧,让机器能像人一样感知、思考、决策。AI 是最大的范畴,所有让机器变"聪明"的技术都属于 AI。

1.2 机器学习(ML --- Machine Learning)

英文定义:

"A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E."

--- Tom M. Mitchell, Machine Learning (1997)

中文定义:

"机器学习是一门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身性能的学科。"

核心理解: 机器学习是实现 AI 的一条核心路径。思路不是让程序员手写 if-else 规则,而是喂给模型历史数据,让模型自己从数据中归纳经验和规律

这里有两个关键点:

  • "自己归纳":区别于传统编程(程序员手写逻辑),机器自动从数据中发现模式,不需要人类把规律显式编码。


机器学习是基于模型的学习

  • "数据":这里的"数据"是经过特征工程处理后的训练数据,其特征仍然需要人来筛选和设计。这也是 ML 和 DL 的关键分界线之一,深度学习可以自动学习特征,传统机器学习依赖人工特征工程。

1.3 深度学习(DL --- Deep Learning)

英文定义:

"Deep learning allows computational models that are composed of multiple processing layers to learn representations of data with multiple levels of abstraction."

--- Yann LeCun, Yoshua Bengio & Geoffrey Hinton, Nature, 2015

中文定义:

"深度学习是机器学习的一个分支,通过构建具有多个处理层的深层神经网络,学习数据中的多层次抽象表征。"

核心理解: 深度学习利用多层神经网络模拟人脑结构。它最革命性的地方在于可以自动从原始数据中提取特征,不再需要人工做大量特征工程。网络浅层学边缘、纹理,中间层学部件、形状,深层学语义、概念,每一层自动选取对当前任务最有用的特征和权重。


二、机器学习核心术语

2.1 数据集的基本构成

术语 英文 含义 类比
数据集 Dataset 整个表格数据 一整张 Excel 表
样本 Sample 数据集中的一行数据 表中一行,代表一个个体
特征 Feature 数据集中的一列(标签列除外),也称"属性" 表中的"学历""工作经验"列
标签 Label 模型需要预测的那一列结果,也称"目标值" 表中的"就业薪资"列,即要预测的答案

2.2 数据集的划分

不能把所有数据都用来训练,需要拆成两部分:

子集 用途 类比
训练集(Train Set) 喂给模型学习规律 学生做的练习题
测试集(Test Set) 检验模型是否真正学会了 期末考试的试卷

常用划分比例: 训练集占 70%~80%,测试集占 20%~30%(即 7:3 或 8:2,训练集总是占大头)。

  • X_train:训练集的特征
  • X_test:测试集的特征
  • y_train:训练集的标签
  • y_test:测试集的标签

三、机器学习的四大分支

根据训练集是否有标签(y_train),机器学习可以分为不同的学习范式。

注意这里我们说的是训练集!!!

3.1 有监督学习(Supervised Learning)

训练数据中既有特征 X,也有标签 y。模型在有标准答案的情况下学习。

输入: X_train + y_train

根据标签 y 的数据类型,进一步分为两类:

子类 标签类型 典型问题 例子
回归(Regression) 连续数值 预测一个数 房价预测、气温预测、股票价格
分类(Classification) 离散类别 判断属于哪一类 垃圾邮件识别、猫狗识别、疾病诊断

3.2 无监督学习(Unsupervised Learning)

训练数据只有特征 X,没有标签 y。模型需要在没有标准答案的情况下,自己发现数据内部的结构和规律。

输入: X_train(只有特征,没有标签)

核心思路: 根据样本之间的相似性对数据进行聚类(Clustering),将"长得像"的样本归为一组,发现数据中隐藏的分组结构。

典型场景:用户分群(把购买行为相似的用户聚在一起做精准营销)、异常检测、图像分割等。

这里有一个值得注意的问题:相似性度量的标准不止一种。 选择欧氏距离还是余弦相似度?用单链接还是全链接?不同的相似性衡量标准,聚类的结果可能完全不同。因此无监督学习中,选取合适的相似性度量是一个核心考量,需要结合业务场景和数据特点来判断。

3.3 半监督学习(Semi-Supervised Learning)

少量数据有标签 + 大量数据无标签。现实中标签获取成本很高(比如医学影像需要专家逐张标注,标注费时费钱),但未标注数据很便宜。半监督学习就是为了解决"标注数据太少"这个痛点。

核心流程:

复制代码
┌─────────────────┐
│ 少量有标签数据    │ ──→ 训练初始模型
└─────────────────┘           │
                              ▼
┌─────────────────┐    用模型预测无标签数据
│ 大量无标签数据    │ ──→ 挑出高置信度的打上"伪标签"
└─────────────────┘           │
                              ▼
              把这些"新标签数据"加入训练集,重新训练模型
                              │
                              ▼
                    重复以上过程,不断迭代

关键理解: 半监督学习从头到尾只在最开始有那少量人工标注标签,之后完全靠模型自己对数据结构的理解(一致性假设、熵最小化等)来利用无标签数据,不再向人类询问。它依赖的是数据自身的内在结构信号,而非外部标注,这一点从根本上区别于强化学习。

3.4 强化学习(Reinforcement Learning)

一个智能体 (Agent)在环境 (Environment)中采取行动,环境给予奖励(Reward)信号,智能体据此调整策略,再采取下一步行动,如此循环。

复制代码
智能体 ──(采取动作)──→ 环境
  ↑                        │
  └──(奖励 + 新状态)─────┘
        策略更新,继续行动

类比:做了一整套模拟试卷,老师不告诉你每道题的具体答案,只告诉你"这次总分比上次高了 10 分"。你需要自己复盘、总结、调整,争取下次考得更好。你不知道每道题的正确答案,只知道总体表现是好是坏。

注意这里:不知道每道题的正确答案,只知道总体表现是好是坏。所以强化学习给予的是给予奖励(Reward)信号。

典型场景:AlphaGo 下围棋、自动驾驶决策、机器人控制、游戏 AI。

3.5 四大分支对比

对比维度 有监督学习 无监督学习 半监督学习 强化学习
训练数据 X + y 完整配对 只有 X 少量 X+y + 大量 X 无固定数据集
反馈信号 明确的正确答案 无外部反馈 少量明确 + 大量推断 环境奖励信号
核心任务 回归 / 分类 聚类 / 降维 利用无标签数据增强 序列决策
典型算法 线性回归、决策树、SVM K-Means、DBSCAN、PCA Label Propagation Q-Learning、DQN、PPO

四、机器学习完整流程

4.1 流程总览

一个完整的机器学习项目通常经过五个步骤:

各步骤说明:

步骤 内容 说明
1. 获取数据 图像、文本、语音、结构化表格等 数据的来源和质量决定最终效果的上限
2. 数据基本处理 缺失值填充、异常值检测、类型转换、去重 与数据分析中的数据清洗基本一致
3. 特征工程 特征提取、预处理、降维、选择、组合 用专业背景知识和技巧处理数据,让模型能更好地学习
4. 模型训练 选择合适的算法在训练集上学习 算法选择取决于任务类型(回归/分类/聚类)
5. 模型评估 用测试集检验模型泛化能力 不同任务有不同评估指标

4.2 数据划分应该在哪个步骤?

结论:数据集划分(train/test split)在特征工程之前、数据基本处理之后完成。

原因在于:防止数据泄漏(Data Leakage)

特征工程中很多操作需要从数据中"学习参数":标准化需要先算训练集的均值和标准差,归一化需要先算训练集的最大值和最小值。如果把测试集也混进去一起算,测试集的信息就"泄漏"到了训练过程中。测试集就不再是"模型从未见过的考题"了,评估结果会虚高,但上线后面对真正的新数据就会暴露问题。也就是说特征工程需要从数据中"学习参数"的时候,用x_train进行训练 fit并且将其转换transform,x_test只是会在这个训练好的基础上进行转换transform

判断过程顺序的标准:

  • 如果某个数据处理操作不需要"学习"任何东西(比如去除 HTML 标签、全量统一去停用词),可以在划分前对整个数据集做。
  • 一旦涉及从数据中"学习参数"(计算均值、标准差、最大值、最小值等),就必须只在训练集上 fit,然后将学到的规则 transform 到测试集。

4.3 训练流程 vs 预测流程

复制代码
┌──────────────┐     ┌──────────────┐     ┌──────────────┐     ┌──────────────┐
│ 1.获取新数据   │ ──→ │ 2.数据基本处理 │ ──→ │ 3.特征工程    │ ──→ │ 4.模型预测    │
└──────────────┘     └──────────────┘     └──────────────┘     └──────────────┘
                                                                       │
                                                               ┌───────┴───────┐
                                                               │ 返回预测结果    │
                                                               └───────────────┘

预测阶段没有"模型训练"和"模型评估",模型已经在训练阶段学好了,预测时直接用学好的模型对新数据做推断。特征工程中使用的变换参数(均值、标准差等)来自训练阶段的 fit 结果,预测时只需 transform,不能重新 fit

这里所说的预测,是指模型评估通过后对真实新数据做推断。此时数据处理的过程,等同于训练阶段对 X_train 的处理方式,只 transform,不 fit


五、特征工程详解

数据和特征决定了机器学习的上限,而模型和算法只是不断逼近这个上限而已 。这里先建立整体框架,知道特征工程有哪五类操作、各自的核心目标是什么。具体的 API 和用法在特征工程篇中展开。

5.1 五个概念总结

概念 一句话核心 是否创造新特征 是否改变特征含义
特征提取 从原始数据(文本、图像、时间)中构造出数值特征 ✅ 是,从无到有 原始数据变成向量
特征预处理 对已有数值特征做变换、缩放、编码,让模型更好消化 通常不增加维度 保留含义,只改数值范围或形式
特征降维 将高维特征映射到低维空间,产生少数新特征 ✅ 是,生成主成分 新特征是原特征的组合,物理意义改变
特征选择 筛选出最有用的原特征,扔掉冗余 ❌ 否,只删除 不改变特征本身
特征组合 用已有特征交叉、乘积构造高阶交互特征 ✅ 是,基于已有创造 新特征表达交互关系

5.2 特征提取(Feature Extraction)

把非结构化的原始数据(文字、图像、声音、时间戳)变成模型能读懂的"特征矩阵":一张全是数字的二维表格。

文本数据:

预处理(特征提取的前置步骤,不属于特征工程五大概念):

  • 分词 :英文天然有空格分隔,还可配合词干提取(stemming);中文用 jiebaHanLP 等分词工具
  • 去停用词("的""是""在"等高频无意义词)、小写化、词形还原(lemmatization)等

特征提取方法(将文字转为向量):

  • 词袋模型(Bag of Words)CountVectorizer,统计每个词的出现次数
  • TF-IDFTfidfVectorizer,既考虑词频又考虑词的区分度
  • N-gram:提取连续单词对或字对,捕捉局部语序信息
  • 词嵌入(Word Embedding):Word2Vec、GloVe、FastText,用稠密低维向量表示词义
  • 句子/文档嵌入:用预训练模型(如 BERT)导出整个句子的语义向量

注意:jieba 是分词工具,属于文本特征提取之前的预处理步骤;TfidfVectorizer 等是特征提取方法,两者在不同的阶段发挥作用。

图像数据:

  • 传统方法:SIFT(尺度不变特征变换)、HOG(方向梯度直方图)、LBP(局部二值模式)
  • 现代方法:用 CNN 中间层的输出作为特征(比如去掉全连接层的 VGG 网络,将卷积层输出直接作为图像的特征向量)

结构化/表格数据:

  • 从时间戳提取:年、月、日、星期几、是否周末、小时
  • 从地址/名称提取:城市、省份、文本长度

5.3 特征预处理(Feature Preprocessing)

特征提取之后,手上已经是数值矩阵了,但各个特征的量纲、分布、形式可能天差地别。比如"年龄"取值 0~100,而"年收入"取值 0~1,000,000。

如果把这样的原始数据直接喂给模型,收入那一列的数值天然是年龄的 10,000 倍,模型里基于距离或梯度的计算会被大数值特征主导。即使年龄才是真正决定结果的关键因素,只要收入产生一点波动,其影响力就远远超过年龄。这就是量纲差异带来的虚假权重

无量纲化(统一量纲)的本质: 移除数据里由"单位"和"量级"带来的虚假噪音,让模型把算力和注意力都花在真正的数据规律上,而不是数值的大小悬殊上。

常见方法:

方法 公式 效果 适用场景
标准化(Standardization) (x - mean) / std 均值为 0,标准差为 1 数据近似正态分布,如线性回归、SVM、神经网络
归一化(Min-Max) (x - x_min) / (x_max - x_min) 缩放到 0, 1 区间 对数据分布无假设;适合距离相关算法如 KNN、K-Means

类别特征编码:将非数值的类别信息(如"红色/蓝色/绿色")转换成模型能理解的数值形式:

  • One-Hot 编码:把"颜色"的三种取值变成三个 0/1 列,每一行只有一个位置是 1
  • Label 编码:直接编码为 0, 1, 2,简单但不适合有大小关系的模型(如线性回归),适用于树模型
  • 目标编码(Target Encoding):用该类别对应的目标变量均值来编码,能捕捉类别与目标的关系
  • 频率编码 / 二进制编码等变体

5.4 特征降维(Feature Dimensionality Reduction)

当特征维度特别高,或者特征之间高度相关时,通过数学变换把很多列融合成少数几个新列,同时尽量保留原始信息。

降维一定会生成新特征,新特征是原有特征的线性或非线性组合,物理含义可能丢失。

典型方法:PCA(主成分分析),无监督方法,找数据方差最大的方向作为新坐标轴,用前几个主成分近似代表原始高维数据。

5.5 特征选择(Feature Selection)

从已有特征中挑出最有用的子集 ,丢弃无用或冗余的。它不改变特征本身含义,只做减法。

常用策略:过滤法(根据统计指标如方差、相关系数筛选)、包裹法(用模型性能反馈迭代选择)、嵌入法(训练过程中自动选择,如 L1 正则化)。

5.6 特征组合(Feature Cross)

人工构造特征之间的交互关系,让模型更容易学到"非线性组合效应"。

经典例子:给模型"身高"和"体重"两个独立特征,模型单靠自己很难直接学到 BMI 这个概念。但如果直接算好 体重 / 身高² 作为新特征喂给它,模型一下就"懂"了。


六、拟合

训练模型,本质上是解决一个根本矛盾,如何在"记住训练数据"和"推广到新数据"之间找到最佳平衡。

拟合(Fitting) 描述的是模型对样本数据点的逼近程度。根据在不同数据集上的表现,分为三种情况。

6.1 欠拟合(Underfitting)

维度 描述
表现 训练集上表现差,测试集上表现也差
根因 模型学到的特征规律太少,不足以正确判断,模型太简单了
类比 学生连课本例题都没搞懂,考试自然也一塌糊涂
常见原因 模型复杂度过低、特征工程不足、训练不充分
解决方向 增加模型复杂度、增加更多特征、减少正则化强度

6.2 过拟合(Overfitting)

维度 描述
表现 训练集上表现极好,测试集上表现很差
根因 模型把训练数据里的噪声 也当成规律学进去了,模型太复杂了
类比 学生把练习册答案背得滚瓜烂熟(连印刷错误的题目都背了),换一套新题就不行了
常见原因 模型复杂度过高、特征过多、训练数据太少
解决方向 增加训练数据、减少特征数量、增加正则化、使用交叉验证

6.3 泛化与奥卡姆剃刀原则

泛化能力(Generalization): 模型在从未见过的新数据上表现好坏的能力。这是机器学习真正追求的目标,不是把训练数据背下来,而是在新数据上也能做出正确判断。

奥卡姆剃刀原则(Occam's Razor): "如无必要,勿增实体。"在机器学习中体现为,给定两个泛化误差相当的模型,选择更简单的那个。简单模型通常有更好的泛化能力、更快的训练速度、也更容易解释。

复制代码
              ┌─ 欠拟合 ─┐    ┌── 刚好 ──┐    ┌─ 过拟合 ─┐
模型复杂度:   太低        →     适中       →     太高
训练集表现:   差             好              极好
测试集表现:   差             好              差
泛化能力:     差             好              差
              └────────────────────────────────────────┘

训练模型的目标,不是找到能把训练数据完美拟合的那个,而是找到在新数据上也能保持良好表现的那个。欠拟合和过拟合之间的平衡点,就是我们要找的最佳模型。


以上为个人学习总结,旨在梳理个人理解。如有疏漏或不当之处,欢迎指正与交流。如果文章对你有帮助,别忘了点个赞、留个言~ 我们下篇再见!

相关推荐
沉默王二7 小时前
又一个顶级 AI 终端诞生了!Kaku 开源,实测安装配置+分屏对决
人工智能·openai·claude
xcLeigh7 小时前
Doubao-Seed-Evolving大模型接入教程|搭建全品类提示词+AI工具导航网页
前端·人工智能·python·ai·html·ai开发·豆包
不如语冰7 小时前
AI大模型入门-模块导入import
数据结构·人工智能·pytorch·python
海兰7 小时前
【高速缓存】RedisVL 指南:从向量搜索到 AI 应用落地
人工智能·redis
智恒百亿7 小时前
RTX 5090服务器全场景技术解析:极致算力的行业落地与价值赋能
大数据·人工智能·5090服务器
金伟API10247 小时前
常见的SQL面试题:经典50例
数据库·人工智能·笔记·sql·学习
硅徒7 小时前
金融系统渗透测试复盘:从授权边界到报告整改的全流程
人工智能
学术小白人7 小时前
【倒计时4个月】-AI赋能图像处理与计算机视觉技术国际学术研讨会
网络·人工智能·神经网络·数据分析·光学
俊哥V7 小时前
每日 AI 研究简报 · 2026-07-20
人工智能·ai