导航:首页 > 源码编译 > roc算法

roc算法

发布时间:2023-03-08 06:50:55

‘壹’ 算法入门

ROC曲线(受试者工作特征曲线)的横坐标为假阳性率(分错的负样本占所有负样本比率),纵坐标为真阳性率(分对的正样本占所有正样本比率)。通过动态地调整分类模型的分类阈值,可以在ROC图上绘制出每一个分类阈值对应的两个坐标值,再连接所有点绘制出模型的ROC曲线。AUC指ROC曲线下面积的大小,该指标能够量化地反映基于ROC曲线的模型性能,AUC的取值一般都在0.5~1之间,值越大,说明分类器越可能把真正的正样本排在前面,分类性能越好。相比较P-R曲线,ROC曲线在正负样本的分布发生变化时,形状能够基本保持不变,而P-R曲线一般会发生较剧烈的变化,这个特点可以使得ROC曲线能够尽量降低不同测试集带来的干扰,更加客观地衡量模型本身的性能。在实际中,正负样本数量往往不均衡,因此ROC曲线的适用场景更广泛。

对于任意线性可分的两组点,它们在SVM分类的超平面上的投影都是线性不可分的。由于SVM的分类超平面仅由支持向量决定,可以考虑只含有支持向量的场景:假设存在一个SVM超平面满足投影线性可分,则样本中分属两类的支持向量之间的中垂线所组成的超平面是相较于SVM超平面更优的解,这与SVM超平面为最优分类超平面的假设相违背。

SVM的KKT条件:

结合(3)和(4),当 时,必有 ,将这一结果与拉格朗日对偶优化问题的公式相比较: ,其中 。除了支持向量之外,其他系数均为0,因此SVM的分类结果仅依赖于支持向量,SVM的分类结果与仅使用支持向量的分类结果一致。

该问题也可以通过凸优化理论中的超平面分离定理解决。

高斯核SVM的预测公式为: ,固定 ,则有 。由于不存在两个点在同一位置,则对于任意点 ,有 .

对于任意 ,取 ,有

所以,对于任意 ,预测结果 与真实标签的距离小于1,所有样本的类别都被正确预测,训练误差为0.

本题等价于找到使训练误差为0的参数,且是SVM模型的一个解。上述所找到的参数可以满足 ,若想成为SVM的解,还需要满足 。

仍然固定 ,则有 . 此时可以把每个 都选择一个很大的值,同时取一个非常小的 ,使得核映射项 非常小,就可以满足题意。

不一定能得到训练误差为0的模型,因为此时优化的目标改变了,当松弛变量模型目标函数参数C选取较小的值时,正则项将占据优化的较大比重,此时一个带有训练误差但是参数较小的点将成为更优的结果。

如果把一个事件的几率定义为该事件发生与该事件不发生的概率比值,根据逻辑回归的公式 ,逻辑回归可以看作是对于事件"y=1|x"的对数几率的线性回归,所以有回归的名称。但是逻辑回归的因变量是离散的,处理的是分类问题;线性回归中的因变量是连续的,处理的是回归问题。逻辑回归与线性回归的相似处是:都使用了极大似然估计,线性回归的最小二乘实际上是自变量和超参数确定、因变量服从正态分布的假设下使用极大似然估计的一个化简,逻辑回归中通过对似然函数的学习来得到最佳超参数;二者在求解超参数的过程中,都可以使用梯度下降法。

如果一个样本只对应于一个标签,可以假设每个样本属于不同标签的概率服从于几何分布,使用多项逻辑回归(Softmax Regression)来进行分类:
当存在样本可能属于多个标签的情况时,可以训练k个二分类的逻辑回归分类器,第i个分类器用于区分每个样本是否可以归为第i类。

ID3会倾向于选取取值较多的特征,因为信息增益反应的是给定条件以后不确定性减少的程度,特征取值越多就意味着确定性更高,也就是条件熵越小,信息增益越大,C4.5通过引入信息增益比,一定程度对取值比较多的特征进行惩罚,避免ID3出现过拟合的特性,提升模型的泛化能力;ID3只能处理离散变量,而C4.5和CART都可以处理连续变量;ID3和C4.5只能用于分类任务,CART不仅可以分类也可以用于回归;ID3和C4.5可以在每个结点上产生出多叉分支,且每个特征在层级之间不会复用,而CART每个结点只会产生两个分支,且每个特征可以被重复使用;ID3和C4.5通过剪枝来权衡树的准确性与泛化能力,而CART直接利用全部数据发现所有可能的树结构进行对比。

对于给定的一组数据点 ,中心化后表示为 ,其中 ,目标是找到一个投影方向 (单位方向向量)使数据点在其上的投影方差尽可能大。投影之后的均值: 投影之后的方差(均值为0,直接平方): 其中, 是样本的协方差矩阵,将其写作 ,则有求解最大化问题: 引入拉格朗日乘子,并对 求导令其等于0,可以推出 ,此时 该值为协方差矩阵的最大特征值

LDA的最大化目标: 其中 分别表示两类投影后的方差: 则目标函数可以写成: 定义类间散度矩阵 ,类内散度矩阵 ,最大化 即是对 求偏导且令其等于零: 可以得出 在简化的二分类问题中,可以令 ,则有 这里LDA最大化的目标对应了矩阵 的特征值,而投影方向就是这个特征值对应的特征向量。

PCA为无监督降维算法,LDA为有监督降维算法,两种降维算法的求解过程有很大的相似性,但是对应的原理却有所区别:PCA选择投影后数据方差最大的方向,由于算法无监督,PCA假设方差越大信息量越多,用主成分来表示原始数据可以去除冗余的维度,达到降维;LDA用到了类别标签的信息,选择投影后类内方差小、类间方差大的方向,使得原始数据在这些方向上投影后不同类别尽可能区分开。应用的原则是无监督任务使用PCA,有监督任务使用LDA。

优点:对于大数据集,K均值聚类算法相对是可伸缩和高效的,它的计算复杂度是 接近于线性,其中 是数据对象的数目, 是聚类的簇数, 是迭代的轮数;尽管算法经常以局部最优结束,但一般情况下达到局部最优已经可以满足聚类的需求

缺点:需要人工预先确定初始K值,且该值和真实的数据分布未必吻合;受初值和离群点的影响,每次的结果不稳定;结果通常不是全局最优而是局部最优解,效果受到初始值影响;无法良好地解决数据簇分布差别比较大的情况(比如一类是另一类样本数量的100倍);不太适用于离散分类;样本点只能被划分到单一的类中

SOM本质上是一个两层的神经网络,包含模拟感知的输入层和模拟大脑皮层的输出层,输出层中神经元的个数通常是聚类的个数。具有保序映射的特点,可以将任意维输入模式在输出层映射为一维或者二维图形,并保持拓扑结构不变,使得输出层神经元的空间位置对应于输入空间的特定域或特征。在SOM中,以获胜神经元为中心,近邻者相互激励,远邻者相互抑制,这种交互作用的方式以曲线可视化则类似于“墨西哥帽”。

输出层神经元数量:和样本的类别数相关。若不清楚样本的类别,则尽可能地设定较多的节点数,以便更好地映射样本的拓扑结构,如果分类过细再酌情减少输出节点。这样可能会带来少量从未更新过权重的“死节点”,但一般可通过重新初始化权重来解决

输出层节点排列:排列形式应尽量直观地反映出实际问题的物理意义。例如,对于一般的分类问题,一个输出节点能代表一个模式类,使用一维线阵;对于颜色空间或者旅行路径问题,二维平面则比较直观

初始化权重:可以随机初始化,但尽量使权值的初始位置与输入样本的大概分布区域充分重合,避免出现大量初始"死节点"。可以从训练集中随机抽取m个输入样本作为初始权重

拓扑领域:设计原则是使领域不断缩小,这样输出平面上相邻神经元对应的权向量之间既有区别又有相当的相似性,从而保证当获胜节点对某一类模式产生最大响应时,其领域节点也能产生较大响应。领域的形状可以是正方形、六边形或者菱形。优势领域的大小用领域的半径表示,通常凭借经验来选择

学习率:学习率为递减函数,训练开始时,学习率可以选取较大的值,之后以较快的速度下降,有利于很快地捕捉到输入向量的大致结构,然后学习率在较小的值上缓降为0,这样可以精细地调整权值使之符合输入空间的样本分布结构。

如果数据基本随机,那么聚类的结果毫无意义。可以用霍普金斯统计量来判断数据在空间上的随机性:从样本中随机找 个点 ,对每一个 ,都在样本空间中找到一个离它最近的点并计算它们之间的距离 ,从而得到距离向量 ;从样本可能取值范围内随机生成 个点 ,使用同样的原则得到距离向量 ,则霍普金斯统计量 可表示为: 。如果样本接近随机分布,则 的值接近于0.5,如果聚类趋势明显,随机生成的样本点距离应该远大于实际样本点距离,则 的值接近于1。

阅读全文

与roc算法相关的资料

热点内容
android手机安装失败 浏览:28
云计算没有服务器 浏览:67
怎么显示android的APP 浏览:121
c编译器怎么删除空格 浏览:695
php自动释放内存 浏览:219
golang编译库 浏览:794
oracle数据字符串加密 浏览:603
研究生去上海当程序员 浏览:90
u8电脑服务器连接失败怎么解决 浏览:569
bat脚本创建日期命名文件夹 浏览:104
将图片转换为pdf格式 浏览:980
java中形参 浏览:83
枚举类型编译器 浏览:519
oraclejava包 浏览:568
手机定位手机怎么定位安卓 浏览:523
在哪个app买欧莱雅最便宜 浏览:495
程序员吃零食好吗 浏览:261
php工程师主要做什么 浏览:356
tvp保存到哪个文件夹 浏览:197
怎么把空调里面的压缩机拆卸掉 浏览:943