自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

HelloWorld

做一个记录者

  • 博客(55)
  • 资源 (1)
  • 收藏
  • 关注

原创 分叉图(Bifurcation)

Logistic#-*-coding:utf-8-*-import numpy as npimport matplotlib.pyplot as pltdef logistic(u,x): x1 = u*x*(1-x) return x1if __name__ == '__main__': listu=[] listx=[] for u ...

2018-12-17 14:34:25 20363 3

原创 混沌吸引子

Henon映射的混沌吸引子import matplotlib.pyplot as pltlistx=[]listy=[]def Henon(x,y,n): for i in range(n): x1 = 1 - 1.4 * x ** 2 + y y1 = 0.3 * x x = x1 y = y1 li...

2018-12-17 14:30:02 7950 1

原创 混沌的遍历性图(ergodicity)

以Logistic的Ergodicity为例import matplotlib.pyplot as pltimport numpy as np# Logistic的迭代方程def logistic(x): x1=u*x*(1-x) return x1#此函数用于画Logistic的函数图像def logistic_graph(): for i in np.a...

2018-12-17 14:19:53 3175 2

原创 使用MinGW进行TestU01测试

MinGW下载MinGW进入MinGW官网,在右上方点击下载再点击,进行下载下载完成之后,是这样一个EXE文件,双击它之后,开始进行安装安装MinGW执行mingw-get-setup.exe文件,根据提示进行安装安装完成之后,会有这样一个文件,双击执行它。因为要安装GCC环境,所以尽量把和GCC相关的都装了。在Basic Setup里面,右边的需要全部安装。点击选择...

2018-11-03 18:00:04 4986 11

原创 NIST随机数测试软件下载、安装、及使用教程

最近由于科研需要,在搞一些随机数的测试的事情,众所周知 随机数测试我们可以使用NIST的软件进行多大15项的随机测试,我也在网上查找了很多大牛的博客,但是都是年代久远,很多的链接现在都是物是人非,都是不能直接使用了,今天顺便抽点时间更新一下这个NIST软件的下载及使用。我们首先讲一下该软件的下载:1.我们直接取NIST的官网(https://csrc.nist.g...

2018-06-30 19:38:39 6250 8

原创 N维离散混沌映射Lyapunov指数的计算

本文代码均以Python实现 首先给出按照定义法进行求解的程序,这里选取Henon映射为示例#-*-coding:utf-8-*-'''多变量非线性方程求解'''from sympy import *import numpy as npnp.set_printoptions(suppress=True)n = 20000#控制迭代次数def Henon(x,y,n):...

2018-05-24 19:29:22 7159 6

原创 一维离散混沌映射Lyapunov指数的计算

这里选取Logistic映射作为例子,给出定义法的计算程序(Python 实现)#-*-coding:utf-8-*-from sympy import *n=5000def Logistic(x,n): for i in range(n): y = 4 * x * (1 - x) x = y return xdef LE_cal...

2018-05-24 19:07:38 8089 2

原创 smote(过采样算法)

#-*-coding:utf-8-*-# smote unbalance datasetimport numpy as npfrom sklearn.neighbors import NearestNeighborsimport pandas as pddef smote(data, tag_label='tag_1', amount_personal=0, std_rate=1, k=...

2018-04-28 17:42:07 4985 1

原创 特征选择与特征提取

一、特征选择和特征提取 特征选择(feature selection)和特征提取(Feature extraction)都属于降维(Dimension reduction)这两者达到的效果是一样的,就是试图去减少特征数据集中的属性(或者称为特征)的数目;但是两者所采用的方式方法却不同。 特征提取的方法主要是通过属性间的关系,如组合不同的属性得到新的属性,这样就改变了原来的特征空间。 ...

2018-04-28 17:29:30 33248 1

原创 计算理论

最近在看机器学习的计算理论部分,深感不易。目前机器学习的应用还是偏应用了很多,其理论基础包括机器怎样学习,为什能够学习等估计很多能够熟练应用各种trick的人也不甚清楚。其实,这种状况也是可以接受的,毕竟机器学习本身的理论基础不够完善,不够扎实。而现在以Hinton为代表的这一学派是占据主流的,深度学习在各行各业的应用如此成功,也难免大家都会把目光投向应用。 B站上有台大林轩田老师的机器学习课程...

2018-02-26 12:49:11 658

原创 降维方法PCA

周志华老师的书上省略了很多矩阵运算,而这些运算是PCA的核心之处。建议各位同学 看看我给出的参考文章,学习完之后,再回过来看看西瓜书。为什么要降维? 机器学习中紧接过拟合之后的最大问题就是维度灾难(curse of dimensionality)。这一概念是由贝尔曼(Bellman)在1961年首先提出的,用来描述以下事实:许多在低维空间表现很好的算法,当输入是高维度的时候,就变得计算不可行...

2017-11-06 20:33:35 456

原创 降维算法MDS

在现实应用中,许多学习方法都涉及距离计算,而高维空间会给距离计算带来很大的麻烦。例如当维数很高时,甚至连计算内积都很不容易。 这实际上,是所有机器学习都面临的严重障碍,这被称为“维数灾难(即样本非常洗漱,距离计算很困难)”。而缓解维数灾难的两个普遍做法是降维和特征选择。降维指的是:通过某种数学变换将原始高维属性空间转变为一个低维子空间,在这个低维的子空间中,样本密度大幅度提高,距离计算也变得很容易

2017-11-06 19:20:26 3812 1

原创 高斯混合模型(GMM)

讲这个之前,要先对模糊聚类和基于概率模型的聚类有个大体的认识。不清楚的同学可以参考下Jiawei的书去看一看,或者看看我的这篇文章。 这里写链接内容OK,这里假设,大家已经有了上面我提到的先验知识。GMM 和 k-means 很像。不过 GMM 是学习出一些概率密度函数来(所以 GMM 除了用在 clustering 上之外,还经常被用于 density estimation ),简单地说,k-m

2017-10-19 21:41:47 553 1

原创 GF(2^8)的运算法则

基础的参考这篇文章: 有限域GF(2^8)的四则运算及拉格朗日插值 和这篇文章 有限域GF(2^8)内乘法代码实现以及原理 其中,第二篇文章着重理解这里 这里给出《密码编码学与网络安全》一书中,第五版第四章P97的手推计算过程。

2017-10-15 19:10:26 20336 2

原创 集成学习小结

![这里写图片描述](http://img.blog.csdn.net/20171014163033446?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxNDU5MzU3MA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)![这里写图片描述]

2017-10-14 15:48:43 2118

原创 LDA(线性判别分析)算法

线性判别分析(Linear Discrimination Analysis,LDA)是一种非常经典的线性学习方法,可以用于在二分类问题上。 我们知道,在二分类问题上,我们想要的理想结果是 同一类的尽量聚集在一起,不同类的尽量分开。 因此,LDA实际上是一个非常简单的(所以经典)方法,它的思想也是极其朴素: 给定训练集,设法将样例投影到一条直线上,使得同类样例的投影点尽可能接近,异类样例的投影

2017-10-09 16:05:44 728

原创 机器学习理论知识概述

1、机器学习所研究的主要内容,是关于在计算机上从数据中产生“模型(model)”的算法,即学习算法(learning algorithm)。有了学习算法,我们把经验数据提供给它,它就能基于这些数据产生模型;在面对新的情况时,模型会给我们提供相应的判断。可以说,机器学习是研究关于“学习算法”的学问。2、学得模型适用于新样本的能力,称为泛化(generalization)能力。具有强泛化能力的模型...

2017-09-15 15:52:15 12986 3

原创 OPTICS:通过点排序识别聚类结构的密度聚类算法

OPTICS算法 在DBSCAN算法中,我们知道该算法需要用户输入半径和阀值。这显然是不靠谱的,虽然我们可以通过其他方法来优化参数的选择,但这其实不是最好的做法。 这里为了克服在聚类分析中使用一组全局参数的缺点,这里提出了OPTICS算法。 该算法的牛逼之处在于:它并不显示地产生数据集聚类,而是为聚类分析生成一个增广的簇排序(如以样本点输出次序为横轴,以可达距离为纵轴的坐标图)。那么这个排序就

2017-08-31 15:10:50 7867 4

原创 DBSCAN(基于高密度聚类的)算法

DBSCAN(Density-Based Spatial Clustering of Applications with Noise)聚类算法,它是一种基于高密度连通区域的、基于密度的聚类算法,能够将具有足够高密度的区域划分为簇,并在具有噪声的数据中发现任意形状的簇。DBSCAN算法的思想其实很简单,粗俗点说就是一圈套一圈套一圈套一圈………………然而,要搞清楚它,首先要弄清楚几个基本概念。基本概念

2017-08-31 11:21:43 2421

原创 Chamelon(变色龙)多阶段层次聚类算法

Chamelon是一种层次聚类算法,它采用动态建模来确定一对簇之间的相似度,从而实现聚类。 这里我们重点关注动态建模这个词? 那么,何为动态建模呢? 要回答这个问题,我们首先要搞清楚簇的相似度依据是什么。 在Chamelon中,簇的相似度依据如下两点评估: 1、簇中对象的连接情况; 2、簇的邻近性。也就是说,如果两个簇的互连性都很高并且他们之间又靠的很近,那么就将其合并。OK,因此,凭借

2017-08-31 10:07:05 11850

原创 BIRCH:使用聚类特征树(CF-树)的多阶段聚类算法

BIRCH算法是在凝聚和分裂算法之后发展起来的。它克服了凝聚聚类算法一些存在的劣势。 BIRCH算法比较适合于数据量大,类别数K也比较多的情况。它运行速度很快,只需要单遍扫描数据集就能进行有效的聚类。 这得益于它采用的一个特殊的树结构,CF-树。 该算法笼统的说,执行流程课分为两步: 一、BIRCH扫描数据库,建立一棵存放于内存的CF-树,它可以被看作数据的多层压缩,试图保留数据的内在聚类结

2017-08-30 16:44:56 14837 6

原创 K-means(K-均值)聚类算法

划分方法聚类分析最简单、最基本的版本是划分,它把对象组织成多个互斥的簇。这一方法,要求每个对象必须/恰好属于每一个簇。(事实上,我们应该知道,这个要求是很不合理的,因为它忽略了离群点,假若把噪声数据强行划分在簇里,那势必会降低聚类的准确率,所以为了改进这一点,在模糊划分中适当放宽了这一要求。 大部分的划分算法都是基于距离的。(这个应该也很好理解吧,我们在前面应该提到过不止一次,这里说的距离实际上是

2017-08-30 15:44:53 14385

原创 遗传算法

遗传算法手推以后再补上。这里初学,只求先理解思想。 遗传算法是一种利用自然进化的思想来设计的算法。它通过模拟自然进化过程来搜索最优解。 参看下面连接中的文章 如何通俗易懂地解释遗传算法?有什么例子?-sjyan在实际中,一个问题是否能够使用遗传算法去解决,关键在于下面几点: 1.现实问题的解如何映射到遗传算法的个体上? 2.如何确定一个评估函数? 3.如何确定选择算子,交叉算子,变异算子

2017-08-30 15:20:13 642

原创 KNN(K-最近邻分类)分类算法

惰性学习法(或近邻分类)前面提高的所有分类方法——决策树分类,贝叶斯分类,基于规则的分类,贝叶斯网络分类,神经网络分类,支持向量机分类和使用频繁模式的分类都是急切学习法的例子。 何为急切学习法呢? 回顾这些分类方法,都是在接受训练元组训练时期就已经构成了分类模型。 而与之对应的惰性学习法则是直到对给定的检验元组分类之前的一刻才构造“分类模型”。 大家要注意到我在这里对“分类模型”打上了引号,

2017-08-30 14:29:44 4102

原创 支持向量机

支持向量机(Support Vector Machine,SVM)是一种对线性和非线性数据进行分类的方法。简单来说,SVM就是一种算法,它大体上按照如下的方法工作:它使用一种非线性映射,把原训练数据映射到较高的维上。在新的维上,它搜索最佳分离超平面,以将两个类的数据分开。 下面我们具体来说一下。1、数据线性可分的情况 首先来考察最简单的情况——两类问题,其中两个类是线性可分(直线)的。 ...

2017-08-30 11:37:16 1580

转载 梯度下降

参考文章 为什么梯度方向是变化率最大的方向 梯度下降小结

2017-08-29 16:42:10 240

原创 神经网络

写在前面: 这篇文章,是我在看Jiawei的书时候写的。由于该书在BP的推导公式上面省略了特别特别多。因此,本篇博客的公式推导不太适合初学者理解。 后来,看了周志华老师的西瓜书后,发现上面关于BP的推导非常详细,本想重新修改本篇文章,后来发现已经有一位兄弟把周老师的推导过程发在了他的博客上,因此我也就不做无用功了,就在参考文章里面给出了链接。各位读者不妨反复参看这一推导过程,相信对于BP会有新...

2017-08-29 15:12:12 1182

原创 贝叶斯信念网络

1.1摘要 之前我们讨论了朴素贝叶斯分类。朴素贝叶斯分类有一个限制条件,就是特征属性必须有条件独立或基本独立(实际上在现实应用中几乎不可能做到完全独立)。当这个条件成立时,朴素贝叶斯分类法的准确率是最高的,但不幸的是,现实中各个特征属性间往往并不条件独立,而是具有较强的相关性,这样就限制了朴素贝叶斯分类的能力。这一篇文章中,我们讨论贝叶斯分类中更高级、应用范围更广的一种算法——贝叶斯网络(又称贝

2017-08-29 10:28:26 22062 2

原创 Adaboot

AdaBoost,即英文”Adaptive Boosting”(自适应增强)的缩写。是一种流行的提升算法。在Jiawei Han的书中对该算法是这样描述的: 我们着重关注画红线的关键字。 从上述的描述中,我们可以知道。该算法选取训练集是有放回的抽样。但是这个有放回的抽样不是随机的,而是看训练元组权重的。也就是说,每个元组被选中的机会是由他们的权重决定的。 如果一个元组被不正确的分类,则该元组的

2017-08-28 15:18:40 576

原创 Bagging和随机森林

随机森林是一个非常灵活的机器学习方法,能够用于分类和回归问题。它可以快速地被应用到几乎任何的数据科学问题中去,从而使人们能够高效快捷地获得第一组基准测试结果。随机森林算法应该可以说是Bagging算法的一种提升。显然的,它也是一种组合分类方法。该算法在2001年由LeoBreiman提出。随机森林的思想 它的算法思想其实特别简单。 我们想象组合分类器中的每个分类器都是一棵决策树,而随机森林就是用

2017-08-28 10:14:50 2063

原创 朴素贝叶斯分类

贝叶斯分类法是统计学的分类方法,它可以预测类隶属关系的概率,如一个给定的元组属于一个特定类的概率。 贝叶斯分类基于贝叶斯定理,经过研究发现,一种被称为朴素贝叶斯分类法的分类法的性能相当好。 在学习朴素贝叶斯分类器之前,我们要先学习贝叶斯定理。 贝叶斯定理 这个贝叶斯定理说白了就是我们给定X的属性描述,然后找出元组X属于类C的概率。 重点关注这个式子 P(X|H)= 在购买计算机的用户中

2017-08-25 15:23:09 774

原创 决策树分类器

决策树分类器的基本流程我们通过学习并构造分类器 。这里给出一个相当经典且流行的分类器——决策树分类器。 为什么这样评价这个分类器呢?因为构造这个分类器不需要任何领域的知识,也不需要任何的参数设置。因此它特别适合于探测式的知识发现。此外,这个分类器还可以处理高维数据,而且采用的是类似于树这种形式,也特别直观和便于理解。因此,决策树是许多商业规则归纳系统的基础。关于决策树的发展,早期是从ID3到C4

2017-08-25 11:44:38 16843 2

原创 FP-growth算法

FP-growth算法是基于Apriori算法构建的,但采用了高级的数据结构减少了扫描次数,因此大大加快了算法的执行速度。FP-growth算法发现频繁项集的基本过程如下: 1、构建FP树; 2、从FP树中挖掘频繁项集。上面我们谈到,FP-growth算法的优点是采用了高级的数据结构。那么这种高级的数据结构是什么呢?实际上就是FP树。 FP树是一种输入数据的压缩表示。他通过把事务映射到FP树

2017-08-25 10:19:36 3171

原创 Apriori算法

Apriori算法是一种发现频繁项集的基本算法,主要用于布尔关联规则挖掘频繁项集。 这里需要弄清楚的是,我们明明说的是挖掘关联规则,但为什么只需要挖掘频繁项集就好了呢? 那是因为,关联规则可以很简单的从支持度和置信度推导出来。所以挖掘关联规则实质上可以归结为挖掘频繁项集。Apriori算法实际上是一个很简单的算法。它使用一种称为逐层搜索的迭代方法,并使用先验性质来压缩搜索空间,提高效率。那么我们

2017-08-24 16:28:11 1587

原创 数据库和数据仓库的本质区别是什么?

关于数据库和数据仓库的本质区别到底是什么?我们先来看一个例子。拿电商行业来说好了。基本每家电商公司都会经历,从只需要业务数据库到要数据仓库的阶段。电商早期启动非常容易,入行门槛低。找个外包团队,做了一个可以下单的网页前端 + 几台服务器 + 一个MySQL,就能开门迎客了。这好比手工作坊时期。第二阶段,流量来了,客户和订单都多起来了,普通查询已经有压力了,这个时候就需要升级架构变成多台服务器和多个业

2017-08-24 10:36:24 5780

原创 数据挖掘:概念与技术(第三版)之第十二章的学习记录

本章主要讨论离群点的问题。 什么是离群点 离群点检测(又称异常检测)是找出其行为很不同于预期对象的过程,这种对象被称为离群点或异常。 简单来说,离群点就是一个显著不同于其他数据对象的异常数据对象。 这里需要特别注意的是,离群点不同于噪声数据。 噪声数据即是令人不感兴趣的数据,也就是说是在某种情况下,我们关注之外的数据 。 举个例子:在我们想睡觉时,有人大声的播放贝多芬的音乐。在这种情况下

2017-08-23 11:54:15 962

原创 数据挖掘:概念与技术(第三版)之第十一章的学习记录

在传统的聚类分析中,对象被互斥地指派到一个簇中。然后在许多应用中,需要以模糊或概率方式把一个对象指派到一个或多个簇。本章将讨论允许一个对象属于多个簇的聚类主题。基于概率模型的聚类我们先从讨论模糊簇的概念开始,然后在推广到基于概率模型的簇。模糊簇 要引入模糊簇就不得不说模糊集 书上P324页,11.1.1先给出了有关模糊集的数学定义,然后例11.3给出了一个例子 ,并且谈到了隶属度。然后,由模糊集

2017-08-17 16:13:00 1910

原创 数据挖掘:概念与技术(第三版)之第十章的学习记录

本章主要讲解聚类的基本概念和方法对聚类的浅要分析聚类是什么意思,很好理解,这里不说了。 需要注意的是一下这几点 1、在相同的数据集上,不同的聚类方法可能产生不同的聚类 。 2、聚类可以作为其他算法的预处理步骤。书P289页最上方给出了一个识别手写数字的例子。 3、聚类在搜索中也有广泛的应用。 4、聚类可以应用与离群点检测。 5、聚类被称为无监督学习。KDD对聚类分析的要求是P289,10

2017-08-11 11:53:46 7244

原创 数据挖掘:概念与技术(第三版)之第九章的学习记录

本章学习数据分类的高级技术贝叶斯信念网络书上写的比较笼统,初学者可能会看的倒懂不懂的。因此,可以看看我在本章列出的参考文章。 1.1摘要 在上一篇文章中我们讨论了朴素贝叶斯分类。朴素贝叶斯分类有一个限制条件,就是特征属性必须有条件独立或基本独立(实际上在现实应用中几乎不可能做到完全独立)。当这个条件成立时,朴素贝叶斯分类法的准确率是最高的,但不幸的是,现实中各个特征属性间往往并不条件独立,而是

2017-07-24 11:01:01 3727

原创 数据挖掘:概念与技术(第三版)之第八章的学习记录

本章讲解分类的一些基本概念什么是分类 首先我们要知道的是,分类是一种重要的数据分析形式,它提取和刻画重要数据类的模型。这个模型被称之为分类器(classifer)。通过分类器,我们可以预测分类的类标号。 建议不熟悉这个概念的同学们 ,首先看一下这篇文章。 贷还是不贷:如何用 Python 和机器学习帮你决策? 此外,还需要弄清楚分类和回归的联系和区别,关于这一点,我已经在第一章的部分做了详细

2017-07-17 14:48:59 11902 2

TestU01测试官方guide

TestU01测试官方guide.里面做了一些标注,可以看作是重点(???)

2018-11-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除