前几天接的一个小项目,基于欧氏距离和马氏距离的异常点检测,已经交接完毕,现在把代码公开. 基于欧式距离的: load data1.txt %导入数据,行为样本,列为特征 X=data1; %赋值给X u=mean(X); %求均值 [m,n]=size(X); for i=1:m dist(i)=sqrt(sum(X(i,:)-u).^2); end [a,b]=sort(dist);%对欧氏距离进行排序 T=ceil(m*0.02)%设置阀值   Threshold=a(m-T);%定为阀值…
MATLAB求马氏距离(Mahalanobis distance) 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 1.马氏距离计算公式 d2(xi, xj)=(xi-xj)TS-1(xi-xj) 其中,S是总体的协方差矩阵,而不是样本的协方差矩阵. 2.matlab中现有的函数 >> x=[155 66;180 71;190 73;160 60;190 68;150 58;170 75] x = 155 66 180 71 190 73 160…
马氏距离(Mahalanobis distance)是由印度统计学家马哈拉诺比斯(P. C. Mahalanobis)提出的,表示数据的协方差距离.它是一种有效的计算两个未知样本集的相似度的方法.与欧氏距离不同的是它考虑到各种特性之间的联系(例如:一条关于身高的信息会带来一条关于体重的信息,因为两者是有关联的)并且是尺度无关的(scale-invariant),即独立于测量尺度. 对于一个均值为,协方差矩阵为Σ的多变量矢量,其马氏距离为 马氏距离也可以定义为两个服从同一分布并且其协方差矩阵为Σ的…
(from:http://en.wikipedia.org/wiki/Mahalanobis_distance) Mahalanobis distance In statistics, Mahalanobis distance is a distance measure introduced by P. C. Mahalanobis in 1936.It is based on correlations between variables by which different patterns…
讲解教授:赵辉 (FROM : UESTC) 课程:<模式识别> 整理:PO主 基础知识: 假设空间中两点x,y,定义: 欧几里得距离, Mahalanobis距离, 不难发现,如果去掉马氏距离中的协方差矩阵,就退化为欧氏距离.那么我们就需要探究这个多出来的因子究竟有什么含义. 第一个例子 从下往上的一段50米长的坡道路,下面定一个A点,上面定B一个点.假设有两种情况从A到B: a)坐手扶电梯上去. b)从手扶电梯旁边的楼梯爬上去. 两种情况下我们分别会产生两种不同的主观感受,坐电梯轻松愉快,…
(from:http://en.wikipedia.org/wiki/Mahalanobis_distance) Mahalanobis distance In statistics, Mahalanobis distance is a distance measure introduced by P. C. Mahalanobis in 1936.It is based on correlations between variables by which different patterns…
关于度量学习,之前没有看太多相关的文献.不过南京的周老师的一篇NIPS,确实把这个问题剖析得比较清楚. Mahalanobis距离一般表示为d=(x-y)TM(x-y),其中x和y是空间中两个样本点,M就是要学出的度量. 这里的度量的在马氏距离公式的意义是,在先验概率不等的情况下,用M作为协方差参数,表示样本点在空间中疏密程度.固然马氏距离也有缺点,将样品不同属性间差别视为等同量的差别,这样就放大了微小差别变量的影响权重:但是马氏距离确乎是搞清楚之后能继续深入学习度量学习的一个重要概念. htt…
马氏距离有多重定义: 1)可以表示 某一个样本与DataSet的距离. 2)可以表示两个DataSet之间的距离. 1) The Mahalanobis distance of an observation {\displaystyle {\vec {x}}=(x_{1},x_{2},x_{3},\dots ,x_{N})^{T}} from a set of observations with mean {\displaystyle {\vec {\mu }}=(\mu _{1},\mu _{…
Python实现的计算马氏距离算法示例 本文实例讲述了Python实现的计算马氏距离算法.分享给大家供大家参考,具体如下: 我给写成函数调用了 python实现马氏距离源代码:     # encoding: utf-8 from __future__ import division import sys reload(sys) sys.setdefaultencoding('utf-8') import numpy as np def mashi_distance(x,y):   print…
转载于博客:各种距离 在做分类时常常需要估算不同样本之间的相似性度量(SimilarityMeasurement),这时通常采用的方法就是计算样本间的"距离"(Distance).采用什么样的方法计算距离是很讲究,甚至关系到分类的正确与否. 本文的目的就是对常用的相似性度量作一个总结. 本文目录: 1.欧氏距离 2.曼哈顿距离 3. 切比雪夫距离 4. 闵可夫斯基距离 5.标准化欧氏距离 6.马氏距离 7.夹角余弦 8.汉明距离 9.杰卡德距离& 杰卡德相似系数 10.相关系数…
曼哈顿距离: 是由十九世纪的赫尔曼·闵可夫斯基所创词汇 ,是种使用在几何度量空间的几何学用语,用以标明两个点在标准坐标系上的绝对轴距总和. 曼哈顿距离——两点在南北方向上的距离加上在东西方向上的距离,即d(i,j)=|xi-xj|+|yi-yj|. 对于一个具有正南正北.正东正西方向规则布局的城镇街道,从一点到达另一点的距离正是在南北方向上旅行的距离加上在东西方向上旅行的距离,因此,曼哈顿距离又称为出租车距离. 欧几里得距离: 欧几里得度量(euclidean metric)(也称欧氏距离)是一…
1193: [HNOI2006]马步距离 Time Limit: 10 Sec  Memory Limit: 162 MB Description 在国际象棋和中国象棋中,马的移动规则相同,都是走"日"字,我们将这种移动方式称为马步移动.如图所示, 从标号为 0 的点出发,可以经过一步马步移动达到标号为 1 的点,经过两步马步移动达到标号为 2 的点.任给 平面上的两点 p 和 s ,它们的坐标分别为 (xp,yp) 和 (xs,ys) ,其中,xp,yp,xs,ys 均为整数.从 (…
本文是利用蒙特卡罗算法对马氏链过程的模拟.假设有10个状态,从每个状态到与之相邻状态的概率是相同的,仿真次数为1000,及进行了1000次状态转移.我们以动画的形式再现了状态转移的过程,并记录了到达每个状态的次数,具体实现如下: close all;clc;clear; figure; s=1; n=1000; r=1; % 圆圈的半径 title('等概率情况的计算机模拟') set(gcf,'doublebuffer','on'); % 设置图形渲染效果 xlabel('Please pre…
1193: [HNOI2006]马步距离 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 2027  Solved: 915[Submit][Status][Discuss] Description 在国际象棋和中国象棋中,马的移动规则相同,都是走“日”字,我们将这种移动方式称为马步移动.如图所示, 从标号为 0 的点出发,可以经过一步马步移动达到标号为 1 的点,经过两步马步移动达到标号为 2 的点.任给 平面上的两点 p 和 s ,它们的坐标分…
1193: [HNOI2006]马步距离 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1988  Solved: 905[Submit][Status][Discuss] Description 在国际象棋和中国象棋中,马的移动规则相同,都是走“日”字,我们将这种移动方式称为马步移动.如图所示, 从标号为 0 的点出发,可以经过一步马步移动达到标号为 1 的点,经过两步马步移动达到标号为 2 的点.任给 平面上的两点 p 和 s ,它们的坐标分…
P2060 [HNOI2006]马步距离 数据到百万级别,明显爆搜不行,剪枝也没法剪.先打表.发现小数据内步数比较受位置关系影响,但数据一大就不影响了.大概搜了一个20*20的表把赋值语句打出来.判断时贪心,看两点间位置差,根据x差或者y差的大小比较来采取两种不同跳法,直到在小范围内再直接借助打的表加以输出.注意起点和目标的位置的及时调整(依据对称性,见line49),方便跳动. #include<iostream> #include<cstdio> #include<cst…
[HNOI2006]马步距离 Description Input 只包含4个整数,它们彼此用空格隔开,分别为xp,yp,xs,ys.并且它们的都小于10000000. Output 含一个整数,表示从点p到点s至少需要经过的马步移动次数. Sample Input 1 2 7 9 Sample Output 5 题解  大范围贪心,然后小范围暴力,代码略.......    …
1193: [HNOI2006]马步距离 题目:传送门 题解: 毒瘤题... 模拟赛时的一道题,刚开始以为是一道大难题...一直在拼命找规律 结果.... 还是说正解吧: 暴力的解法肯定是直接bfs,但是范围太大,肯定爆 那么我们可以利用贪心,缩小范围,这样bfs就很快啦~ 详解代码: #include<cstdio> #include<cstring> #include<cstdlib> #include<cmath> #include<algori…
完整代码及其数据,请移步小编的GitHub 传送门:请点击我 如果点击有误:https://github.com/LeBron-Jian/MachineLearningNote 在数据挖掘方面,经常需要在做特征工程和模型训练之前对数据进行清洗,剔除无效数据和异常数据.异常检测也是数据挖掘的一个方向,用于反作弊,伪基站,金融欺诈等领域. 在之前已经学习了异常检测算法One Class SVM和 isolation  Forest算法,博文如下: Python机器学习笔记:异常点检测算法--One…
Isolation,意为孤立/隔离,是名词,其动词为isolate,forest是森林,合起来就是“孤立森林”了,也有叫“独异森林”,好像并没有统一的中文叫法.可能大家都习惯用其英文的名字isolation forest,简称iForest . iForest适用于连续数据(Continuous numerical data)的异常检测,将异常定义为“容易被孤立的离群点(more  likely to be separated)”——可以理解为分布稀疏且离密度高的群体较远的点.用统计学来解释,在…
Isolation,意为孤立/隔离,是名词,其动词为isolate,forest是森林,合起来就是“孤立森林”了,也有叫“独异森林”,好像并没有统一的中文叫法.可能大家都习惯用其英文的名字isolation forest,简称iForest . iForest适用于连续数据(Continuous numerical data)的异常检测,将异常定义为“容易被孤立的离群点(more  likely to be separated)”——可以理解为分布稀疏且离密度高的群体较远的点.用统计学来解释,在…
CVPR2018论文看点:基于度量学习分类与少镜头目标检测 简介 本文链接地址:https://arxiv.org/pdf/1806.04728.pdf 距离度量学习(DML)已成功地应用于目标分类,无论是在训练数据丰富的标准体系中,还是在每个类别仅用几个例子表示的few-shot场景中.在中,提出了一种新的DML方法,在一个端到端训练过程中,同时学习主干网络参数.嵌入空间以及该空间中每个训练类别的多模态分布.对于基于各种标准细粒度数据集的基于DML的目标分类,方法优于最先进的方法.此外,将提出…
在邮件处理的方面,Lumisoft.NET可以说是非常不错的一个选择,我在前面几篇文章中都介绍过这个组件. 基于Lumisoft.NET组件开发碰到乱码等一些问题的解决 基于Lumisoft.NET组件的POP3邮件接收和删除操作 基于Lumisoft.NET组件和.NET API实现邮件发送功能的对比 我的博客内容几乎全部来源我的项目开发或者研究工作,因此对于这个组件的使用还是有一定的说服力,这个组件封装了很多底层的一些操作,对于我们操作邮件的发送.接收的处理,更加方便高效.本文主要介绍该组件…
原创文章,转载请注明:马踏棋盘问题-贪心(MATLAB&C++) By Lucio.Yang 1.问题描述 将马随机放在国际象棋的Board[0-7][0-7]的某个方格中,马按走棋规则进行移动,走遍棋盘上全部64个方格.编制非递归程序,求出马的行走路线,并按求出的行走路线,将数字1,2,…,64依次填入一个8×8的方阵,输出之. 2.matlab代码 clear all clc chessboard=zeros(8);%初始化 DirX=[2 1 -1 -2 -2 -1 1 2];%方向向量…
使用机器学习的方法进行人脸检测的第一步需要训练人脸分类器,这是一个耗时耗力的过程,需要收集大量的正负样本,并且样本质量的好坏对结果影响巨大,如果样本没有处理好,再优秀的机器学习分类算法都是零. 今年3月23日,微软公司在推特(Twitter)社交平台上推出了一个基于机器学习的智能聊天机器人Tay,Tay被设定为一个年龄为十几岁的女孩,主要目标受众是18岁至24岁的青少年.人们只需要@一下Tay,Tay就会追踪该用户的网名.性别.喜欢的食物.邮编.感情状况等个人信息.除了聊天,Tay还可以说笑话,…
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1193 题意: 给定起点(px,py).终点(sx,sy).(x,y < 10000000) 每一步只能走“日”字(象棋中的马走日),坐标可以为负. 问你从起点到终点最少走多少步. 题解: 简化问题: (1)从(px,py)到(sx,sy)等价于:从(abs(px-sx), abs(py-sy))到(0,0). (2)从(x,y)到(0,0)等价于:从(y,x)到(0,0). 所以原题简化…
我们无论遇到什么困难,都不要拖,微笑着面对他,战胜拖延的最好方法就是面对拖延. 今天又拖延了…… 早晨听完老师讲课,本想做一道题练练手的,结果因为懒,瘫了一上午.最后在固定的刷题时间去面对了这道题,然后就A了 额,这个题的思路是很好想的,虽然数据大了这么亿点点,但不难看出是个广搜吧(根本不是). 广搜根本不可能啊,数据太大了.但是我们可以发现什么东西,这个棋盘上没有障碍! 谁不知道平时广搜是因为不知道往哪里走才都试一遍的.但这个知道往哪走啊! 都知道怎么走了还广搜个毛线,冲过去就好了,但在最后几…
Description 求点(xs,ys)走马步到(xp,yp)的最小步数   Input 只包含4个整数,它们彼此用空格隔开,分别为xp,yp,xs,ys.并且它们的都小于10000000. Output 含一个整数,表示从点p到点s至少需要经过的马步移动次数. 设起点与终点的坐标差为(x,y) 则问题转化为求向量方程a*(1,2)+b*(2,1)+c*(1,-2)+d*(2,-1)==(x,y)的解满足a,b,c,d为整数且绝对值之和最小. 由对称性可令0≤y≤x 使a*(1,2)+b*(2…
嘟嘟嘟 这题首先直接bfs可定过不了,因此可以先贪心缩小两个点的距离,直到达到某一个较小的范围(我用的是30),再bfs暴力求解. 首先我们求出这两个点的相对距离x, y,这样就相当于从(x, y) 走到(0, 0).然后贪心时,x, y哪一个大,就-=2,另一个--.注意的是要一直保持x, y都是正的,所以每次去绝对值,这种做法正确性可以保证,因为根据题中给的图,可以知道他有对称性. #include<cstdio> #include<iostream> #include<…
题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1193 分析: 首先小范围可以直接暴力.(其实只要用上题目中的表就行了) 如果范围比较大的话就贪心着向目标点移动 如何贪心呢? 我们按照当前点与目标点的横坐标差和纵坐标差跳.哪个差大就跳-2,另一个就跳-1.如果相等,那么无所谓,因为会发现小范围的表格会有对称性.…