![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
机器学习
文章平均质量分 77
supercolar
这个作者很懒,什么都没留下…
展开
-
目标检测中的AP mAP
涉及几个概念:IOU——>Precision,Recall——>PR曲线——>AP(Average Precision,针对单类)——>mAP(AP值在所有类别下的均值)https://zhuanlan.zhihu.com/p/88896868...转载 2020-02-15 21:21:15 · 1361 阅读 · 1 评论 -
多任务深度学习的三个经验教训
雷锋网 AI 科技评论按,AZohar Komarovsky,Taboola 算法工程师,致力于研究推荐系统相关的机器学习应用程序。不久前他分享了最近一年关于多任务深度学习的研究经验。雷锋网 AI 科技评论编译整理如下:在过去的一年里,我和我的团队一直致力于提高 Taboola Feed 的个性化用户体验。我们使用多任务学习(MTL)来预测同一组输入特性上的多个关键性能指标(KPIs),并在 ...转载 2019-12-20 12:29:08 · 825 阅读 · 1 评论 -
机器学习:聚类-性能度量指标简介(附代码实现)
聚类的性能度量大致有两类:“外部指标”和“内部指标”。外部指标:是指把算法得到的划分结果跟某个外部的“参考模型”(如专家给出的划分结果)比较。定义:有如下常用的聚类性能度量的外部指标:Jaccard系数(JC):FM指数(FMI):Rand指数(RI):容易看出,这些指标的值都在[0,1]之间,且越大越好。内部指标:是指直接考察聚类结果,不利用任何参...原创 2019-10-14 10:19:48 · 2856 阅读 · 1 评论 -
机器学习:原型聚类-学习向量量化LVQ算法浅析(附代码实现)
学习向量量化算法(以下简称LVQ)和k均值算法(k-means)都属于原型聚类的典型算法,它跟k均值算法最大的不同是,LVQ的样本带有类别标记,利用这些标记辅助聚类,属于监督学习范畴。LVQ的目标是学得一组n维(样本维数)原型向量{P1,P2,...,Pq},每个原型向量代表一个聚类簇。算法描述如下:第6-10行表示,当距离最近的原型向量与所选样本标记相同,则该原型向量向样本方向靠拢;...原创 2019-10-14 10:26:50 · 1906 阅读 · 2 评论 -
机器学习:原型聚类-高斯混合聚类算法、EM算法原理推导证明
高斯混合聚类假设样本来自高斯混合分布。先看高斯分布,若样本n维样本x服从高斯分布,则其概率密度函数为:可以看出,高斯分布完全由均值向量μ和协方差矩阵Σ两个参数确定,把上式概率密度函数记为:p(x|μ,Σ).实际中,样本集可能是来自多个不同的概率分布,或者来自相同的概率分布但分布的参数不同(这里的不同即表示了样本所属聚类的不同)。这里假设样本集来自参数不同的k个高斯分布(k个混合成分,每...原创 2019-10-14 10:25:36 · 1825 阅读 · 1 评论 -
机器学习:密度聚类-DBSCAN算法简介(附代码实现)
密度聚类假设聚类结构能通过样本分布的紧密程度确定。DBSCAN(Density-Based Spacial Clustering of Application with Noise)就是一种著名的密度聚类算法,它用一组参数(,MinPts)来刻画样本分布的紧密程度。先定义下面的一些概念:-邻域:对,其-邻域包含样本集D中与的距离不大于的样本,即;核心对象:若的-邻域至少包含MinPts...原创 2019-10-14 10:10:36 · 889 阅读 · 0 评论 -
机器学习:降维算法-多维缩放MDS算法(多维尺度变换)推导
直奔主题:设原样本集中m个样本之间的距离矩阵为,第i行第j列的元素为样本到的距离。我们的目标是获得样本在d' 维空间的表示,记:,且任意两个样本在d'维空间的欧式距离等于原始空间中的距离,即。设B为降维后样本的内积矩阵,记为:.有:.如果能通过已知的原始空间的距离矩阵D求到,即得到降维后的样本内积矩阵B,则可通过正交对角化求得样本在低维空间的表示Z。所以,下面的工作就是进行一些列神...原创 2019-10-14 10:18:40 · 2688 阅读 · 3 评论 -
机器学习:降维算法-主成分分析PCA算法两种角度的推导
若把高维空间的样本点(可以想象是一个3维的)映射到一个超平面,怎样的超平面可以认为是“好的”,可以想到这个超平面大概有这样的性质:最近重构行:样本点到超平面的距离都足够近;(样本点变化尽可能小,丢失的信息尽可能少) 最大可分性:样本点在这个超平面上的投影尽可能分开.(样本点在低维空间区分度尽可能高)神奇的是,从两个角度出发,可以分别得到主成分分析PCA算法的两种等价推导。根据最近重构性...原创 2019-10-14 10:21:04 · 2734 阅读 · 0 评论 -
机器学习:降维算法-核主成分分析KPCA算法原理推导
说真的,刚开始接触机器学习,一看到带“核”字的算法就头疼(-…-),没高人指引,总觉得理解起来费劲,也不确定理解的对不对。可能是因为这个“核”有点抽象,没有具体形式(形式不确定),操作很风骚。当然到现在也不敢说自己有多理解,只能扯扯目前所理解到的核主成分分析KPCA。PCA是简单的线性降维的方法,KPCA则是其非线性的扩展,可以挖掘到数据集中的非线性信息。KPCA的主要过程是:首先将原...原创 2019-10-14 09:44:22 · 4669 阅读 · 3 评论 -
机器学习:核函数和核矩阵简介
核函数也就是一种函数,本质上跟其他常见的函数(如幂函数)是一样的。我们知道,幂函数有它的特点,形如的函数才能称为幂函数。同样,核函数也有他的特点,只不过它的特点更复杂一点,满足以下要求的函数才能称为核函数(定理):令为输入空间,是定义在上的对称函数,则是核函数当且仅当对于任意数据,核矩阵K总是半正定的:.上面的定理表明,只要一个对称函数对应的核矩阵半正定,它就能作为核函数。常用的核...原创 2019-10-14 09:30:03 · 9224 阅读 · 2 评论 -
一文看懂自编码器、堆叠自编码器、稀疏自编码器、降噪自编码器
自从Hinton 2006年的工作之后,越来越多的研究者开始关注各种自编码器模型相应的堆叠模型。实际上,自编码器(Auto-Encoder)是一个较早的概念了,比如Hinton等人在1986, 1989年的工作。(说来说去都是这些人呐。。。)自编码器简介先暂且不谈神经网络、深度学习,仅是自编码器的话,其原理很简单。自编码器可以理解为一个试图去还原其原始输入的系统。如下图所示:图中,...转载 2019-10-13 12:04:56 · 6407 阅读 · 3 评论 -
在linux系统上用conda安装github上基于pytorch1.0的SSD模型解决下载太慢和配置使用问题
基于pytorch1.0的SSD模型地址:https://github.com/lufficc/SSD首先安装anaconda,anaconda下载地址为:https://www.anaconda.com/distribution/因为该SSD模型基于python3,所以下载python3.7版本的anaconda。下载的下来的文件是一个.sh文件,直接在终端输入文件名.sh运...原创 2019-10-13 12:13:35 · 517 阅读 · 0 评论 -
机器学习:原型聚类-k均值算法k-means(附代码实现)
首先,聚类的目的是将样本划分为若干个通常不相交的子集,子集内部的样本存在着某种潜在的关系。k均值算法的核心思想是最小化如下的平方误差:这个式子表达了聚类内的样本和该聚类的均值向量的紧密程度,E越小则聚类内的样本越紧密。然而,最小化这个式子是NP难问题,不能快速解决。k均值算法采用了迭代优化的贪心算法:为了避免运行时间过长,可以认为设定循环轮数或最小调整的幅度阈值。下图是...原创 2019-10-14 10:28:20 · 1062 阅读 · 0 评论 -
机器学习:聚类-闵科夫斯基距离和无序属性的VDM距离计算
距离计算是很多学习算法会涉及的内容,当然包括聚类算法,这里简单介绍下有序属性的闵科夫斯基距离和无序属性的VDM距离。关于有序属性,大概可以这样理解:假设身高的属性有{矮,中,高},为了计算方便,我们把它们转成数字{1,2,3},1和2较接近(矮和中相差较小),1和3较远(矮和高相差较大),发现这样的转化基本可以反应原先属性间的关系。类似这样的属性(这里是身高)可以认为是有序属性,可以直接转化成...原创 2019-10-14 10:29:26 · 3812 阅读 · 2 评论 -
机器学习:决策树-基础算法,剪枝,连续值缺失值处理,多变量决策树(附代码实现)
基础算法举个栗子:当一个有经验的老农看一个瓜是不是好瓜时,他可能会先看下瓜的颜色,一看是青绿的,心想有可能是好瓜!接着他又看了下根蒂,发现是蜷缩着的,老农微微点头,寻思着五成以上是好挂瓜!最后他又敲了下瓜,一听发出浑浊的响声,高兴的叫到:这瓜是个好瓜啊!这就是老农做出决策的大致过程。决策树算法基本就是偷学老农的决策过程,如下图代码的形式表示:划分属性选择上图算法最重要的...原创 2019-10-14 11:01:32 · 3312 阅读 · 1 评论 -
机器学习:神经网络-多层前馈神经网络浅析(附代码实现)
M-P神经元模型神经网络中最基本的组成成分:神经元模型。如下图是一个典型的“M-P神经元模型”:上图中,神经元接收到n个其他神经元传递过来的输入信号,这些信号通过权重的连接进行传递,神经元接收到的总输入值与神经元的阈值进行比较,并通过“激活函数”处理产生神经元输出。常用S函数作为激活函数:y=1/(1+e^-x);多层前馈神经网络定义:每层神经元与下一层神经元全互...原创 2019-10-14 11:00:13 · 2624 阅读 · 1 评论 -
机器学习:线性模型-线性回归及对数几率回归(附代码实现)
线性模型基本形式:f(x)=w1*x1+w2*x2+w3*x3+...+wd*xd+b向量形式:f(x)=w'x+b(w'指w转置w'=(w1,w2,w3,...,wd))回归任务最常用均方误差作为性能度量,见下图广义线性模型:y=g^-1(w'x+b)(g^-1表示g(.)的逆函数,即g(y)=w'x+b)如对数线性回归:lny=w'x+b,让e^(w'x+b)逼近y...原创 2019-10-14 11:10:28 · 2189 阅读 · 1 评论 -
机器学习:绪论-算法的好坏必须针对具体的问题
绪论主要介绍了一些基本概念,这里要讲的是“归纳偏好”。机器学习过程中可能会产生多个和训练集符合的模型,如对对于(0,0),(1,1)这样的样本点,y=x和y=x^2的假设都满足训练集,“归纳偏好”是指一个机器学习算法对某种假设的偏好。任何的机器学习算法都必须有偏好,否则将无法产生学习结果。比如给定输入x=2,算法时而输出2,时而输出4,结果将没有意义。“归纳偏好”大多数时候直接决定了算法是...原创 2019-10-14 11:09:33 · 350 阅读 · 1 评论 -
机器学习:线性模型-线性判别分析LDA(附代码实现)
LDA思想:给定训练集,将训练集投影到一条直线上,相同类别的投影点尽可能近,不同类别的投影点尽可能远。在对新样本进行分类时,将新样本投影到学习到的该直线上,跟据投影点的位置确定新样的类别。如下图:二分类任务算法分析:推广到多分类任务:多分类任务中类间散度矩阵推导:(x平均为所有样本的平均,xi平均为第i类样本的平均,c为类别数,Ni为第i类样本数)...原创 2019-10-14 11:04:13 · 1819 阅读 · 1 评论 -
机器学习:线性模型-多分类任务拆分之纠错输出码ECOC浅析
多分类任务通常转化为多个二分类任务,再对预测结果进行集成得出最终分类结果。拆分为二分类任务通常有3种:一对一(OvO),一对其余(OvR)和多对多(MvM)。OvO:将N个类别两两配对,共N(N-1)/2个分类任务,每个分类任务一个类别作为正例,另一个作为反例,学习得到N(N-1)/2个分类器。新样本同时提交给所有分类器,得到N(N-1)/2个分类结果,把预测最多的类别作为最终结果。见...原创 2019-10-14 11:03:04 · 4684 阅读 · 4 评论 -
机器学习:支持向量机SVM简述
如上图所示,直观上看,红色那条线能更好的将样本分类,因为它更能容忍训练样本的扰动,对未见样本的泛化性能更强。支持向量机就是来寻找这样一个超平面(即上图中的红线),可用线性方程表示:w'x+b=0.其中w=(w1;w2;...;wd);如何找到这条红线?样本空间任意一点x到超平面(w,b)的距离为:若超平面对样本正确分类,对于样本(Xi,Yi),若Yi=1(正例),则w'Xi+b>...原创 2019-10-14 10:39:45 · 339 阅读 · 1 评论 -
机器学习:支持向量机SVM对偶问题
上一篇得到了支持向量机的基本型:这里称上式为主问题,对上式使用拉格朗日乘子法,得到该问题的拉格朗日函数:其中a=(a1;a2;...;am),且a>=0,即a的每个分量都大于等于0(a指上式的阿尔法)。可知上式中的第二项求和小于等于0。所以拉格朗日函数L<=f(x)=(1/2)*(||w||^2)。令拉格朗日函数L对w,b的偏导数为0,可得:因为拉格朗日函数L...原创 2019-10-14 10:38:28 · 675 阅读 · 1 评论 -
拉格朗日乘子法原理:等式约束和不等式约束KKT条件
拉格朗日乘子法是寻找函数在一组约束下的极值方法。1、等式约束形式:(x是d维向量)min f(x)s.t. h(x) = 0.写成如下形式:min f(x)+lambda*h(x)(lambda为参数)s.t. h(x) = 0.发现两者是等价的。记:拉格朗日函数L(x,lambda) =f(x)+lambda*h(x).发现约束条件h(x)=0,其实就是...原创 2019-10-14 10:36:34 · 12272 阅读 · 1 评论 -
机器学习:朴素贝叶斯分类器(附代码实现)
首先给出贝叶斯公式:其中x表示样本,c表示类别。一些概念:P(c)为先验概率,即在得到新数据前的假设概率;P(c|x)为后验概率,即在看到新数据后,我们要计算的该假设概率;P(x|c)为该假设下得到这一数据的概率,称为似然度;P(x)是在任意假设下得到这一数据的概率,称为标准化常量。公式左边是这样一个条件概率:已知样本x,求它属于c类的概率。那么,相应的算法就...原创 2019-10-14 10:33:57 · 2823 阅读 · 1 评论 -
机器学习:支持向量机SVM-软间隔
上两篇(机器学习:支持向量机SVM简述,机器学习:支持向量机SVM对偶问题)都是讨论的硬间隔,即要求每个样本的都正确分类,但在实践中这个要求可能不太容易实现,所以提出软间隔:允许某些样本不满足约束Yi(w'Xi+b)>=1.虽然允许某些样本不满足约束,但不满足约束的样本应该尽可能少,于是优化目标可以写成:其中:是“0/1损失函数”。但该函数非凸、非连续,数学性质不好,所以出现了一...原创 2019-10-14 10:35:14 · 387 阅读 · 1 评论 -
机器学习:半朴素贝叶斯分类器
上篇介绍了朴素贝叶斯分类器,之所以称为朴素,是因为它有一个重要假设:属性条件独立性假设,即假设所有属性相互独立。而现实任务中很难满足这个假设。所以有人就尝试对属性条件独立性假设做出一定的放松,于是就产生了“半朴素贝叶斯分类器”。假设每个属性最多仅依赖一个其他属性:问题转变为确定每个属性的依赖的属性(父属性)。SPODE方法:假设所有的属性都依赖同一个属性,称为“超父”,可以通过模型选...原创 2019-10-14 10:32:49 · 985 阅读 · 0 评论 -
机器学习:贝叶斯网浅析(附代码实现)
贝叶斯网的目的是为了从已知属性推测其他未知属性的取值。贝叶斯网是描述属性间依赖关系的有向无环图,并使用概率分布表描述属性的联合概率分布。如下图(A指向B表示B依赖于A):贝叶斯网由结构G和参数Θ组成,即B=<G,Θ>。Θ定量描述了属性间的依赖关系,即Θ包含了每个属性条件概率表。我们要做的就是构建一个尽量能准确反应属性间依赖关系的贝叶斯图。常使用“评分搜索”。定义评分函数...原创 2019-10-14 10:31:38 · 1717 阅读 · 0 评论 -
机器学习:模型评估与选择-数据集划分(附代码实现)
通过学习得到的一个学习器,我们要知道它的泛化性能,即面对新的数据,算法产生的结果好不好。显然,我们不能用使用过的数据进行评估。所以,对于手里有限的数据集,我们要进行划分,划分为训练集和测试集,测试样本尽量不在训练集中出现,训练集用来训练模型,测试集用来评估模型的性能。这里介绍3种划分方法。1、留出法数据集D划分为训练集S和测试集T,D=S并T,S交T=空集。如1000个数据集,500个正样...原创 2019-10-14 11:08:36 · 3671 阅读 · 1 评论