机器学习
MATLAB与python机器学习笔记及代码
Reacubeth
imperfect but true
展开
-
Wilcoxon秩和检验简介与MATLAB实现
Wilcoxon秩和检验(rank-sum test),有时也叫Mann-Whitney U检验,是另一类非参数检验方法,它们不对数据分布作特殊假设,因而能适用于更复杂的数据分布情况。适用性(1)资料的总体分布类型未知;(2)资料的总体分布类型已知,但不符合正态分布;(3)某些变量可能无法精确测量;(4)方差不齐。具体操作方法请移步https://www.cnblogs.com/ema...原创 2019-04-18 10:07:21 · 21154 阅读 · 0 评论 -
HyperVolume多目标评价指标概述
提出Hypervolume 指标评价方法最早是由 Zitzler 等提出,它表示由解集中的个体与参考点在目标空间中所围成的超立方体的体积。评价标准Hypervolume 指 标 评 价 方 法 是 一 种 与 Pareto 一致(Pareto-compliant)的评价方法,也就是说如果一个解集 S 优于另一个解集 S’,那么解集S 的 Hypervolume 指标亦会大于解集 S’的 Hy...原创 2019-04-06 12:26:56 · 19092 阅读 · 4 评论 -
对极大似然估计的理解
参数估计(parameter estimation)统计推断的一种。根据从总体中抽取的随机样本来估计总体分布中未知参数的过程。从估计形式看,区分为点估计与区间估计:从构造估计量的方法讲,有矩法估计、最小二乘估计、似然估计、贝叶斯估计等。参数估计的目的利用样本的已知信息,反推样本的具体环境,即反推参数值。举例来说,一堆离散的样本点,需要拟合,拟合出的函数的w系数,即是反推的参数值。这点便是...原创 2019-04-06 12:22:07 · 643 阅读 · 0 评论 -
DBSCAN聚类算法Python实现
原理DBSCAN是一种基于密度的聚类算法,这类密度聚类算法一般假定类别可以通过样本分布的紧密程度决定。同一类别的样本,他们之间的紧密相连的,也就是说,在该类别任意样本周围不远处一定有同类别的样本存在。通过将紧密相连的样本划为一类,这样就得到了一个聚类类别。通过将所有各组紧密相连的样本划为各个不同的类别,则我们就得到了最终的所有聚类类别结果。一些概念x1是核心对象,x2由x1密度直达,x...原创 2019-03-30 20:26:54 · 35511 阅读 · 19 评论 -
NSGA2算法中文详解与MATLAB实现整理
NSGA2算法NSGA-II多目标遗传算法概述http://www.omegaxyz.com/2017/04/14/nsga-iiintro/NSGA2算法MATLAB实现(能够自定义优化函数)http://www.omegaxyz.com/2018/01/22/new_nsga2/NSGA2算法特征选择MATLAB实现(多目标)http://www.omegaxyz.co...原创 2019-03-07 20:55:25 · 20376 阅读 · 12 评论 -
基于迭代局部搜索和随机惯性权重的BA算法MATLAB实现(ILSSIWBA)
BA算法简介http://www.omegaxyz.com/2019/02/12/ba-matlab/该论文修改作者在原有BA算法上进行3个修改跳出局部最优(扰动个体)使得算法变得稳定脉搏和响度修改,平衡局部与全局搜索主要思想流程图function [bestMin, bestID] = ILSSIWBA()%A new bat algorithm based on i...原创 2019-03-04 14:35:17 · 2551 阅读 · 5 评论 -
计算机领域顶级会议、期刊、人物与国家排名2019
原文地址:最近浏览到一个网站:http://www.guide2research.com/这是一个根据谷歌学术排名的计算机领域各类会议、学术期刊、人物、国家、组织的排名查询网站。时间2019年3月会议按照Hindex排名。显然第一名就是大名鼎鼎的CVPR了,第二名为NIPS。学术期刊人物(全球排名)灯塔国还是强啊!人物(中国大陆排名)我好像只知道周志华!国家排...原创 2019-03-01 11:04:02 · 2937 阅读 · 0 评论 -
经典蝙蝠算法MATLAB实现
为什么会有这么多基于群智能的算法,蚁群、粒子群、鱼群、烟花、炮竹、猪群、牛群、马群、羊群、猴群、鸡群。。。算法。??????黑人问号.jpg蝙蝠算法( BA) 是 Yang 教授于 2010 年基于群体智能提出的启发式搜索算法,是一种搜索全局最优解的有效方法。该算法是一种基于迭代的优化技术,初始化为一组随机解,然后 通过迭代搜寻最优解,且在最优解周围通过随机飞行产生局部新解,加强了局部搜索。...原创 2019-02-24 21:19:42 · 23808 阅读 · 50 评论 -
遗传算法解决TSP问题MATLAB实现(详细)
问题定义:巡回旅行商问题给定一组n个城市和俩俩之间的直达距离,寻找一条闭合的旅程,使得每个城市刚好经过一次且总的旅行距离最短。TSP问题也称为货郎担问题,是一个古老的问题。最早可以追溯到1759年Euler提出的骑士旅行的问题。1948年,由美国兰德公司推动,TSP成为近代组合优化领域的典型难题。TSP是一个具有广泛的应用背景和重要理论价值的组合优化问题。 近年来,有很多解决该问题的较为有效...原创 2019-02-01 15:49:05 · 83750 阅读 · 69 评论 -
反世代距离评价指标IGD
反世代距离评价指标(Inverted Generational Distance, IGD) 是一个综合性能评价指标。它主要通过计算每个在真实 Pareto前沿面上的点(个体)到算法获取的个体集合之间的最小距离和,来评价算法的收敛性能和分布性能。值越小,算法的综合性能包括收敛性和分布性能越好。公式:其中,P 为均匀分布在真实 Pareto 面上的点集,|P|为分布在真实 Pareto 面上的...原创 2019-02-01 15:41:42 · 21078 阅读 · 9 评论 -
蚁群算法最短路径规划多出口情况及问题答疑
最近好多人问我蚁群算法最短路径规划如何设置多出口情况,原来2019年美赛D题“拯救卢浮宫”需要用到。本人没有看过美赛的题目,下面给出一些不成熟的代码。蚁群算法简介:蚁群算法最早是由Marco Dorigo等人在1991年提出,他们在研究新型算法的过程中,发现蚁群在寻找食物时,通过分泌一种称为信息素的生物激素交流觅食信息从而能快速的找到目标,据此提出了基于信息正反馈原理的蚁群算法。单出口情况:...原创 2019-02-01 15:26:26 · 3222 阅读 · 4 评论 -
PyTorch入门
PyTorch入门PyTorch 是一个建立在 Torch 库之上的 Python 包,旨在加速深度学习应用。PyTorch 提供一种类似 NumPy 的抽象方法来表征张量(或多维数组),它可以利用 GPU 来加速训练。PyTorch 既可以看做加入了GPU 支持的numpy,同时也可以看成一个拥有自动求导功能的强大的深度神经网络,除了Facebook 之外,它还已经被Twitter、CMU ...原创 2019-01-14 19:53:22 · 362 阅读 · 0 评论 -
基于移动设备与CNN的眼动追踪技术简介
眼动追踪是一项科学应用技术,用户无需与交互设备物理接触即可发送信息与接收反馈。从原理上看,眼动追踪主要是研究眼球运动信息的获取、建模和模拟,用途颇广。而获取眼球运动信息的设备除了红外设备之外,还可以是图像采集设备,甚至一般电脑或手机上的摄像头,其在软件的支持下也可以实现眼球跟踪。下面说的这篇论文是MIT2016年在CVPR上发的一篇论文。论文主要是基于移动设备的眼动追踪技术,使用了卷积神经网络来...原创 2019-01-14 19:46:48 · 3796 阅读 · 0 评论 -
基于WMD(词移距离)的句子相似度分析简介
word2vecword2vec是只有一个隐层的全连接神经网络,对语料中的所有词汇进行训练并生成相应的词向量(Word Embedding)WI 的大小是VxN, V是单词字典的大小, 每次输入是一个单词, N是设定的隐层大小。word2vec的模型通过一种神经网络语言模型(Neural Network Language Model)word2vec详解:http://www.omegaxy...原创 2018-12-09 11:43:54 · 3301 阅读 · 1 评论 -
进化计算中基于分类的预处理代理模型
问题提出代理模型的构造较复杂,作者希望构造一个更为简单的廉价(cheap)的代理模型来评估子集的质量。因此作者提出了一个叫做CPS(classification based preselection)算法。预选择(preselection)在进化算法中,预选择是一种分类问题。准确地说,是将子代解作为外部数据集进行二分类,分为promising和unpromissing的解。CPS的主要...原创 2018-11-29 08:46:49 · 1782 阅读 · 0 评论 -
基于拥挤距离与变异支配的多目标PSO算法
这一篇是Xue Bing在一区cybernetics发的论文,里面提出了两个多目标PSO特征选择算法,一个是NSPSO另一个是CMDPSO。其中NSPSO是参考了NSGA2的框架和思想。下面具体说说CMDPSO。CMDPSO全称是Crowding,Mutation,Dominance PSO算法。NSPSO算法概述与实现http://www.omegaxyz.com/2018/09/01/n...原创 2018-10-27 16:33:53 · 4941 阅读 · 5 评论 -
基于变长PSO的高维特征选择算法(VLPSO)概述
简介VLPSO是Binh Tran和Bing Xue等人发在人工智能顶尖杂志上IEEE Transactions on Evolutionary Computation 上的一篇解决高维特征选择的PSO算法。它能够很好地解决高维特征选择问题,尤其是在计算时间上能够大幅度减少。问题提出①高维特征选择,占内存②高维特征选择,耗时VLPSO(变长PSO)主要贡献①变长单目标PSO表示方法...原创 2018-09-17 19:00:20 · 2885 阅读 · 5 评论 -
高维(多变量)优化问题的技术与瓶颈
现实世界中的优化问题往往具有较高的复杂度和维数,称为LSGO问题,即Large-Scale Global Optimization。此问题在各个领域的研究工作中都引起了极大的兴趣。许多科学和工程应用程序被表述为LSGO问题,如设计大型电子系统,大量资源的调度问题,大规模交通中的车辆,路由问题网络,生物信息学中的基因识别,逆问题,化学动力学等。在过去的十年里,大量的元启发式为了显著提高处理算法的...原创 2018-09-10 22:36:16 · 11896 阅读 · 1 评论 -
kmeans聚类选择最优K值python实现
Kmeans算法中K值的确定是很重要的。下面利用python中sklearn模块进行数据聚类的K值选择 数据集自制数据集,格式如下: ①手肘法 手肘法的核心指标是SSE(sum of the squared errors,误差平方和),其中,Ci是第i个簇,p是Ci中的样本点,mi是Ci的质心(Ci中所有样本的均值),SSE是所有样本的聚类误差,代表了聚类效果的好坏。手肘...原创 2018-09-05 20:20:10 · 31722 阅读 · 6 评论 -
基于非支配排序的多目标PSO算法
这一篇是Xue Bing在一区cybernetics发的论文,里面提出了两个多目标PSO特征选择算法,一个是NSPSO另一个是CMDPSO。其中NSPSO是参考了NSGA2的框架和思想。下面具体说说NSPSO。非支配排序 来自NSGA2中的非支配排序该需要保存两个量:(1).支配个数np。该量是在可行解空间中可以支配个体p的所有个体的数量。(2).被支配个体集合SP。该量是可行解...原创 2018-09-05 20:12:32 · 4416 阅读 · 5 评论 -
列向量互信息计算通用MATLAB代码
互信息的定义 正式地,两个离散随机变量 X 和 Y 的互信息可以定义为:其中 p(x,y) 是 X 和 Y 的联合概率分布函数,而p(x)和p(y)分别是 X 和 Y 的边缘概率分布函数。其中 p(x,y) 当前是 X 和 Y 的联合概率密度函数,而p(x)和p(y)分别是 X 和 Y 的边缘概率密度函数。互信息量I(xi;yj)在联合概率空间P(XY)中的统计平均值。 平均互信息I...原创 2018-08-16 17:28:20 · 7914 阅读 · 21 评论 -
基于互信息的特征选择算法MATLAB实现
在概率论和信息论中,两个随机变量的互信息(Mutual Information,简称MI)或转移信息(transinformation)是变量间相互依赖性的量度。不同于相关系数,互信息并不局限于实值随机变量,它更加一般且决定着联合分布 p(X,Y) 和分解的边缘分布的乘积 p(X)p(Y) 的相似程度。互信息(Mutual Information)是度量两个事件集合之间的相关性(mutual de...原创 2018-08-08 11:10:34 · 30529 阅读 · 73 评论 -
特征离散化概述
定义 连续特征离散化是采取各种方法将连续的区间划分为小的区间,并将这连续的小区间与离散值关联起来。连续特征离散化的本质是:决定选择多少个分割点和确定分割点的位置。背景 连续数据经常采用离散化处理之后再放入模型。离散化可以理解为提取特征的过程,比如在LR模型,由于是广义线性模型表达能力有限,因此通过特征离散化来了提高非线性学习能力步骤 1.对连续特征值按照某种指定的规则进行排序 2....原创 2018-07-22 16:07:43 · 905 阅读 · 1 评论 -
机器学习分类与回归
**分类,即classification:**a process in which you put something into the group or class it belongs to,这是指将某物放入其所属的组或类的过程。**回归,即regression:**the relation between selected values of x and observed values ...原创 2018-07-04 15:08:35 · 435 阅读 · 0 评论 -
Python使用matplotlib画动态图
机器学习需要使用python实现相应的算法,因此学习了Matplotlib中的画图。 更多内容访问omegaxyz.com当然为了能显示机器学习中每次迭代的效果与收敛速度,需要画出动态图形。下面给出两个例子,分别可以画出动态条形图和动态折线图(使用两种不同的方法)。注意要使用到plt.pause(time)函数。动态条形图 基本原理是将数据放入数组,然后每次往数组里面增加一个数...原创 2018-06-11 14:00:22 · 67313 阅读 · 27 评论 -
差分分组的合作协同进化的大规模优化算法详解
合作协同进化已经引入协同进化算法,目的是通过分而治之的范式解决日益复杂的优化问题。理论上,协同改 变子成分的想法是十分适合解决大规模优化问题的。然而在实践中,没有关于问题的先验知识, 问题应如何分解是尚不清楚的。在本文中,我们提出一个自动分解策略,称为差分分组,可以揭示决策变量的底层交互结构和形成子成分,以使它们之间的相互依存关系保持到最低限度。我们在数学上展示这样一个分解策略如何从部分可分性的定...原创 2018-06-10 21:22:33 · 4191 阅读 · 2 评论 -
混淆矩阵简介与Python实现
什么是混淆矩阵 混淆矩阵是机器学习中总结分类模型预测结果的情形分析表,以矩阵形式将数据集中的记录按照真实的类别与分类模型作出的分类判断两个标准进行汇总。这个名字来源于它可以非常容易的表明多个类别是否有混淆(也就是一个class被预测成另一个class)如下图: 其中绿色部分是预测正确的,红色是预测错误的。对于二分类(正误)问题来说:参考:http://www.omegaxyz....原创 2018-05-25 20:45:57 · 14229 阅读 · 0 评论 -
英文字母信息熵与冗余度计算Python实现
26个英文字母在平均出现时的信息熵是4.7BIT,而去掉冗余度后的英文字母的信息熵是4.03BIT。公式: H(信息熵) = -∑ Pi log2(Pi); Pi:为每个字母在信息中出现的概率; 计算公式并不复杂. 取以2为底的对数的道理也很简单,因为如果: 2n = X 的话,那么logX = n; 所以可以看出所谓信息熵就二进制的字符集在去掉冗余度后的二进制编码位数.冗余度是通过统计每个字符出...原创 2018-05-10 21:04:37 · 7013 阅读 · 1 评论 -
机器学习
文章目录机器学习基本理论基本术语与方法特征选择概述多目标优化问题分类算法、经典算法分类算法NSGA2算法粒子群优化算法(PSO)聚类算法蚁群算法(ACO)其它算法前沿算法NSGA2算法前沿PSO算法差分分组算法其它算法演化计算算法协同进化/演化python机器学习深度学习神经网络特征选择算法点击上面的目录链接可快速定位所需内容,点击每个文章链原创 2018-04-18 21:01:12 · 9987 阅读 · 3 评论 -
机器学习术语表
本术语表中列出了一般的机器学习术语和 TensorFlow 专用术语的定义。原文地址:https://developers.google.cn/machine-learning/glossary/?hl=zh-CNAA/B 测试 (A/B testing) 一种统计方法,用于将两种或多种技术进行比较,通常是将当前采用的技术与新技术进行比较。A/B 测试不仅旨在确定哪种技术的效果更好,...原创 2018-03-22 09:55:02 · 524 阅读 · 0 评论 -
演化计算基本方法与思想
生物系统中,进化被认为是一种成功的自适应方法,具有很好的健壮性。基本思想:达尔文进化论是一种稳健的搜索和优化机制。大多数生物体是通过自然选择和有性生殖进行进化。自然选择决定了群体中哪些个体能够生存和繁殖,有性生殖保证了后代基因中的混合和重组。自然选择的原则是适者生存,优胜劣汰。演化计算正是一类借鉴生物界自然选择和自然遗传机制而发展起来的通用问题求解方法。基本方法:演化计算采用简单的...原创 2018-03-22 09:52:33 · 5301 阅读 · 0 评论 -
基于词典的社交媒体内容的情感分析(Python实现)
之前写了一篇基于NLTK情感预测的文章http://www.omegaxyz.com/2017/12/15/nltk_emotion/?hilite=%27NLTK%27b 更多内容访问omegaxyz.com 情感词典是从微博、新闻、论坛等数据来源的上百万篇情感标注数据当中自动构建的情感极性词典。因为标注包括微博数据,该词典囊括了很多网络用语及非正式简称,对非规范文本也有较高的覆盖率。该情感...原创 2018-03-04 22:49:58 · 6159 阅读 · 1 评论 -
监督学习与无监督学习
机器学习如果按照训练样本标签的有无可以分为以下两种常用方法。 有监督学习(supervised learning)和无监督学习(unsupervised learning)。以机器学习中的分类(classification)来说,输入的训练数据有特征(feature),有标签(label)。在分类过程中,如果所有训练数据都有标签,则为有监督学习(supervised learning)。如果原创 2018-02-05 18:48:32 · 12305 阅读 · 0 评论 -
MATLAB中SVM(支持向量机)的用法
LIBSVM是台湾大学林智仁(Lin Chih-Jen)教授等开发设计的一个简单、易于使用和快速有效的SVM模式识别与回归的软件包,他不但提供了编译好的可在Windows系列系统的执行文件,还提供了源代码,方便改进、修改以及在其它操作系统上应用;该软件对SVM所涉及的参数调节相对比较少,提供了很多的默认参数,利用这些默认参数可以解决很多问题;并提供了交互检验(Cross Validation)的功转载 2018-01-24 11:34:54 · 25367 阅读 · 1 评论 -
蚁群算法(ACO)最短路径规划(MATLAB)
蚁群算法最早是由Marco Dorigo等人在1991年提出,他们在研究新型算法的过程中,发现蚁群在寻找食物时,通过分泌一种称为信息素的生物激素交流觅食信息从而能快速的找到目标,据此提出了基于信息正反馈原理的蚁群算法。蚁群算法根据模拟蚂蚁寻找食物的最短路径行为来设计的仿生算法,因此一般而言,蚁群算法用来解决最短路径问题,并真的在旅行商问题(TSP,一个寻找最短路径的问题)上取得了比较好的成效。原创 2018-01-28 09:25:10 · 66940 阅读 · 100 评论 -
k-means算法概述
优点与缺点 K-means算法思想 K-MEANS算法是输入聚类个数k,以及包含 n个数据对象的数据库,输出满足方差最小标准k个聚类的一种算法。k-means 算法接受输入量 k ;然后将n个数据对象划分为 k个聚类以便使得所获得的聚类满足:同一聚类中的对象相似度较高;而不同聚类中的对象相似度较小。 聚类相似度是利用各聚类中对象的均值所获得一个“中心对象”(引力中心)来进行计算的。K-m原创 2018-01-28 09:26:12 · 1238 阅读 · 0 评论 -
NSGA-Ⅱ算法C++实现(测试函数为ZDT1)
在看C++实现之前,请先看一下NSGA-II算法概述http://www.omegaxyz.com/2017/04/14/nsga-iiintro/NSGA-Ⅱ就是在第一代非支配排序遗传算法的基础上改进而来,其改进主要是针对如上所述的三个方面: ①提出了快速非支配排序算法,一方面降低了计算的复杂度,另一方面它将父代种群跟子代种群进行合并,使得下一代的种群从双倍的空间中进行选取,从而保留了转载 2017-06-15 23:38:13 · 12890 阅读 · 33 评论 -
机器学习非平衡数据集概述
定义:不平衡数据集:在分类等问题中,正负样本,或者各个类别的样本数目不一致。 研究不平衡类通常认为不平衡意味着少数类只占比10~20%。实际上,一些数据集远比这更不平衡。例如:每年大约有2%的信用卡账户被欺骗。(大多数欺诈检测领域严重不平衡。)状态医疗甄别通常在大量不存在此状态的人口中检测极少数有此状态的人(比如美国的HIV携带者仅占0.4%)。磁盘驱动器故障每年约1%。网络广告的转化率估原创 2017-08-29 10:06:58 · 1338 阅读 · 1 评论 -
多目标优化问题概述
图片不清楚请看多目标问题详解:多目标问题详解 定义:若干冲突或相互影响条件约束下在给定区域内寻找尽可能的最优解(非劣解)。 关键词:条件约束,折中最优解(解并非唯一是与单目标优化问题的本质区别) 文字描述: D个决策变量参数; N个目标函数; m+n个约束条件。 数学描述:X(小写)为D维决策向量;y为目标向量;N为优化目标总数;gi(x)<=0和hj(x)为条件约束(为已知确定的可行原创 2017-08-29 20:34:16 · 28687 阅读 · 2 评论 -
NSGA2算法中文版详细介绍
NSGA2主要是对NSGA算法的改进。NSGA是N. Srinivas 和 K. Deb在1995年发表的一篇名为《Multiobjective function optimization using nondominated sorting genetic algorithms》的论文中提出的。该算法在快速找到Pareto前沿和保持种群多样性方面都有很好的效果,不过在这么多年的应用中也出现了如下的原创 2017-09-01 15:14:31 · 45089 阅读 · 11 评论