
机器智能
silence1214
这个作者很懒,什么都没留下…
展开
-
python的动态加载的一个注意地方
先描述一下我的问题背景,然后给出错误发现,最终给出解决办法1:我有很多python文件,并且这些文件内容会按照一定周期被更新但是文件名字不变。并且每个文件内都有一个一样的class的名字,需要我去动态调用,我的调用方法是使用的python的importlib。调用的代码如下:module_name = 'scripts.%s'%(file_name)_module = importlib.imp...原创 2018-05-25 07:54:50 · 1063 阅读 · 0 评论 -
Deep Learning课程作业中深度网络的习题备忘
Deep Learning的在线学习资料一直进展比较慢,开始的时候还可以,只有一层的训练,简单的BP算法求导然后使用L-gfbs就基本可以求出来解了。但是真正到了后面的深度网络的时候才算是真正的是Deep的Learning吧。1:这节课是使用2层的sparse encoder然后给stacked起来,第二层的sparse encoder的输出直接带入到一个softmax层的输入,然后进原创 2013-09-11 11:14:17 · 1702 阅读 · 0 评论 -
对RPCA的一些感受
最近回过头来找到了RPCA的paper,也就是最经典的那个吧,尽管有错误。全文并没有仔细描述各种具体放入算法,只是从理论上上说了这个RPCA的问题以及介绍了2个用来解决这个问题的方法,其实重点只介绍了一个吧,就是那个proximal gradient approach吧,也只是使用了这个方法来做了个伪代码的算法介绍,对这个算法也没有具体说,不过给出了reference。感兴趣可以自己去看,反正我已原创 2013-06-19 15:16:46 · 10827 阅读 · 0 评论 -
一个问题P-hard以及NP-hard的解释
看paper很多时候我们在描述一个算法的时候,常常说道p-hard或者NP-hard。大概还是晓得怎么回事:无非是一个算法比另外一个算法好,我们追求的是好的算法。今天搜索来查询了下,大概也是这么个意思,精确的说法就是它们都是指的算法的时间复杂度。常用O(f(x))表示时间复杂度P-hard就是指的时间复杂度是一个多项式,比如O(x^n)。那么NP的意思就是这个问题的算法,偶原创 2013-06-17 10:26:24 · 4241 阅读 · 0 评论 -
谱聚类1
其实去年就在同学们的组织下学习过了谱聚类,无奈忘记完了,最近遇到基于LRR以及SPARSE的子空间聚类都需要用到谱聚类在最后一步来做,于是拿出来复习下。因为主要是复习,所以不讲那么多为什么,只讲一些概念和结论,具体证明过程如果有需要了再去翻看下书。1:一堆数据点,任何两个点之间都可能有关系,我们可以想象成我们本科学过的数据结构中的图的概念,就是很多点以及某些点之间的连接关系(边)来描述:G=F原创 2013-05-27 10:00:43 · 1554 阅读 · 0 评论 -
matlab中的sparse命令
今天看到别人的代码认识到这个命令觉得挺有意思的,拿上来啊一看,我靠参数这么多,仔细再看这个命令有那么点意思,我说下啊。data = sparse(i, j, s, m, n, maxNoneZero),这个就是把全部的参数拿出来了,我仔细来说下用法1:最后生成的data的非0元素个数不能超过maxNoneZero,而这些元素来自于s向量,也就是说如果s向量中有5个非零元素则maxNoneZ原创 2013-05-21 13:42:49 · 7727 阅读 · 0 评论 -
向量范数的一些补充
最近在看CMU的以为网友发的slides挺有趣的,老师讲解的很好,关于norm的一些说法我感受很深,尤其是对向量范的定义:接着重点来了:也就是说向量的范其实就是首先是一个区域,这个区域包含了向量这一点,并且是最小的区域。这一点最初没搞明白,现在想了想一下子明白了。举个例子:向量(1,2)我求它的1范,大家知道1范的图形是个菱形,在第一象限的斜原创 2013-05-03 15:23:03 · 1062 阅读 · 0 评论 -
切向量和梯度的关系
之前一直错误的认为了切向量就是梯度,由于最近在看拉格朗日的方法,正好遇到这个问题,结果搞清楚了切向量和梯度的关系。简单的来说切向量和梯度都是求导数,但是要看的是对谁求导数。举个例子:y=x^2吧,简单点的。求在点(a,b)处的切向量。此时需要写成参数式x=x 并且 y=x^2,分别对x求导数得到(1, 2x)把(a,b)带入即可。求点(a,b)处的梯度。此时需要写成原创 2013-05-02 14:28:27 · 13459 阅读 · 3 评论 -
梯度下降算法
早都接触了梯度下降算法,但是总搞得我似懂非懂,这个的确是和梯度有关系,但是我觉得关系没有那么大,只要了解了导数的意义就可以完全搞定这个算法的理解了。网上有很好的资料,我这里拿来也引用下吧。先给个图我们知道当前最小点应该是在B点,假如我现在在A点,知道A点此时的偏导数应该是小于0,也就是A点斜率是小于0的,那么此时应该往A的右边找B才对,也就是A的横坐标+A点导数的相反数。假如我原创 2013-04-26 14:23:07 · 2433 阅读 · 0 评论 -
对代价函数的理解
至今看到很多paper中优化的时候就会有一个代价函数(Cost Function),之前一直在琢磨这个问题,请教了一些同学。不知道是说的太抽象还是怎么回事就是理解不了,今天通过一个例子明白了这个东东。举个例子吧。简单的,就是一个变量做回归的时候。M个样本,分别是(x1,y1),(x2,y2)。。。。(xM,yM)。我使用的模型是f=kx。那么得到一个方程F = kx1+kx原创 2013-04-26 10:43:25 · 1720 阅读 · 0 评论 -
梯度下降算法步长和收敛条件的设置的一些看法
在上一篇中介绍了梯度下降算法,还是利用了上面的那个x^2+y^2的例子,来求解下,代码如下:function [] = gradient(step, threadhold)%在这里主要是演示对z=x^2+y^2的用梯度下降算法%设置x和y的初始值%x = 100;y = 100;%先计算前两个步骤的值last_step_result = x*x + y*y;x = x - ste原创 2013-04-26 15:41:33 · 12869 阅读 · 4 评论 -
范式约束下矩阵的一个求偏导的例子
大家做优化的时候肯定经常遇到矩阵求偏导的情况,但是这个太复杂了,很多课本没有给定义,正好有篇paper涉及到这个,为了搞懂它找了不少资料,现在给一个有特征的求解的过程,求解的式子是对C求偏导的过程 首先原式等价于原创 2013-04-10 10:08:48 · 4795 阅读 · 0 评论 -
最近高数复习感想汇总
入学快3年了,上半个学期快结束的时候才意识到到底该系统的学习哪些课程,这个学起来就根据去年的认识在做一个完整系统的课程复习+学习,复习的是之前学过的课程比如高数、线性代数和概率这些,学习的是之前从没学过的课程比如信号系统、最优化理论。由于我的学习方向是机器学习,所以我觉得这些课程对于我来说意义很大,尽管之前学过,其实都在看paper的时候根本联系不起来或者不会灵活运用,根本想不到当时学过的这些知识原创 2013-03-20 10:27:41 · 1620 阅读 · 0 评论 -
用于子空间分割的低秩表达的background knwolodges
如今重回过头来阅读之前的low rank representation(以下简称LRR)的paper,看了前面一段就觉得感受非常的深刻,因为平时老板帮我们理解paper的时候也很少说一些assumption,所以直接上来给你说方法你会出现一些疑问:比如这个方法为什么就可以用于这种问题,这个问题到底又是什么问题?其实很多paper中在开始的部分或多或少的提起一些来,可能自己之前的英语实在太差了吧,今原创 2013-09-29 22:22:52 · 3685 阅读 · 3 评论 -
深度学习中卷积和池化的一些总结
最近完成了hinton的深度学习课程的卷积和池化的这一章节了,马上就要结束了。这个课程的作业我写的最有感受,待我慢慢说来。1:里面有几个理解起来的难点,一个是卷积,可以这么来理解。这幅图是对一个5*5的矩阵A进行3*3的矩阵B的卷积,那么就从最上角到右下角,生成卷积之后的矩阵的大小是(5-3+1)*(5-3+1)的矩阵,生成之后的矩阵的元素值,是之前的两个矩阵对应元素的乘积之和,这原创 2013-09-18 15:48:32 · 59455 阅读 · 14 评论 -
关于压缩感知的一些补充
最近在学习用low rank的方法进行子空间聚类(subspace clustering,简称SC)的时候,发现上面和sparse的SC对比,于是拿出来较早的那篇S(sparse)SC,在这篇SSC上是这么描述的:本文的SSC是对于一堆数据在不知道他们子空间的bias以及没个子空间的维度下进行。一个很自然的问题:难道知道了一堆数据的子空间的bias以及分别的维度的话,那么之前是怎么做的?为了搞通这原创 2013-10-04 13:32:58 · 1183 阅读 · 0 评论 -
Matlab2017b在macos high Sierra下的mex
由于实验需求,要在matlab2017b下,基于Macos的High Sierra使用mex编译代码。首先按照提示安装了Xcode,版本是9.2,安装之后但是还是无法使用mex,接下来需要安装一个commond tool,步骤如下:打开终端输入:xcode-select --install然后等待安装,然后回到matlab就可以了。...原创 2018-03-19 18:09:58 · 1355 阅读 · 1 评论 -
comments on the inverse model to solve multi-objective optimization
I have been interested in solving many-objective optimization with the inverse model, so that I could manipulate the operation in the objective space other than the decision space. I have tried to use原创 2018-02-05 22:44:08 · 401 阅读 · 0 评论 -
Worst NSGA-II的大概介绍
最近由于一些需求,需要用到nadir point的信息。总的来说获取nadir point信息的方法有3种。第一种是在当前演化的generation中的pareto optimal solutions中来提取到,也就是所说的surface-to-nadir方法,其次是edge-to-nadir的方法,比如是说不从整个surface出手,而是定位到pareto front的edge出手来求,相比第一种原创 2016-12-09 07:58:36 · 1153 阅读 · 0 评论 -
最近对GA算法的一些思考
最近多次试验了下代码,发现了一些很有意思的事情,主要涉及到的问题是分别用实值编码和二进制编码对一个问题的解决的收敛速度等的体会,分别总结下:1:用来做实验的目标函数是miny=x21+x22s.t.x1,x2∈[−5.12,5.12]min\quad y=x_1^2+x_2^2 \quad s.t. x_1,x_2\in[-5.12, 5.12]。2:大概的流程就是这样子:随机初始化一定数量的种群,原创 2015-09-24 07:58:34 · 1559 阅读 · 0 评论 -
遗传算法中的CROSSOVER和MUTATION
遗传算法原创 2015-09-14 12:05:15 · 7246 阅读 · 0 评论 -
non-dominated sorting算法的matlab实现
实现了一个non-dominated sorting的算法,效率是最差的那种,但是感觉思路很清晰。先描述下思路吧:1:对于全部的种群N,每一条染色体上的元素是这么个意思[决策变量 目标函数值 rank distance],在这个地方我主要是设置rank,distance是另外步骤用的。2:首先一个空的集合has_assigend_index 也就是已经找到rank的就挪到这里面来。3:依次从第一个染原创 2015-11-04 02:25:48 · 3711 阅读 · 0 评论 -
Simulated Binary Crossover(SBX)的学习
最近在做作业遇到一个Dejong’s fifth function的multi modal的问题,用传统的GA方法尝试了很多次,的确没办法搞定,随机很多次也不一定在global optimum的地方得到一次解。前几天去导师家里的路上谈到这个事情,导师说一般现在都用SBX和polynomial的mutation。于是回来找了相关论文来看,找到了SBX最早的论文,奇怪的是,在论文中竟然没有给出伪代码,只原创 2015-09-29 08:05:52 · 8351 阅读 · 9 评论 -
最近对多目标学习的心得
被外导扔给一片Trans. On Cyber的文章来审,关于多目标优化的,使用演化计算的方法。看了abstract和keywords,就打懵了。演化计算就不多说了,这两天主要是集中于dominate和non-dominate这个玩意的了解上了。先介绍下这个玩意吧。 但是为了说这些还要引出多目标优化的问题。对于一组目标函数: f={f1(X),f2(X),⋯,fM(X)},X∈RNf=\{f_1(原创 2015-06-03 09:49:01 · 4902 阅读 · 2 评论 -
回馈式(RNN)神经网络中梯度更新的2个经典算法的证明和剖析
Latex写的,只好截图上来了原创 2014-04-14 16:40:24 · 3112 阅读 · 2 评论 -
神经网络训练中的训练集、验证集以及测试集合
1:在NN训练中我们很常用的是训练集合以及测试集合,在训练集合上训练模型(我个人认为模型就是训练的方法以及对应的参数值,更偏重于参数值吧),训练好之后拿到测试集合上验证模型的泛华(就是该模型可以拿去实战的效果)的能力。2:但是对于上述情况,举个例子,比如是在训练一个多层网络,我们用类似minFUNC的方法来训练,那么这个优化包会直接根据我们的输入直接迭代出来一个很好地结果了,此时模型就原创 2014-03-18 10:55:28 · 18642 阅读 · 0 评论 -
在AutoEncoder中使用tied weight的训练方法
1:在传统的AutoEncoder中我们知道,输入层到隐层有一个权重W1和bias b1,隐藏到输出层也有一个权重W2和截距项b2,此时我们也知道W1和W2的转置的型是同样大小的。但是在传统的AutoEncoder中我们对于W1和W2是单独训练的。2:在tied weight中也就是W1和W2是tied的,此时让W2的转置等于W1,也就是两个W其实是一样的,那么我们怎么做?因为如果初始化的时候原创 2014-01-10 15:08:58 · 5100 阅读 · 6 评论 -
似然函数的一些理解
latex写的竟然无法复制出来,tnnd,我只好截图了。。原创 2013-09-28 21:41:25 · 2605 阅读 · 0 评论 -
利用二次导数对函数凹凸性的证明
很多人其实都知道可以利用函数的二次导数来判断函数的凹凸性,但是很多人忘记了怎么来证明的,在这里我来再次证明一下。求证:若f(x)在(a,b)内连续并且二次可导,若f''(x)>0则函数凹,反之函数凸前序:先给出几个定理以及说明。关于函数凹凸性的说明:函数f(x)在(a,b)内连续,对于任意的a若f(x0)(f(x1)+f(x2))/2,则认为函数(向上)凸原创 2013-03-18 10:19:46 · 31914 阅读 · 2 评论 -
方阵A由AA^T=I来推导A^TA=I
原创 2013-03-01 10:28:00 · 3983 阅读 · 0 评论 -
稀疏表达唯一解的证明
在线文本编辑器太差劲了,我用latex排版的写在了pdf上,我直接截图吧:原创 2013-02-27 17:52:14 · 1514 阅读 · 0 评论 -
PCA人脸识别过程
1:一共有N个人脸,每个人脸按照像素从左到右,从上到下,计算出来每个人脸的相像素个数M,则形成人脸矩阵M*N,接着对这个矩阵每行的值减去均值形成新的矩阵,然后对这个矩阵求它的协方差矩阵,继续对协方差矩阵求前m个值最大的特征向量(特征向量是M*1的),然后形成Feature Vectures(M*m)的。记这个矩阵为A2:对人脸库的每个人的脸(一个人可能有多个人脸图)分别对A求投影,这个投影出来原创 2012-10-09 11:10:39 · 7178 阅读 · 3 评论 -
什么是机器智能
这学期又重新修了老板的机器智能课程,相比前两个学年的,这次听的更认真了,上了第一节课,让我更加知道了什么是机器智能,在这里做个总结吧,我大概的写下:1:什么是智能智能是一种知道学习什么,从什么地方学习,理解并且能够和环境进行交互的一种能力。简单的说智能就是一种能力。2:智能来自哪里智能来自大脑,它是一种行为,或者说是一种能力,这种行为或者能力和神经元细胞有关。3:什原创 2012-09-15 20:02:28 · 4368 阅读 · 0 评论 -
PCA读书笔记
PCA是一种对高维度数据进行降维的一种方法,为了能够了解PCA的具体过程,一些数学知识,比如:期望,标准差,方差,协方差,特征值,特征向量等都是必须了解的。不过不要怕,我这里先一个一个来介绍下这些概念。PCA是一种常用的统计方法,什么是统计分析的过程?就是用样本数据的特征去代表整体数据特征,而统计就是来分析这个样本数据的特征(为什么要这样来做?而不是把全部数据拿来分析呢?因为全部数据量太大)原创 2012-09-28 13:39:15 · 1640 阅读 · 0 评论 -
神经元细胞工作模型以及数学建模
接着上次讲过的人工智能入门,对人工智能做什么、研究目标有了大概的了解。今天继续深入。1:先回顾下之前讲的,人工智能就是以人工的方式让机器具备智能。智能是一种行为,这种行为和人的大脑有关,而大脑中主要负责这些行为的是神经元细胞,那么就是研究大脑中神经元细胞的工作原理,去作用于机器,让机器具备这种智能行为。2:在大脑中,神经元主要集中在大脑皮层上。大脑皮层是一块区域,有视觉去、听觉区域等,每个原创 2012-09-27 10:33:36 · 12863 阅读 · 0 评论 -
机器学习-学习笔记3.1-局部加权回归
局部加权紧接着上面的线性回归中参数求解来继续讲吧。还是以上面的房屋价格的预测,它的中心思想是在对参数进行求解的过程中,每个样本对当前参数值的影响是有不一样的权重的。比如上节中我们的回归方程为(这个地方用矩阵的方法来表示Ɵ表示参数,i表示第i个样本,h为在Ɵ参数下的预测值): 我们的目标是让 最小,然后求出来Ɵ,再代入h中就可以得到回归方程了。 但是如果类似以下的样本原创 2012-07-19 17:19:25 · 21191 阅读 · 1 评论 -
sparse coding稀疏表达入门
最近在看sparse and redundant representations这本书,进度比较慢,不过力争看过的都懂,不把时间浪费掉。才看完了不到3页吧,书上基本给出了稀疏表达的概念以及传统的求法。我也用书中的例子来引入吧。1:矩阵A(n*m),其中n远远小于m,一副图片经过缩小或者模糊处理导致该图片所占用的空间变小了,此时用向量b来表示,A表示图片所经过的处理,X代表原图片,那么这个就可以原创 2012-07-17 12:13:06 · 5830 阅读 · 1 评论 -
b is not in the spans of the columns of the martix A
最近在看sparse and redundant representation,可能由于不经常看类似文章的问题,有些翻译按照字面来理解根本无法理解,觉得前后矛盾。在第一页看到一句话这么说:矩阵A式n*m的n小于m,如果b is not in the spans of columns of matrix A,那么Ax=b无解。经过和师弟讨论,师弟直接告诉我这句话意思其实就是说b无法由A线性表示。原创 2012-07-16 12:38:26 · 1900 阅读 · 2 评论 -
what is underdetermined linear system
最近看sparse representation 总是看到一个underdetermined,经过google translate发现解释不太通顺,后来经过wiki查询,还真有解释,原来是在一个linear system equation中。如果the count of equation is fewer than unkowns的话,这个方程组就叫做underdetermined的。也就是说方程原创 2012-07-16 10:00:57 · 2766 阅读 · 0 评论 -
机器学习-学习笔记2-监督学习中回归方程的建立以及预测
下午看了斯坦福机器学习的第二节课,主要是讲解的监督学习中的回归问题,更多的是回归方程中系统的求解,用到了梯度下降算法。具体的证明过程暂时还不知道,只知道了大概意思,作为入门先这样理解吧,我来写个总结,当前先有问题引入。1:问题引入,有类似下面的一组数据(假定有m个这样的数据): 吐槽下:CSDN的在线编辑器真难用,数学符号什么的都不支持。。。。原创 2012-07-12 20:03:06 · 2517 阅读 · 2 评论