分类器

不平衡数据集的处理方法

天涯浪子 提交于 2020-04-08 08:02:14
(定义,举例,实例,问题,扩充,采样,人造,改变) 一、不平衡数据集   1)定义    不平衡数据集指的是数据集各个类别的样本数目相差巨大。以二分类问题为例,假设正类的样本数量远大于负类的样本数量,这种情况下的数据称为不平衡数据  2)举例   在二分类问题中,训练集中class 1的样本数比上class 2的样本数的比值为60:1。使用逻辑回归进行分类,最后结果是其忽略了class 2,将所有的训练样本都分类为class 1   在三分类问题中,三个类别分别为A,B,C,训练集中A类的样本占70%,B类的样本占25%,C类的样本占5%。最后我的分类器对类A的样本过拟合了,而对其它两个类别的样本欠拟合  3)实例    训练数据不均衡是常见并且合理的情况,比如:     a)在 欺诈交易 识别中,绝大部分交易是正常的,只有极少部分的交易属于欺诈交易    b)在 客户流失 问题中,绝大部分的客户是会继续享受其服务的(非流失对象),只有极少数部分的客户不会再继续享受其服务(流失对象)  4)导致的问题    如果训练集的90%的样本是属于同一个类的,而我们的分类器将所有的样本都分类为该类,在这种情况下,该分类器是无效的,尽管最后的分类准确度为90%。所以在数据不均衡时,准确度( Accuracy )这个评价指标参考意义就不大了   实际上,如果不均衡比例超过4:1

GBDT回归树过程详解

百般思念 提交于 2020-04-06 09:53:18
GBDT回归树过程详解 转载 简单点1024 最后发布于2018-04-11 22:56:46 阅读数 10281 收藏 展开 综述 GBDT(Gradient Boosting Decision Tree) 又叫 MART(Multiple Additive Regression Tree),是一种迭代的决策树算法,该算法由多棵决策树组成,所有树的结论累加起来做最终答案。它在被提出之初就和SVM一起被认为是泛化能力较强的算法。   GBDT中的树是回归树(不是分类树),GBDT用来做回归预测,调整后也可以用于分类。   GBDT的思想使其具有天然优势可以发现多种有区分性的特征以及特征组合。业界中,Facebook使用其来自动发现有效的特征、特征组合,来作为LR模型中的特征,以提高 CTR预估(Click-Through Rate Prediction)的准确性(详见参考文献5、6);GBDT在淘宝的搜索及预测业务上也发挥了重要作用(详见参考文献7)。 一、Regression Decision Tree:回归树 回归树总体流程类似于分类树,区别在于,回归树的每一个节点都会得一个预测值,以年龄为例,该预测值等于属于这个节点的所有人年龄的平均值。分枝时穷举每一个feature的每个阈值找最好的分割点,但衡量最好的标准不再是最大熵,而是最小化平方误差。也就是被预测出错的人数越多

PU Learning简介:对无标签数据进行半监督分类

做~自己de王妃 提交于 2020-03-28 19:42:59
当只有几个正样本,你如何分类无标签数据 假设您有一个交易业务数据集。有些交易被标记为欺诈,其余交易被标记为真实交易,因此您需要设计一个模型来区分欺诈交易和真实交易。 假设您有足够的数据和良好的特征,这似乎是一项简单的分类任务。 但是,假设数据集中只有15%的数据被标记,并且标记的样本仅属于一类,即训练集15%的样本标记为真实交易,而其余样本未标记,可能是真实交易样本,也可能是欺诈样本。您将如何对其进行分类? 样本不均衡问题是否使这项任务变成了无监督学习问题? 好吧,不一定。 此问题通常被称为PU(正样本和未标记)分类问题,首先要将该问题与两个相似且常见的“标签问题”相区别,这两个问题使许多分类任务复杂化。第一个也是最常见的标签问题是小训练集问题。当您有大量数据但实际上只有一小部分被标记时,就会出现这种情况。这个问题有很多种类和许多特定的训练方法。另一个常见的标签问题(通常与PU问题混为一谈)是,训练的数据集是被完全标记的但只有一个类别。例如,假设我们拥有的只是一个非欺诈性交易的数据集,并且我们需要使用该数据集来训练一个模型,以区分非欺诈性交易和欺诈性交易。这也是一个常见问题,通常被视为无监督的离群点检测问题,在机器学习领域中也有很多工具专门用于处理这些情况(OneClassSVM可能是最著名的)。 相比之下,PU分类问题涉及的训练集,其中仅部分数据被标记为正,而其余数据未标记

机器学习算法

谁说我不能喝 提交于 2020-03-28 07:40:58
转载自: http://www.cnblogs.com/tornadomeet   朴素贝叶斯:   有以下几个地方需要注意:   1. 如果给出的特征向量长度可能不同,这是需要归一化为通长度的向量(这里以文本分类为例),比如说是句子单词的话,则长度为整个词汇量的长度,对应位置是该单词出现的次数。   2. 计算公式如下:      其中一项条件概率可以通过朴素贝叶斯条件独立展开。要注意一点就是 的计算方法,而由朴素贝叶斯的前提假设可知, = ,因此一般有两种,一种是在类别为ci的那些样本集中,找到wj出现次数的总和,然后除以该样本的总和;第二种方法是类别为ci的那些样本集中,找到wj出现次数的总和,然后除以该样本中所有特征出现次数的总和。   3. 如果 中的某一项为0,则其联合概率的乘积也可能为0,即2中公式的分子为0,为了避免这种现象出现,一般情况下会将这一项初始化为1,当然为了保证概率相等,分母应对应初始化为2(这里因为是2类,所以加2,如果是k类就需要加k,术语上叫做laplace光滑, 分母加k的原因是使之满足全概率公式)。    朴素贝叶斯的优点:   对小规模的数据表现很好,适合多分类任务,适合增量式训练。    缺点 :   对输入数据的表达形式很敏感。   决策树:   决策树中很重要的一点就是选择一个属性进行分枝,因此要注意一下信息增益的计算公式,并深入理解它

R、画图相关--整理

﹥>﹥吖頭↗ 提交于 2020-03-27 06:45:42
z-score:   比如,某样本的100个snv的深度差别很大。但是,想画这些点的深度图。值大的与值小的点,通过不同颜色很容易区分开来;但是,值大的与值中等大的点,不容易区分。这时,可以把深度转换为z-score,使深度值变小,再用不同颜色区分不同深度值。    R中进行normalization的方法:   计算z-score;quantile;scale;lowess 建模:   现有100个样本,每个样本有50个snp的vaf值。另一方面,知道每个样本对某化疗药是否的临床信息。   即:每个样本的信息如下:(0对化疗药是否敏感, (0.1, 0.5,0.2,0.9,.....,0.8, 0.3,0.9)50个snp的vaf值)。   据此,可以构造分类器:snp的vaf值与是否敏感之间的关系。   分类器构建完成后,可用于:来了一个新样本,我检测这个样本的50个snp的vaf值。将vaf值输入分类器,即可得知该样本对化疗药物是否敏感。 画图技巧:   1. x轴画control,y轴画tumor。   2. 图中的空白区域尽量少。   3. 项目初期的探索阶段,尽量画散点图。 数据处理:   技巧:     1. 让数据更集中,图更好看。       方法:取log。取log后可以让数据更集中,得到的图趋势更明显。       比如,A样本深度1000,B样本深度10000

python大战机器学习——模型评估、选择与验证

删除回忆录丶 提交于 2020-03-22 02:05:32
python大战机器学习——模型评估、选择与验证 1、损失函数和风险函数 (1)损失函数:常见的有 0-1损失函数 绝对损失函数 平方损失函数 对数损失函数 (2)风险函数:损失函数的期望 经验风险:模型在数据集T上的平均损失   根据大数定律,当N趋向于∞时,经验风险趋向于风险函数 2、模型评估方法 (1)训练误差与测试误差   训练误差:关于训练集的平均损失   测试误差:定义模型关于测试集的平均损失。其反映了学习方法对未知测试数据集的预测能力 (2)泛化误差:学到的模型对未知数据的预测能力。其越小,该模型越有效。泛化误差定义为所学习模型的期望风险 (3)过拟合:对已知数据预测得很好,对未知数据预测得很差的现象。原因是将训练样本本身的一些特点当做了所有潜在样本都具有的一般性质,这会造成泛化能力的下降。常用的防止过拟合的办法为正则化。正则化是基于结构化风险最小化策略的实现。 3、模型评估 (1)留出法:直接将数据划分为三个互斥的部分,然后在训练集上训练模型,在验证集上选择模型,最后用测试集上的误差作为泛化误差的估计。 (2)交叉验证法(S折交叉验证法):数据随机划分为S个互不相交且大小相同的子集,利用S-1个子集数据训练模型,利用余下的一个子集测试模型。对S种组合依次重复进行,获取测试误差的均值。 (3)留一法:留出一个样例作为测试集。其缺点就是当数据集比较大时计算量太大 (4

元学习<A Meta-Learning Perspective on Cold-Start Recommendations for Items>论文解读

…衆ロ難τιáo~ 提交于 2020-03-21 18:05:35
矩阵分解(MF)是最流行的产品推荐技术之一,但众所周知,它存在严重的冷启动问题。项目冷启动问题在Tweet推荐等设置中尤其严重,因为新项目会不断到达。本文提出了一种元学习策略来解决新项目连续到达时项目冷启动的问题。我们提出了两种深度神经网络架构来实现我们的元学习策略。第一种结构学习一个线性分类器,其权值由项目历史确定,而第二种结构学习一个神经网络,其偏差被调整。我们对Tweet推荐的实际问题进行了评估。在Twitter的生产数据上,我们证明了我们提出的技术大大超过了MF基线,并且在Tweet推荐方面也优于生产模型。 item冷启动涉及到基于item描述、内容或内在价值的item特定特征。训练了一个模型,该模型可以参数化地(与查找表相反)推断该item的embeding向量。然后,可以将这些item embeding向量与用户embeding向量进行比较,从而向这些用户推荐新item。 然而,在新item不断产生的情况下,我们假设依赖离线训练的用户embeding查表中是次优的。事实上,这种方法无法捕捉在短时间内发生的用户兴趣的实质性变化,这是一种持续产生新item情况下的常见现象。当用户embeding被周期性地或增量地在线调整时(用户向量没法实时更新,随着新资源的加入),这个问题只得到部分解决。 或者,可以通过执行基于内容的筛选[21],在这里,我们将每个新item

模式匹配之常见匹配算法---SIFT/SURF、haar特征、广义hough变换的特性对比分析

荒凉一梦 提交于 2020-03-20 16:26:16
识别算法概述: SIFT/SURF基于灰度图, 一、首先建立图像金字塔,形成三维的图像空间,通过Hessian矩阵获取每一层的局部极大值,然后进行在极值点周围26个点进行NMS,从而得到粗略的特征点,再使用二次插值法得到精确特征点所在的层(尺度),即完成了尺度不变。 二、在特征点选取一个与尺度相应的邻域,求出主方向,其中SIFT采用在一个正方形邻域内统计所有点的梯度方向,找到占80%以上的方向作为主方向;而SURF则选择圆形邻域,并且使用活动扇形的方法求出特征点主方向,以主方向对齐即完成旋转不变。 三、以主方向为轴可以在每个特征点建立坐标,SIFT在特征点选择一块大小与尺度相应的方形区域,分成16块,统计每一块沿着八个方向占的比例,于是特征点形成了128维特征向量,对图像进行归一化则完成强度不变;而SURF分成64块,统计每一块的dx,dy,|dx|,|dy|的累积和,同样形成128维向量,再进行归一化则完成了对比度不变与强度不变。 haar特征也是基于灰度图, 首先通过大量的具有比较明显的haar特征(矩形)的物体图像用模式识别的方法训练出分类器,分类器是个级联的,每级都以大概相同的识别率保留进入下一级的具有物体特征的候选物体,而每一级的子分类器则由许多haar特征构成(由积分图像计算得到,并保存下位置),有水平的、竖直的、倾斜的,并且每个特征带一个阈值和两个分支值

机器学习第一次个人作业

淺唱寂寞╮ 提交于 2020-03-20 13:42:01
对课程的学习心得做一个小结,也可以是学习笔记 模式识别 一般由 特征提取 、 回归器 两模块组成 大致分为 回归 与 分类 两种形式 对于输入的待识别模式,根据已有的知识进行判别决策,输出其回归值或所属类别 机器学习 通过一定量的训练样本,来学习模型的参数,有以下几类: 有监督式学习:训练样本给定真值 无监督式学习:训练样本不给真值,难度较大,用于聚类、图像分割等 半监督式学习:仅给定一部分训练样本的真值,用于网络流数据等 强化学习:真值滞后反馈,适用于需要累积多次决策才知道结果好坏的任务 分类器 MED分类器 基于欧式距离的分类器,欧式距离 \(d(x1,x2)=(x2-x1)^{T}*(x2-x1)\) 判别方法: \((x-μ_{1})^{T}(x-μ_{1})<(x-μ_{2})^{T}(x-μ_{2})? C1类 : C2类\) 受特征的量纲、分布不同的影响,易导致分类错误,一般不直接用欧式距离进行分类 MICD分类器 基于马氏距离的分类器,马氏距离 \(d(x1,x2)=(x2-x1)^{T}Σ_{x}^{-1}(x2-x1)\) 判别方法: \((x-μ_{1})^{T}Σ_{x}^{-1}(x-μ_{1})<(x-μ_{2})^{T}Σ_{x}^{-1}(x-μ_{2})?C1类:C2类\) 对特征向量进行白化,消除特征间的相关性并使特征具有相同方差

5.机器学习之朴素贝叶斯详解

强颜欢笑 提交于 2020-03-18 01:11:41
本篇博客主要详细介绍朴素贝叶斯模型。首先贝叶斯分类器是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类器。而朴素贝叶斯分类器是贝叶斯分类器中最简单,也是最常见的一种分类方法。并且,朴素贝叶斯算法仍然是流行的十大挖掘算法之一,该算法是有监督的学习算法,解决的是分类问题。该算法的优点在于简单易懂、学习效率高、在某些领域的分类问题中能够与决策树、神经网络相媲美。但由于该算法以自变量之间的独立(条件特征独立)性和连续变量的正态性假设为前提(这个假设在实际应用中往往是不成立的),就会导致算法精度在某种程度上受影响。 朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法,是经典的机器学习算法之一。最为广泛的两种分类模型是决策树(Decision Tree Model)和朴素贝叶斯模型(Naive Bayesian Model,NBM)。和决策树模型相比,朴素贝叶斯分类器(Naive Bayes Classifier 或 NBC)发源于古典数学理论,有着坚实的数学基础,以及稳定的分类效率。同时,NBC模型所需估计的参数很少,对缺失数据不太敏感,算法也比较简单。理论上,NBC模型与其他分类方法相比具有最小的误差率。 历史背景解读: 18世纪英国数学家托马斯·贝叶斯(Thomas Bayes,1702~1761)提出过一种看似显而易见的观点: