机器学习
2023-06-05 09:51:40 1 举报
AI智能生成
机器学习的思维导图,课程笔记
作者其他创作
大纲/内容
概述
机器学习是一种人工智能领域的分支,旨在让计算机通过从数据中自动学习规律和模式,从而提供解决问题和作出预测的能力。在传统的编程方法中,程序员需要手动编写程序来解决特定的问题,这种方法不仅耗时耗力,而且很难适应现实世界中的变化和复杂性。相比之下,机器学习采用基于数据的方法,可以自动从大量的数据中学习规律和模式,并据此作出预测或者分类。
深度学习
概念
机器学习的分支,以人工神经网络为架构,对数据进行表征学习的算法
和机器学习的区别
提取特征的方式
解决问题的方式,传统机器学习:非端到端,深度学习:端到端
可解释性程度,深度学习的可解释性没有机器学习这么强
应用领域
语音
语音识别
语音合成
视觉
图像分类
目标检测
图像分割
看图说话
视频搜索
自然语言处理(NLP)
文本分类
语言建模
机器翻译
问题回答
字幕生成
三个基础算法
卷积神经网络CNN
一维卷积运算
概念
卷积是两个信号之间的运算
本质
卷积核从左到右滑过信号
二维卷积运算
二维多通道卷积
常见的视觉任务
图像分类
识别主体,比如当前图片是什么动物
目标检测
识别各部分,并将识别的使用最小包围矩形,分类
场景文字识别(OCR)
图像生成
语义分割/实例分割
精确到像素级别
人体关键点检测
视频分类
度量学习
提取特征
卷积核的分析与计算
卷积操作的参数-步长
卷积操作的参数-填充
整体结构
深度神经网络DNN
相关概念
全连接
每个神经元都和下一层的所有神经元相连
训练过程三部曲
正向传播
参数
激活函数
sigmoid
特点
将一个实数映射到(0,1)之间
特征相差不是特别大时效果比较好
用法
通常用二分类
缺点
激活函数计算量大
容易出现梯度消失
Tanh(双切正切函数)
特点
取值范围[-1,1]
输出以0为中心
用法
循环神经网络常用
二分类问题
靠近输出值位置
缺点
梯度消失
在曲线几乎水平的区域学习的非常慢
ReLU
特点
大于0的部分输出为数据本身
小于0的部分输出为0
对于梯度收敛有巨大加速作用
只需要一个阈值就可以得到激活值,节省计算量
用法
深层网络中隐藏层常用
缺点
过于生猛,一言不合判死刑,直接使数据变为0 ,从此节点后相关信息全部丢失
特殊:softMax
特点
当有多个输入时,通过概率求得哪个输入能够胜出
用法
多分类神经网络输出
用于多分类问题的最后一层
确定
基本只用于多分类问题
损失函数
预测的准不准是通过函数值确定的,函数值越小越好
交叉熵损失函数(二分类问题)
均方误差代价函数(线性回归)
反向传播
在正向传播过程中,w和b视为已知量,在反向传播过程中,w和b为未知量
反向传播算法其运算过程就是不断的求复合函数的偏导数
梯度下降
核心思想
不断的尝试,一步一步的试出最小值
过程
1 初始化所有的w和b
2 得到损失函数
3 得到所有参数的偏导数(得到梯度)
4 得到学习率(程序手动设置的值,通常为0.01等很小的数字)
5 更新w和b
2 得到损失函数
3 得到所有参数的偏导数(得到梯度)
4 得到学习率(程序手动设置的值,通常为0.01等很小的数字)
5 更新w和b
实现方式
批量梯度下降法(BGD)
随机梯度下降法(SGD)
小批量梯度下降法(MBGD)
循环神经网络RNN
命名实体识别任务
循环神经网络按照时刻序列接受数据
遇到的问题
梯度爆炸
解决方法:梯度修剪
梯度消失
改变激活函数把tanh换成relu
修改网络结构
LSTM(Long Short-Term Memory)长短时记忆网络
GRU
分类
监督学习
概念
通过已有的训练样本(既已知数据及对应输出)通过训练得到一个最优模型,再利用这个模型将所有输入映射为相应的输出
训练样本
包含有限个特征值和输出标签
类别
模型输出结果为连续值时,属于回归问题
比如房价预测系统(无数可选值)
模型输出结果为离散值时,属于分类问题
比如是否为垃圾邮件
训练过程
1 确定训练数据集的类型
2 确定数据的特征维度
3 确定函数输入特征的数学表达
4 选择要训练的模型
5 训练模型
方法
决策树(decision tree)
优点
速度快,易于理解,需要样本量小
模型复杂度低
对缺失值的容忍度较高
缺点
很容易出现过拟合,对异常值敏感
学习能力不强
任务类型
分类或回归,多解决分类问题
构建步骤
1 特征选择
相关概念
信息熵
概念
度量样本集合纯度最常用的一种指标
衡量标准
信息熵越大,纯度越低,当集合中所有的样本均匀混合时,信息熵最大,纯度最低
公式
-Σp(x) logp(x),其中p(x)是某件事情发生的概率
信息增益
概念
在某一条件下,随机变量不确定性减少的程度
公式
决策树根节点的选择
如果一个特征的信息增益越大,说明它对信息不确定性的减少程度贡献越大,说明它对决策树预测能力的影响越大
举例:文森特打黄金白银局,三个特征:操作,吃饭,使用有线鼠标,很明显,操作极大减少了他输赢的不确定性,把操作为决策树的根节点,是比较好的决策树模型。
2 决策树生成
停止条件
没有更多的属性
没有更多的样例
所有样例具有相同的目标属性值
步骤
1 选择当前最佳属性作为决策节点
2 剩余的属性划分到子节点
3 递归对子节点重复上述步骤
算法
ID3算法
优点
假设空间包含所有的决策树,搜索空间完整,健壮性好,不受噪声影响,算法直观,可解释性强
缺点
只能处理离散值的属性,容易产生过拟合问题,采用了信息增益做标准,无法很好的泛化
改进
使用信息增益比
3 决策树剪枝
剪枝原因
提高泛化能力
预剪枝
节点内数据样本低于某一阈值
所有节点特征都已分裂
节点划分前准确率比划分后准确率高
后剪枝
原理
通过过对特征空间的划分,形成一个树形结构,根据特定的规则选择某个特征节点作为分裂节点,递归地构建出一棵完整的树来进行分类。
朴素贝叶斯法
对比决策树
相同点
都是基于有标记数据的监督学习算法,需要使用带有标签的训练数据进行模型的训练和测试
都使用特征对样本进行分类
都可以处理多类别分类问题。
不同
原理不同
处理连续型变量的能力不同。朴素贝叶斯通常采用高斯分布、多元高斯分布等模拟的方法来处理连续型变量,而决策树一般采用二分法或其他离散化方法将其转换为离散型变量进行处理。
对于噪声和异常值的敏感度不同。朴素贝叶斯算法对噪声和异常值较为敏感,而决策树的划分过程比较灵活,能够抵御一定程度的噪声和异常值的影响。
处理类别不平衡问题的能力不同。朴素贝叶斯在处理类别不平衡的数据时,通常假设各个类别的先验概率相等,这可能会影响到模型的分类效果。而决策树则相对较少受到类别不平衡的影响。
原理
朴素贝叶斯基于贝叶斯公式和条件独立性假设,利用先验概率和条件概率对样本进行分类,常用于文本分类
前导知识
先验概率
根据以往经验和分析得到的概率
条件概率
已知事件B发生的条件下,事件A发生的概率
全概率公式
后验概率
指事件发生后,在得知该事件发生的事实下,判断导致这个事件发生的不同原因的概率
公式
步骤
计算先验概率
计算条件概率
预测
优点
源于古典数学理论,有稳定的分类效率
对小规模数据表现好
对缺失数据不太敏感
缺点
需要知道先验概率
各个属性间独立,这个前提假设太强
支持向量机(SVM)
核心思想
找到空间中一个能够将所有数据样本划开的超平面,并且使得所有数据到这个超平面的距离最短
前导知识
线性可分
二维空间上,两类点能被一条直线完全分开
最大间隔超平面
最大间隔超平面是指在数据空间中,距离不同类别的数据点最近的超平面。其主要思想是通过最大化支持向量与分隔超平面之间的距离(也称为 margin),来实现对不同类别的数据点进行有效地区分和分类。
支持向量
支持向量是指在最大间隔超平面分类模型中,距离分隔超平面最近的那些数据点。支持向量在分类决策过程中起到了重要作用,它们的位置和数量决定了最终分类模型的性能和计算复杂度。
最优化问题的数学推导
拉格朗日乘数法
凸优化问题
拉格朗日对偶问题
最优化问题的计算步骤
1 构造拉格朗日函数
2 构造拉个朗日对偶
3 使用SMO算法
4 计算参数值
5 预测
优缺点
优点
有严格的数学理论支持,可解释性强,不依靠统计方法,从而简化了通常的分类问题和回归问题
能找出关键样本(支持向量)
采用核技巧后,可以处理非线性分类/回归任务
最终决策函数只由少数支持向量所确定,计算的复杂性取决于向量的数目,而不是样本空间的维数,在某种意义上避免了维数灾难
缺点
训练时间长,当采用SMO算法,由于每次都挑选一对参数,时间复杂度为O(N2)
当采用核技巧时,如果需要存储核矩阵,则空间复杂度为O(N2)
模型预测时,预测时间与支持向量的个数成正比,支持向量的数量较大时,预测计算复杂度较高
无监督学习
概念
从无标签的训练数据中挖掘有效的特征或表示
用处
经常用来进行降维,数据可视化或监督学习前期的数据预处理
主要方法
稀疏编码
Sparse Coding,是一种受动物视觉系统中简单细胞感受的启发而建立的模型
密度估计
根据一组训练样本来估计样本空间的概率密度
聚类
概念
Clustering,将一组样本根据一定的准则划分到不同的组
准则
组内样本的相似性要高于组间样本的相似性
常用算法
K-means算法
步骤
1 随机选择 k 个点作为初始簇中心,可以是数据集中已有的点,也可以是在数据空间中随机生成的点。
2 根据每个数据点与 k 个簇中心的距离,将数据点归为距离最近的簇。
3 计算每个簇内所有数据点的平均值,更新每个簇的中心点。
重复步骤 2 和步骤 3 直到收敛,即当簇中心不再发生改变时停止迭代。
4 输出 k 个簇,每个簇包含一组数据点和对应的簇中心。
2 根据每个数据点与 k 个簇中心的距离,将数据点归为距离最近的簇。
3 计算每个簇内所有数据点的平均值,更新每个簇的中心点。
重复步骤 2 和步骤 3 直到收敛,即当簇中心不再发生改变时停止迭代。
4 输出 k 个簇,每个簇包含一组数据点和对应的簇中心。
优缺点
优点
算法原理简单
需要设置的超参数少(只有一个k)
收敛速度快
可扩展性好
缺点
K值,初始点的选取不好确定
得到的结果只是局部最优
受离群值影响大
谱聚类
降维
常用算法
主成分分析
PCA(Principal Component Analysis)是常用的数据将为方法,通过该方法,使得转换后的空间中数据的方差最大
多维缩放(MDS)
等度量映射(Isomap)
局部线性嵌入(LLE)
原因
高维存在问题:数据维度高,算法适配困难,计算速度慢,模型效果差
强化学习
概念
又称增强学习,是机器学习的范式和方法论之一,用于描述和解决智能体再与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题
机制
奖赏机制
算法
通过一系列动作策略与环境交互,产生新的数据,再用新的数据修改自身的动作策略,经过数次迭代后,agent(智能体)就会学习到完成任务所需要的动作策略
步骤
1 收集和准备数据。这是机器学习的基础,机器学习系统需要从大量的、有代表性的数据中学习。数据通常需要进行清洗、预处理和特征提取等过程。
2 选择合适的算法。根据任务的不同,需要选择合适的机器学习算法,如线性回归、逻辑回归、决策树、支持向量机和深度学习等算法。
3 训练模型。将准备好的数据输入到机器学习算法模型中进行训练,调整算法模型中的参数,目的是找到最优的模型,使其能够准确地预测和处理数据。
4 评估模型。评估模型的性能和精度,检查模型是否具有泛化能力和鲁棒性。
5 应用模型。将模型应用于新的数据集,并据此进行决策或作出预测,也可以进一步优化和改进模型
2 选择合适的算法。根据任务的不同,需要选择合适的机器学习算法,如线性回归、逻辑回归、决策树、支持向量机和深度学习等算法。
3 训练模型。将准备好的数据输入到机器学习算法模型中进行训练,调整算法模型中的参数,目的是找到最优的模型,使其能够准确地预测和处理数据。
4 评估模型。评估模型的性能和精度,检查模型是否具有泛化能力和鲁棒性。
5 应用模型。将模型应用于新的数据集,并据此进行决策或作出预测,也可以进一步优化和改进模型
0 条评论
下一页