- 博客(12)
- 资源 (11)
- 收藏
- 关注
原创 一种基于凸优化的图像去噪方法演示
本文介绍一种基于凸优化的图像去噪方法。 该方法采用L1范数来衡量图像的平滑度,即能滤除澡声,又能最大限度地保存图像的边缘。 模型如下: 其中f(x)为差分矩阵,存放了X每个元素与其4邻域的差值。 I为输入的灰度图像。 对于三通道彩色图像,可对每个通道进行单独处理。gamma为权重,值趣大则图像越平滑。上述模型为无约束的最小化问题 ,用线性规化可解。 在这里用一个很强大通用的matlab算法包CVX[1]进行求解
2013-10-19 16:17:31
3736
1
原创 最简单的三层神经网络Matlab实现
人工神经网络(Artificial Neural Network, ANN)[1]具有很广的应用。理论上来说,采用多层的神经网络能够逼近任何的连续函数,而不管该函数是否平滑。自从SVM出现后,大家都快忘了还有ANN这种东东。但是近几年随着deep learning技术的兴起,大牛们又重新开始关注神经网络了。在这里,演示一种个人认为最简单的三层神经网络。它包含一个输入层(即数据本身),一个中间层(又称隐含层,hidden layer), 和一个输出层。其中,输入层的大小即为数据的维度,中间层大小可调,输出层只
2013-09-07 13:06:55
13012
原创 采用蒙特卡洛方法计算PI的值
蒙地卡罗方法(Mente Carlo method)是一种通过产生大量随机数并结合相关统计和数值计算来解决问题的一类方法。本文介绍如何利用蒙地卡罗方法来计算pi的值。clc;clear;set = 5.^(1:10)for i = 1:length(set) N = set(i); rng(1); x = rand(N,1); rn
2013-09-04 23:18:55
11086
2
原创 juce: 跨平台的C++用户界面库
如果你用过QT和MFC,那你必然知道QT是基于C++的跨平台库,而MFC是微软针对widows平台推出来基础类库。且不论MFC的设计如何,从我个人和身边朋友的经历来看,MFC是一些非常难以理解的类的组合,其设计模式和各式各样不知所谓的宏都让人十分费解。相比之下,QT在这方面要好很多。哈哈,你以为我在会在这时d介绍QT吧?错了,在这里给大家推荐的是 juce,一个跨平台的C++用户界面库。Juc
2013-09-02 23:36:53
8219
原创 最小二乘曲线拟合matlab实现
曲线拟合[1]是一种常用的模型拟合方法,经常用在相机标定或其它传感器标定上。对于加性高斯噪声,最小二乘通常是一种最优的估计方法(PS:当外点存在时,通常可以采用其它robust estimator 或者采用ransac进行拟合)。本文演示最小二乘曲线拟合技术,所有代码可从点击此处下载。对如下图所示的加噪声曲线,如何进行曲线拟合呢?我们可以采用d阶多项式去逼近
2013-09-02 14:10:51
8340
3
原创 采用线性SVM对线性不可分的数据进行分类(含matlab实现)
本文介绍一种常用的分类器设计技巧[1]:将线性不可分的数据映射到高维后,使其变得线性可分,然后利用前面介绍的线性分类器进行无(训练)误差分类。假设我们有如下图所示的训练数据,如何对其进行分类? 显然,此时的正负样本是不可分的,因为无法找到一个超平面(由于此处是二维数据,超平面退化成直线)将其分开。在这里介绍一个有用的技术:将二维数据转化成五维数据,即
2013-09-02 11:03:08
5953
1
原创 在Matlab中如何快速生成均匀分布的圆带形数据?
在测试一个分类器或降维方法时,常常要用到下面形式的随机数据:在matlab中怎样产生如上图所示的随数据呢?这里介绍一种比较高效的方法:首生产生一组随机的0到2*pi的角度数据,方法为调用rand先产生0到1的均匀分布数据再乘以2pi。然后再产生一组随机的半径数据:假设上图的内径为r0,带宽为d,则先用rand生成0到1的随机数a,最后半径即为a*d+r0。有了角度和数据就能成生图中的图
2013-09-02 09:59:10
6846
原创 基于树型弱分类器的adaboot演示(含Matlab代码)
Adaboost是一种非常有用的分类框架[1]。 本质上,它将众多的弱分类器进行线性组合,最终形成一个可以与所谓的强分类器如SVM比拟的分类器。它的优点在于速度快,过拟合不严重等,缺点是需解带权重的离散误差最小化问题,使得只有少数的弱分类器能比较方便地得到最优解,从而限制了它的应用。在此处对adaboost+只有一个根结点的决策树进行演示。训练代码:%stump_train.m
2013-08-30 13:48:44
3173
1
原创 python科学计算库
Python是一门很强大的语言,在日常的图像处理和机器学习工作中能发挥很大的作用。Python的效率比Matlab高,比C/C++低,但易用性和与C/C++接口方面绝不亚于Matlab。这里简单介绍一个开源的科学计算库。有了它,很多科学计算都能方便地直接调用,如滤波,解线性方程(从某种角度看,基本上所有科学计算问题都可以归结为解线性方程组,斯坦福的大牛Boyd说的哈),求特征值,图像插值等。库的地
2013-08-27 15:16:17
1200
原创 最简单的贝叶斯分类器演示(含Matlab程序)
贝叶斯(Baysian)分类器[1]是一种理论上比较简单的分类器。但是结合不同的网络结构和概率模形,它又可以演化成非常复杂的分类体系。本短文主要演示Baysian + Gaussian如何解两类问题。其中,分母部分主要用于归一化。p(y)为先验概率(prior), p(x|y)为条件概率或称之为类概率密度(即已知x是哪一类的情况下p(x)的概率密度)。 在本文中,假设p
2013-08-27 11:11:13
6959
原创 分类器设计之线性分类器和线性SVM(含Matlab代码)
对于高维空间的两类问题,最直接的方法是找到一个最佳的分类超平面,使得0" alt="">并且,对于所有的正负训练样本和. 因此,以上问题可以表达为:0,i=1,....,n&&space;\\&space;&&&w^Ty_j+b0,i=1,....,n&&space;\\&space;&&&w^Ty_j+b0,i=1,....,n& \\ &&&w^Ty_j+b问题P0可以转化为
2013-08-25 16:48:02
12016
原创 分类器设计之logistic回归分析(含Matlab代码)
logistic回归是回归分析的一种, 函数表达式为在matlab中可以画出其graph:x = -10:0.1:10;y = 1./(exp(-x)+1);plot(x,y,'g-x');title('logistic function');xlabel('x');ylabel('y');以上是一维的情况。对于多维变量,可以定义一个超平面 代入原来
2013-08-17 13:31:17
15354
1
最简单的三层神经网络Matlab实现
2013-09-07
基于树型弱分类器的adaboost演示程序(matlab)
2013-08-30
最简单的贝叶斯分类器演示Matlab程序
2013-08-27
分类器设计之线性分类器和线性SVM(Matlab代码)
2013-08-25
分类器设计之logistic回归分析Matlab代码
2013-08-20
A comparative review of camera calibrating methods with accuracy evaluatio
2013-06-24
Introduction_To_The_Theory_Of_Computation 计算理论入门
2013-02-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人