了解人工智能,机器学习, 深度学习的关系

对比人脑学习和机器学习
机器学习: 训练数据 → 建立模型 → 预测未知属性
人脑: 总结经验 → 发现规律 → 预测未来
可以看出机器学习的学习过程和人脑的学习过程大致相似.
什么是机器学习?
从数据中发现复杂规律,对未知状况进行预测和判定的方法.
机器学习术语
关于数据
- 数据集:所有数据的集合(机器学习的基础)
- 样本:数据集中每条记录是关于一个事件或对象的描述(表格中的行),(通过特征数据描述了一个现实物理的个体,比如通过身高体重来描述一个人,样本就是描述,就是现实个体的数字载体)
- 属性或特征:每一个样本在某一方面的表现(表格中的列)
- 特征向量:每一个样本的各种特征组成了特征向量
数据是一个很泛的概念,是不可数的,数据不止包含样本,而样本则是分析的基本单位.
关于训练
- 学习或者训练:从数据中学得模型的过程,执行某种算法来实现
- 训练数据:训练使用的数据
- 训练样本:训练数据的样本
- 训练集:训练样本组成的集合
- 标记:训练数据中可能会指出训练结果的信息.(训练的目标结果)
根据模型预测输出的连续性,将机器学习算法适配问题分类
- 分类:使用计算机学习出的模型进行预测得到的是离散值(比如通过人脸识别区分是青年还是壮年,还是老年)
- 回归:使用计算机学习出的模型进行预测得到的是连续值(比如通过人脸识别推测多少岁)
- 聚类:对无标签样本的相似度进行度量,挖掘其特征、结构、内在性质.使类内相似度大,类间相似度小.
分类和回归的训练数据都是带标签的,而聚类的训练数据是没有标签的.
🌟分类和回归的区别
- 输出不同
- 分类问题输出的是物体所属的类别,回归问题输出的是物体的值.
- 分类问题输出的值是定性的,回归问题输出的值是定量的.
- 目的不同
- 分类的目的是为了找决策边界
- 回归的目的是为了找到最优拟合

- 结果不同
- 分类的结果没有逼近,对就是对,错就是错
- 回归是对真实值的一种逼近预测
输入空间和输出空间
- 输入空间: 对于一个具体的回归或分类任务,所有可能的模型输入数据组成的集合称为输入空间
- 输出空间: 所有可能的模型输出数据构成的集合称为输出空间
回归或分类机器学习任务的本质就是寻找一个从输入空间到输出空间的映射,并将该映射作为预测模型
训练误差和泛化误差
训练误差:在训练中衡量模型对训练数据的拟合能力
泛化误差:在测试集中,测试模型的泛化能力
泛化能力: 模型对未见过的新样本的适应与预测能力,是衡量模型优劣的核心指标。
训练误差显示了拟合的紧凑程度,泛化误差显示了拟合的正确性.
使用机器学习对数据进行建模,通常首先将数据划分为训练集、验证集和测试集,训练集用于对模型的参数进行训练;验证集用于辅助调参;测试集用于测试训练好的模型的泛化能力.
🌟过拟合和欠拟合
过拟合:同时拟合训练样本的共性特征和个性特征
欠拟合:未能充分拟合训练样本的共性特征造成模型泛化误差较大而导致模型泛化能力较弱.

过拟合的处理🌟
获得更多的训练数据
让模型学习到更多更有效的特征.减少的噪声的影响
降维
模型考虑的特征太多,降维就是将无用的特征砍掉(如PCA)
正则化
给模型加惩罚,让模型不那么复杂
集成学习方法
多个模型集思广益
欠拟合的处理🌟
添加新特性
欠拟合特征太少
增加模型复杂度
减小正则化系数
减少惩罚力度
数据决定一切

机器学习工作流程
获取数据 → 数据基本处理 → 特征工程 → 机器学习(模型训练) → 模型评估
监督学习、无监督学习和半监督学习(根据样本集合当中是否包含标签以及包含标签的多少)
- 监督学习:数据有标签
- 无监督学习:数据无标签
- 半监督学习:数据部分有标签,部分无标签
生成模型和判别模型
生成模型学习数据是如何“生成”的,能够创造新样本
判别模型学习如何“区分”数据,专注于分类或预测
生成模型通过学习,它能够理解数据的内在结构。例如,一个在猫图片上训练的生成模型,会学习到“猫通常有尖耳朵、胡须”等特征。基于这个理解,它可以创造出全新的、从未见过的猫的图片。
判别模型专注于寻找一个最优的决策边界来划分不同类别。比如在“猫狗分类”任务中,它会学习“有尖耳朵和胡须的更可能是猫”,而忽略那些不用于区分的冗余信息
模型评估
误差与正则化
误差
模型输出的样本数占总样本数比例
- 错误率: 分类错误样本占总样本数比例
- 精度: 1 - 错误率
- 训练误差 : 模型在训练集上的误差
- 泛化误差 : 模型在新样本上的误差
- 目标: 得到泛化误差小的模型
正则化
给模型加一个惩罚,以至于模型不会太复杂.
正则化可以缓解过拟合和欠拟合
L1 正则化 (Lasso Regression) L1 正则化是在损失函数中加上权重向量的 L1 范数(即绝对值之和)。
公式:
- :原始损失函数(如均方误差)。
- :正则化系数,用于控制惩罚的强度。
- :模型参数(代表模型认为某个特征到底有多重要)。
L1正则化会让不重要的模型参数(权重)等于零来减少惩罚,实现对模型的简单化
L2 正则化 (Ridge Regression)
L2 正则化是在损失函数中加上权重向量的 L2 范数(即平方和)。在机器学习中,这通常被称为“权重衰减”(Weight Decay)。
公式:
L2正则化会让所有的模型参数(权重)趋近零来减少惩罚,实现对模型的简单化
打个比方,有个函数,a,b,c即权重也就是,L1会让,那么模型函数有一项就会变成0,而L2会让,那么每个权重都会小一点,但都不会等于0.

评估方法
训练集与测试集
- 目标:对模型/学习器的泛化误差进行评估
- 专家样本 : 训练集 + 测试集
- 训练集 : 训练误差
- 测试集 : 测试误差
训练集和测试集是互斥的
留出法
- 训练集 + 测试集 互不互斥
- 合理划分、保持比例(保持训练集和测试集的数量比)
- 单次留出与多次留出(单次留出保持比例,多次留出更改比例求平均)
交叉验证🌟
K折交叉验证: 将专家样本等划分为K个数据集,轮流用K-1个用于训练,1个用于测试

K折代表K次
自助法
- 给定m个样本的数据集D,从D中有放回随机取m次数据,形成训练集
- 缺点:改变了初始数据集的分布
训练集和测试集有交集
性能度量
评价方法与评价标准
回归任务的评价标准: 均方误差
错误率与精度
错误率:分类错误样本占总样本数比例 精度: 1 - 错误率
查准率与查全率🌟

查准率是对预测值来说的,判断是否准确,以此分母是预测值1的列之和;查全率是对实际值来说的,查的全不全,因此分母是实际值1的行之和.
混淆矩阵:实际值和预测值形成的矩阵.
F1系数

from sklearn.metrics import precision_scorefrom sklearn.metrics import confusion_matrix
y_true = [1, 0, 1, 1, 0] # 样本实际值y_pred = [1, 0, 1, 0, 0] # 模型预测值
res = precision_score(y_true, y_pred, average=None) # 查准率res = confusion_matrix(y_true, y_pred) # 混淆矩阵
print(res)