Apriori算法
基本思想:
1 找到所有的频繁项集
2 由频繁项集找到所有的强关联规则
目标:
给定一个事务集T,关联规则挖掘的目标是找到所有规则满足以下要求:
1 support>=minsup threshold
2 confidence>=minconf threshold
Brute-force方法:
1 列出所有可能的关联规则
2 计算每条规则的支持度以及置信度
3 如果一些规则不满足minsup以及minconf则删除
Two-step方法:
1 找出频繁项集
找出所有的频繁项集,即support>=minsup
2 规则生成
从频繁项集中找出高置信度的规则(规则即对每个频繁项集进行一个二分)
Apriori算法会重新扫描整个数据集来统计频繁项对应的支持度,从而筛选出满足支持度要求的频繁项,形成频繁项集。所以说,数据集很大时,Apriori算法会将时间大部分消耗在扫描数据集上,所以频繁项集被发现的速度降低
??关联规则的生成&&剪枝原理不太清楚
FR增长法
只需对数据集进行两次扫描,发现频繁项集的速度会快很多
但实现困难,且需要构建大量的树,空间复杂度比Apriori算法高
FP增长法发现频繁项集的过程如下:
1、构建FP树
第一次扫描数据集---统计每个频繁项的支持度第二次扫描数据集---建树
2、从FP树中挖掘频繁项集
a)从FP树中获得条件模式基b)利用条件模式基,构建一个条件FP树c)迭代重复步骤a和b,直到树包含一个元素项为止
条件模式基:是以所查找元素项为结尾的路径集合
KNN分类算法
距离度量
欧氏距离
曼哈顿距离
切比雪夫距离
KNN算法
K近邻法主要思路:
如果一个样本在特征空间中与k个实例最为相似(即特征空间中最邻近),那么这k个实例中大多数属于哪个类别,则该样本也属于这个类别。
分类问题:对于新的样本,根据其k个最近邻的训练样本的类别,通过多数表决的方式进行预测。
回归问题:对于新的样本,根据其k个最近邻的训练样本标签值的均值作为预测值。
k近邻法的三要素:
k值选择
距离度量
决策规则
算法流程
1.计算测试对象到训练集中每个对象的距离
2.按照距离的远近排序
3.选取与当前测试对象最近的k个训练对象作为该测试对象的邻居
4.统计这k个邻居的类别频次
5.k个邻居里频次最高的类别,即为测试对象的类别
KD树划分
更高的效率来对空间进行划分,并且其结构非常适合寻找最近邻居和碰撞检测。
构建KD树时,如何选择切分维度
1 切分规则
在每轮构建kd树时,当前切分区域的选择是基于未被切分维度上的点差方差找到方差最大的维度作为本轮切分的维度,方差大的维度表示点在该维度上的分布更分散,因此切分的效果会更好。这种切分方式提高了空间划分的均匀性,有助于加快后续的查询操作
2 二维情况
优先切分哪个维度?X轴还是Y轴?如果按照方差来决定,应该计算当前待切分点集合在X和Y轴上的方差,选择方差较大的那一轴来切分这种动态选择的方式可能优于固定顺序(比如固定先切X后切Y),因为能更好地适应点的实际分布。
KD树搜索
贝叶斯方法
贝叶斯分类是一类分类算法的总称,均以贝叶斯定理为基础,故称为贝叶斯分类
先验概率:根据以往经验和分析得到的概率。用P(Y)来代表没有训练数据前假设Y拥有的初始概率。
后验概率:根据已经发生的事件来分析得到的概率。以P(X|Y)代表假设X成立的情况下观察到Y数据的概率,因为它反映了在看到训练数据X后Y成立的置信度。
朴素贝叶斯法是典型的生成学习方法。生成方法由训练数据学习联合概率分布P(X,Y),然后求得后验概率分布P(Y|X),具体来说就是利用训练数据学习P(X|Y)和P(Y)的估计,得到联合概率分布:P(X,Y)=P(X|Y) P(Y),概率估计方法可以是极大似然估计或者贝叶斯估计。
监督学习方法分为:生成方法和判别方法——>生成模型和判别模型
生成模型:学习联合概率分布,进而求得后验概率分布(朴素贝叶斯、HMM、深度信念网络)
判别模型:直接学习决策函数或条件概率分布(线性回归、逻辑回归、感知机、决策树、支持向量机)
朴素贝叶斯法的学习与预测大为简化,所以高效且易于实现,但缺点在于分类的性能不一定很高
朴素贝叶斯法分类时,对给定的输入x,通过学习到的模型计算后验概率分布,将后验概率最大的类作为x的类输出
引入拉普拉斯平滑(用于平滑分类数据的技术),用以解决0概率问题,既避免了出现概率为0的情况,又保证了每个值都在0-1的范围内,保证最终和为1的概率性质。
逻辑斯蒂回归
对数线性回归
对数几率回归
极大似然法1 给定数据集2 最大化样本属于其真实标记的概率
高阶可导连续凸函数,梯度下降法/牛顿法
决策树
基本流程
决策过程中提出的每个判定问题都是对某个属性的“测试”决策过程的最终结论对应了我们所希望的判定结果每个测试的结果或是导出最终结论,或者导出进一步的判定问题,其考虑范围是在上次决策结果的限定范围之内从根结点到每个叶结点的路径对应了一个判定测试序列
决策树学习的目的是为了产生一棵泛化能力强,即处理未见示例能力强的决策树
划分选择
决策树学习的关键在于如何选择最优划分属性,以保证决策树的分支结点所包含的样本尽可能属于同一类别,即结点的“纯度‘越来越高经典的属性划分方法:信息增益“信息熵”是度量样本集合纯度最常用的一种指标,假定当前样本集合D中第k类样本所占的比例为pk(k=1,2,...,|y|),则D的信息熵定义为
增益率增益率准则对可取值数目较少的属性有所偏好基尼指数基尼指数越小,数据的纯度越高基尼值反映了从数据集中随机抽取两个样本,其类别标记不一致的概率
剪枝处理
1 为什么剪枝
剪枝是决策树学习算法对付过拟合的主要手段,可通过剪枝来一定程度避免因决策分支过多,以至于把训练集自身的一些特点当做所有数据都具有的一般性质二导致得过拟合。
【过拟合是机器学习中常见的问题,指的是模型在训练数据上表现得非常好,但在测试数据或真实世界的未见数据上表现较差。这意味着模型过于记住了训练数据中的细节和噪声从而忽略了数据的普遍规律】
2 剪枝的基本策略
预剪枝决策树生成过程中,对每个结点在划分前先进行估计,若当前结点的划分不能带来决策树泛化性能提升,则停止划分并将当前结点记为叶结点,类别标记为训练样例数最多的类别。优点:降低过拟合风险;显著减少训练时间和测试时间开销缺点:欠拟合风险,预剪枝基于贪心本质禁止这些分支展开,带来了欠拟合风险。后剪枝先从训练集生成一颗完整的决策树,然后自底向上地对非叶结点进行考察,如果将该结点对应的子树替换为叶结点能带来决策树泛化性能提升,则将该子树替换为叶结点。优点:后剪枝比预剪枝保留了更多的分支,欠拟合风险小,泛化性能往往优于预剪枝决策树缺点:训练开销大,后剪枝过程是在生成完全决策树后进行的,需要自底向上对所有非叶结点逐一考察。
3 判断决策树泛化性能是否提升的方法
留出法:预留一部分数据用作“验证集”以进行性能评估
支持向量机
间隔与支持向量
最大间隔:寻找w和b使得y(间隔)最大
对偶问题
拉格朗日乘子法
解的稀疏性
求解方法SMO
核函数
线性不可分:若不存在一个能正确划分两类样本的超平面,则将样本空间从原始空间映射到一个更高维的特征空间,使样本在这个特征空间内线性可分
软间隔:在现实中很难确定合适的核函数使训练样本在特征空间中线性可分,同时一个线性可分的结果也很难断定是否有过拟合造成的,所以引入“软间隔”的概念,允许支持向量机在一些样本上不满足约束。
不满足约束条件的样本分为两种:落在间隔类但分类正确样本;分类错误的样本
软间隔与正则化
正则化:支持向量机学习模型的更一般形式
总结
1.线性可分时如何求解?
-当数据在原空间中线性可分,可以用感知机算法、支持向量机(SVM、线性核)、线性回归变形
-感知机算法:最经典的线性分类方法,用于线性可分的情况;通过迭代调整权重,找到一个将数据分隔为两类的超平面。
-支持向量机:在线性可分的情况下,SVM会找到最大化分类间隔的超平面(最大间隔分类器),从而提升分类的鲁棒性。
-线性回归变形:在简单场景下,可以通过线性回归拟合超平面,并根据其输出符号进行分类。
2.原空间线性不可分,特征空间线性可分时如何求解?
-通过特征映射到高维特征空间后变得线性可分可以采用以下方法求解:
–核方法
---通过核函数,将低维数据映射到高维特征空间,不用显式计算映射结果---核支持向量机(SVM)是一种常用的方法
–手动构造特征
---根据问题的具体背景构造非线性特征(如多项式特征、交互项)来提高模型的可分性。
3.原空间线性不可分,映射到特征空间后仍是线性不可分时如何求解?
-使用非线性分类器
-调整核函数或映射方式
-引入软间隔或正则化
-增大数据量或数据增强
总结
- 线性可分时:直接使用感知机、线性 SVM 或线性回归方法即可。
- 原空间线性不可分,但特征空间可分时:核方法是首选。
- 特征空间仍不可分时:需要转向非线性模型或结合其他方法(如正则化、数据增强等)进行改进。
支持向量回归
-特点:允许模型输出和实际输出之间存在2e的偏差
-损失函数:落入中间2e间隔带的样本不计算损失,从而使得模型获得稀疏性
核方法
集成学习
个体与集成
-分为两个阶段:第一阶段训练个体学习器;第二阶段在分类时,将各学习器的输出进行集成
-集成学习:通过构建并结合多个学习器来提升性能
-假设基分类器的错误率相互独立(但这并不可能,因为准确性和多样性本身就存在冲突,根据个体学习器的生成方式,目前有两大类,1 个体学习器存在强依赖关系,必须串行生成的序列化方法,boosting;2 个体学习器不存在强依赖关系,必须并行生成的方法,bagging),在一定条件下,随着集成分类器数目的增加,集成的错误率将指数级下降,最终趋于0
-如何产生“好而不同”的个体学习器是集成学习研究的核心
Boosting
-个体学习器存在强依赖关系
-串行生成
-每次都要调整训练数据的样本分布
-Boosting族算法最著名的代表是AdaBoost
该算法流程解析:
1.Input(输入):
2.Process(算法过程)
3.Output(输出)
-Boosting的思想是将多个若学习器结合成一个强学习器,每一轮根据上一轮的错误分类样本调整权重,重点学习难分类的样本
-错误评估et,如果et很小,说明弱学习器表现良好,如果et>0.5,弱学习器的效果不如随机猜测,需要重新调整
-分布调整,核心是让下一个弱学习器更关注上一轮分类错误的样本,在AdaBoost中,采用指数更新公式来调整权重
-典型应用:分类问题(二分类&&多分类)、集成学习(三大框架之一:Boosting、Bagging、Stacking)、流行实现
-为什么要改变数据的分布Dt?在获得H(t-1)之后的样本分布进行调整,使得下一轮的基学习器能纠正H(t-1)的一些错误,理想的情况下能纠正全部错误
Bagging与随机森林
-个体学习器不存在强依赖关系
-并行化生成
-自主采样法
-关键点说明
--Bagging的核心思想,利用有放回采样从原始数据集生成多个不同的训练自己,每个子集都用于训练一个基学习器--最终通过多个基学习器的投票表决(分类任务)或平均结果(回归任务)来得到更强的模型--优点:降低方差;防止过拟合--与Boosting对比,Bagging的每个基学习器权重相同,而Boosting会更关注前一轮错误分类的样本--常见实现:随机森林(使用决策树作为基学习器,同时在每个结点随机选择部分特征进行划分)--应用:分类任务(图像分类、文本分类);回归任务(房价预测、股票价格预测)
结合策略
学习器的组合可以从3方面带来好处:
--统计的原因:多个假设在训练集上达到同等性能,若使用单个,因为误选 导致泛化性能不佳,结合多个学习器会降低这个风险--计算的原因:学习算法往往会陷入局部极小,有的局部极小点对应的泛化性能可能很糟,经过多次运行之后进行结合,可降低陷入糟糕的局部极小点的概率--表示的原因:假设空间变大,有可能学到更好的近似
-平均法
--简单平均法--加权平均法
-投票法
--绝对多数投票法--相对多数投票法--加权投票法
-学习法
--Stacking(堆叠集成学习)是学习法的典型代表
过程:
1 训练基学习器,使用训练集D训练每个基学习器hk,得到k个模型
2 生成次级训练集,使用基学习器对训练集中的样本进行预测,得到新的特征及
3 训练元学习器,用次级训练集和原始标签训练一个元学习器,元学习器学习如何将基学习器的预测组合起来,得到最终的预测
4 最终预测,对测试集先用基学习器生成预测输出,再将这些输出作为输入传递给元学习器,得到最终的预测结果
人工神经网络
神经网络是由具有适应性的简单单元组成的广泛并行互联的网络,它的组织能够模拟生物神经系统对真实世界物体所作出的反应。
神经元模型
-M-P神经元模型:输入,来自其他n个神经云传递过来的输入信号;处理,输入信号通过带权重的连接进行传递,神经元接受到总输入值将与神经元的阈值进行比较;输出,通过激活函数的处理以得到输出。
-激活函数:理想的激活函数是阶跃函数,0表示抑制神经元而1表示激活神经元,不连续、不光滑,常用的是Sigmoid函数
感知机与多层网络
-感知机:由两层神经元组成,输入层接受外界输入信号传递给输出层,输出层是M-P神经元(阈值逻辑单元);感知机能够容易地实现逻辑与、或、非运算。
-感知机学习能力:若两类模式线性可分,则感知机的学习过程一定会收敛,否则感知机的学习过程将会发生震荡
-单层感知机只能解决线性可分问题,对于非线性可分问题要采用多层感知机
-输出层与输入层之间的一层神经元被称之为隐层或隐含层
-多层前馈神经网络
--定义:每层神经元与下一层神经元全互联,神经元之间不存在同层连接也不存在跨层连接--前馈:输入层接受外界输入,隐含层与输出层神经元对信号进行加工,最终结果由输出层神经元输出--学习:根据训练数据来调整神经元之间的“连接权”以及每个功能神经元的“阈值”--多层网络:包含隐层的网络
误差逆传播算法
-简称BP,最成功的训练多层前馈神经网络的学习算法
-BP是一个迭代学习算法,在迭代的每一轮中采用广义的感知机学习规则对参数进行更新估计
-BP算法基于梯度下降策略,以目标的负梯度方向对参数进行调整
-标准BP算法:每次针对单个训练样例更新权值和阈值;参数更新频繁,不同样例可能抵消,需要多次迭代
-累计BP算法:其优化的目标是最小化整个训练集上的累计误差;读取整个训练集一遍才对参数进行更新,更新频率较低
-实际应用中,累计误差下降到一定程度后会变得缓慢,这时候标准BP算法往往会获得较好的效果,尤其当训练集非常大时效果更明显。
-多层前馈网络表示能力:只需要一个包含足够多神经元的隐层,多层前馈神经网络就能以任意精度逼近任意复杂度的连续函数
-局限:过拟合,训练误差持续降低但测试误差却上升;如何设置隐层神经元个数在实际中通常使用“试错法”调整。
-缓解过拟合策略:早停,当训练误差降低而测试误差上升时停止训练;正则化,在误差目标函数中增加一项描述网络复杂程度的部分
全局最小与局部最小
-跳出局部最小的策略
--模拟退火技术:每一步都以一定的概率接受比当前解更差的结果,从而有助于跳出局部极小--随机梯度下降:在计算梯度时加入了随机因素--遗传算法:常用来训练神经网络以更好地逼近全局极小
-深度学习的三朵乌云
--梯度爆炸:计算溢出--梯度消失:参数几乎不更新,没学到东西--网络退化:大部分隐藏单元对不同的输入都是相同的反应,导致权重矩阵的秩不高
卷积神经网络(CNN)
定义:一种前馈神经网络,有三个结构上的特性:局部连接、权重共享、空间或时间上的次采样
卷积
-常用在信号处理中,用于计算信号的延迟累积
-不同的滤波器来提取信号序列中的不同特征
-卷积扩展:引入滤波器的滑动步长和零填充
-卷积类型
--窄卷积:步长T=1,两端不补零P=0,卷积后输出长度M-K+1--宽卷积:步长T=1,两端补零P=K-1,卷积后输出长度M+K-1--等宽卷积:步长T=1,两端补零P=(K-1)/2,卷积后输出长度M
池化
其他类型的卷积
-空洞卷积
通过给卷积核插入“空洞”来变相地增加其大小
--如何增加输出单元的感受野---增加卷积核的大小---增加层数---在卷积之前进行汇聚操作
-可变性卷积
-卷积的位置是可变形的,并非在传统的N*n的网格上做卷积,能够更准确地提取到我们想要的特征-实际上就是在每一个卷积采样点上加了一个偏移量
常见的卷积神经网络
-LeNet-5
--手写识别系统,银行用于识别支票上的手写数字--七层
-AlexNet
--第一个现代深度卷积网络模型,使用GPU进行并行训练--5个卷积层、3个汇聚层和3个全连接层
K均值聚类
聚类任务
-无监督学习应用最多
-聚类目标:将数据集中的样本划分为若干个通常不相交的子集(即“簇”)
-监督学习和无监督学习的区别:
--监督学习有明确的目标(预测/分类),需要标签;目标是学习从输入到输出的映射关系--无监督学习没有明确的目标,不需要标签;目标是发现数据的内在结构、模式/分布
性能度量
-外部指标
--将聚类结果与某个“参考模型”进行比较--Jaccard系数--FM指数--Rand指数
-内部指标
--直接考察聚类结果而不用任何参考模型--簇内样本间平均距离--簇内样本间最远距离--簇与簇最近样本间距离--簇与簇中心点间的距离--DB指数(越小越好)--Dunn指数(越大越好)--轮廓系数(越大越好)
距离计算
-距离度量的性质:
--非负性--同一性--对称性--直递性
-常用距离:闵可夫斯基距离、欧氏距离、曼哈顿距离
K均值聚类
E值在一定程度上刻画了簇内样本围绕簇均值向量的紧密程度,E值越小,存诶样本相似度越高
-算法流程(迭代优化)
初始化每个簇的均值向量repeat1.更新簇划分2.计算每个簇的均值向量until 当前均值向量均未更新
DBSCAN
K均值聚类(K-means)不足:
1.需要预先指定K:聚类效果可能不佳
2.对初始质心位置敏感:容易陷入局部最优解
3.对异常值敏感:异常值影响质心位置或独立成簇
4.假设簇是凸形(如果S中任意两点的连线内的点都在集合S内,那么集合S成为凸集)
---->可以使用DBSCAN(密度聚类)解决
-密度聚类的定义
“基于密度的聚类”,此类算法假设聚类结构能通过样本分布的紧密程度来确定,从样本密度的角度来考察样本之间的可连接性,并基于可连接样本不断扩展聚类簇来获得最终的聚类结果
-数据点分类
--核心点:在半径Eps内含有超过MinPts数目的点--边界点:在半径Eps内点的数量小于MinPts但是落在核心点领域内的点--噪音点:既不是核心点也不是边界点的点
-算法步骤
1.初始化,数据集D中所有对象标记为“unvisited”
2.随机选择一个未访问的P,标记为“visited”
3.检查p的e领域是否至少包含MinPts个点
4.如果不是,标记为噪声点,否则穿件一个新簇C,把领域内点放到候选集合N中
5.继续判断剩余的样本,标记unvisited为visited,不为其他簇时,则加入新簇C
6.重复4.5直到不可扩展
-密度直达、可达、相连
-DBSCAN超参数的影响
DBSCAN的主要超参数包括eps(邻域半径)和MinPts(最小点数)
-
eps定义了每个点的邻域半径,其大小直接影响聚类的紧密性和数量;
eps较小:聚类更紧凑,包含更多的小簇;一些点可能会被标记为噪声点,无法归属到任何簇eps较大:聚类更宽松,但可能将一些实际独立的簇合并为一个簇;噪声点数量会减少,但可能引入不准确的聚类结果
-
MinPts定义了一个点成为“核心点”的最少邻居数量,控制了簇的最小密度要求
MinPts较小:对低密度簇更加敏感,容易形成较多的小簇;噪声点数量减少,但可能引入伪簇(噪声误判为簇)MinPts较大:聚类结果更严格,需要更高密度才能形成簇;噪声点数量增加,可能导致一些实际稀疏的簇无法被识别
-
交互影响:同时影响簇的规模、数量、噪声点和分辨率
BIRCH聚类
- 层次聚类,一种针对大规模数据集的聚类算法,该算法引入两个概念:聚类特征(CF)和聚类特征树(CF-tree)
- CF具有可加性,CF=(N,LS,SS),N是簇中数据点的数量;LS是簇中所有数据点的坐标的逐维线性和;SS是簇中所有数据点坐标的逐维平方和
- 簇半径R是成员对象到质心的平均距离,簇直径D是簇中两两数据点的平均距离,这两个统计量都反映了簇内紧实度
- CF树,存储了层次聚类的簇的特征,由根节点、枝节点和叶节点构成,CF树上不保存任何数据点,仅有树的结构信息以及相关的聚类特征信息,因此CF树可以达到压缩数据的效果
- 算法优点:
1.节省内存,叶子节点放在磁盘分区上,非叶子节点仅仅是存储了一个CF值,外加指向父节点和孩子节点的指针。
2.快,计算两个簇的距离只需要用到(N,LS,SS)这三个值
3.只需扫描一遍数据集即可建树
4.可识别噪声点,建立好CF树后把那些包含数据点少的子簇剔除
- 算法缺点:
1.结果依赖于数据点的插入顺序
2.对非球状的簇聚类效果不好
文本切分及特征词选择
文本切分
句子切分
-
词汇切分
-基于词典的词汇切分方法:速度比较快,效率比较高;受限于词典的质量、容量和广度1)正向最大匹配算法:每次从句子中切分出尽量长的词语2)逆向最大匹配算法:从待处理字符串的尾部开始切分3)双向匹配算法:当两种匹配算法的词汇切分结果不同时,我们分别统计两种词汇切分结果切分的词语的个数,取数目小的作为我们的切分结果;当两种匹配算法的词汇切分结果不同,而且切割后的词语的数目又相同时,此时,选择逆向匹配算法的切分结果。 -基于统计的词汇切分方法:基于统计的词汇切分方法摒弃了词典,它在进行词汇切分的时候不需要词典作为输入,而它需要的输入是各种各样的语言模型,而语言模型的训练需要的是中文语料集
文本特征词
文本特征词选择是指按照一定的规则从原始文本特征词集中选择出较具代表性的文本特征词子集的过程。独立评估方法1)TF-IDF权值:在TF-IDF中,TF表示文本特征词w在文档Di中出现的频率。IDF表示如果包含文本特征词w的文档越少,则说明w具有很好的类别区分能力2)信息增益:一个特征词w能够为分类系统带来的信息越多,则表示特征词w越重要3)交叉熵:反映了文本类别的概率分布和在出现某个特定词的条件下文本类别的概率分布之间的距离,文本特征词的交叉熵越大,对文本类别分布的影响也越大4)互信息:常用于表征两个变量的相关性,被用作文本特征词相关的统计模型及其相关应用的标准5)词频法:选择文本特征词时仅考虑文本特征词在文档集中出现的次数(文档的次数),如果某个文本特征词在文档集中出现的次数达到一个事先给定的阈值,则留下该文本特征词,否则删除。6)χ2统计量:用于表征两个变量间的相关性综合评估方法1)优化的文档频:优化的文档频是指出现文本特征词w的频率达到一定次数的文档数,记为Opti_DFn2)文本特征词区分度:文本特征词wi对类别cj的区分能力称为文本特征词区分度3)类内集中度:如果一个文本特征词对某个类别贡献较大,那么该文本特征词应该集中出现在该类的文档中,而不是分散地出现在各类文档中。类内集中度表示文本特征词wi在类别cj的文档集中的分布情况4)位置重要性:文本特征词的位置也应该作为度量文本特征词重要性的一个指标,称为位置重要性
分词模块
语料库
文本预处理
文本预处理
文本预处理是文本分类的初始阶段,是将原始的文本表示成计算机可识别的特定的数学模型。
向量空间模型
向量空间模型(VSM)的基本思想是把文本表示成向量空间中的向量,采用向量之间的夹角余弦作为文本间的相似性度量
语言模型
语言模型
独热编码
词嵌入
RNN与LSTM
目标检测
目标检测(Object Detection)的任务是找出图像中所有感兴趣的目标(物体),确定它们的类别和位置,是计算机视觉领域的核心问题之一。
语义分割是指对图片中的像素进行类别上的分类。
Faster R-CNN
Faster R-CNN(Region-based Convolutional Neural Networks)是一种用于目标检测的深度学习模型。它是R-CNN系列模型中的一种,相对于之前的模型,如R-CNN和Fast R-CNN,Faster R-CNN在速度和准确性方面都有显著的改进。
Faster R-CNN在目标检测任务上取得了很好的性能,并且成为了目标检测领域的主流方法之一。它的主要优点是能够同时实现高准确性和较快的检测速度,使得它在许多实际应用中得到广泛应用,如物体识别、行人检测和自动驾驶等领域。
算法流程:
-将图像输入骨干网络得到相应的特征图-使用RPN结构生成候选框,将RPN生成的候选框投影到特征图上获得相应的特征矩阵-将每个特征矩阵通过ROI pooling层缩放到7x7大小的特征图,接着将特征图展平通过一系列全连接层得到预测结果
正负样本:
训练阶段, 将图片中的 anchor 分为两类,与物体 IoU 大于0.5的 anchor 被认为是前景类(正样本);与物体完全没有重叠或者 IoU 小于0.1的被认为是背景类(负样本). 其余的 anchor 不参与计算损失. 之后从前景类与背景类 anchor 中以一定比例随机采样256个进入训练.
协同过滤
概述
协同过滤(Collaborative Filtering, 简称CF)是利用集体智慧的一个典型方法
推荐模型:
-输入数据:用户信息、商品信息、用户对商品的评分等信息-推荐系统:推荐算法-推荐商品:用户最可能感兴趣的商品列表
基于用户的协同过滤
基本思想:
-给定一个评分数据集和当前用户(目标用户)的ID作为输入-找出与当前用户过去有相似偏好的其他用户,即为最近邻-对当前用户没见过的每个商品P,利用其近邻对P的评分计算预测值
算法步骤:
-收集用户评分、评价行为等,进行数据清理、转换------->形成用户-物品评分矩阵-最近邻搜索:计算目标用户与其他各个用户的相似度,寻找相似度最高的作为邻居集-产生推荐:由K个最近邻用户对物品评分的加权来预测用户对未评分物品得评分
基于物品的协同过滤
基于假设:当前用户对多数用户评分相同或相似的物品的评分也
相似。
基本思想:先找出与物品i评分相似的邻居物品,再利用K个最近
邻物品评分的加权来预测用户对i的评分,进行推荐。
传统协同过滤算法存在的问题
-稀疏性问题
-冷启动问题
-可扩展性问题
-隐私性问题
数据仓库体系结构
数据集市的特性:
-规模小
-面向部门
-快速实现
-投资快速回收
-可升级到完整的数据仓库
数据仓库系统由数据仓库(DW)、仓库管理和分析工具三部分组成。
数据仓库可以按第三范式进行逻辑数据建模。它不同于星型模型在于,把事实表和维表的属性都集中在同一数据库中,按第三范式组织数据。它减少了维表中的键和不必要的属性。
第三范式:保证表的原子性(每张表中的数据不会冗余,一旦有冗余字段,就需要拆一张表出来,用外键与主表关联
数据抽取、转换和装在
元数据
OLAP在线分析处理
OLAP特性
-快速性
-可分析性
-多维性
-信息性