- 博客(15)
- 资源 (3)
- 收藏
- 关注
原创 Ray Tracing 的c++简单实现
计算机图形学实验,实现ray tracing算法并与opengl渲染效果对比。原文及code参见:我的GithubRay TracingIn this assignment,I implemented the Ray-Tracing algorithm in c++.I didn’t use any library but the CImg library,only use to read and
2017-06-03 13:14:18 1988
原创 Matlab实现Bagging(集成学习)算法
实验环境:Matlab2016a实验内容:实现Bagging算法,训练多个分量分类器,比较分量分类器和最后的总分类器的分类准确率。Bagging算法:从大小为n的原始数据集中,分别独立随机地选取n’个样本组成自助数据集,并且将这个过程独立进行许多次,直到产生很多个独立的自助数据集。然后,每个自助数据集都被独立地用于训练一个“分量分类器”,最终分类器的判决将根据这些“分量
2017-06-01 16:25:31 16245 7
原创 VTK实现简单科学可视化
VTK(Visualization ToolKit)是一种可视化工具箱,功能强大,能帮我们进行各种图像处理和可视化。本实验利用VTK对尸体头颅体数据进行科学可视化。实验环境:VS2015+VTK7.0VTK的安装有点麻烦,但这是个学习的过程,网上有许多相关教程,多花点时间肯定能成功。实验数据:本实验数据来源于:The stanford Volume Data Archive 网站里有头颅数据的详
2017-05-09 21:57:40 1631 2
原创 Matlab实现BP神经网络和RBF神经网络(二)
在上一篇博文中:Matlab实现BP神经网络和RBF神经网络(一) 中,我们讨论了BP网络设计部分,下面我们将设计RBF网络并将它们结果与SVM对比。数据格式不变,详情请看上一篇博文。RBF神经网络:RBF网络和BP网络都是非线性多层前向网络,它们都是通用逼近器。对于任一个BP神经网络,总存在一个RBF神经网络可以代替它,反之亦然。但是这两个网络也存在着很多不同点,他们在网络结构、训练算法、网络资源
2017-05-09 15:50:49 19911 12
原创 Matlab实现BP神经网络和RBF神经网络(一)
本实验依托于教材《模式分类》第二版第六章(公式符号与书中一致)实验内容:设计编写BP神经网络和RBF神经网络,对给定数据集进行分类测试,并将分类准确率与SVM进行对比。实验环境:matlab2016a数据集:数据集大小3*3000,表示3000个样本,每个样本包含2个特征,第三行表示样本所属的分类。对于此次实验编写的BP神经网络和RBF神经网络,均将原始数据集分为训练集和测试集两部分,训练集含270
2017-05-09 14:43:36 33418 9
原创 Matlab自带的分类学习工具箱(SVM、决策树、Knn等分类器)
在matlab中,既有各种分类器的训练函数,比如“fitcsvm”,也有图形界面的分类学习工具箱,里面包含SVM、决策树、Knn等各类分类器,使用非常方便。接下来讲讲如何使用。启动:点击“应用程序”,在面板中找到“Classification Learner”图标点击即启动,也可以在命令行输入“classificationlearner”,回车,也可启动。如下图:导入数据:点击“New Sessio
2017-05-08 22:40:23 76690 36
原创 纹理滤波
在计算机图形学中,纹理滤波(Texture filtering)是一种针对一个使用材质贴图的像素,使用临近的一个或多个纹素计算其纹理颜色的方法。从数学上来说,纹理滤波是抗锯齿的一种,但它更着重于滤掉纹理中的高频,而不像其他抗锯齿技术那样着重于改善边界显示效果。简单来说,它使得同一个纹理可以被用于不同的形状,尺寸和角度,同时尽可能减少显示时的模糊和闪烁。 用户可以权衡计算复杂度和图像质量,在许多种纹
2017-04-23 16:31:30 4163
原创 Gouraud Shading and Phong Shading
具体实验内容及源码请参考:[我的github](https://github.com/ruange/Gouraud-Shading-and-Phong-Shading)Introduction:In this project I implemented Gouraud Shading and Phong Shading on Phong Reflection Model.Before talking
2017-04-23 16:19:15 1667
原创 opengl画会动的木头人(stick man)
stickman是由一段一段的cubes组合起来的,首先先在草稿纸上画出模型,确定每一个cubes的长宽高,使stickman看起来不那么别扭。然后在opengl中使用glvertex3f(x,y,z)函数确定四个点,glBegin(GL_QUADS)函数将使这四个点画出一个面,将长方体的6个面依次画出组成一个长方体,注意这些长方体都是在自己的坐标系画出的。接下来的问题是将这些长方体叠起来,叠起来需要有个层次,ope
2017-04-23 15:52:17 4411 3
原创 matlab自带函数实现BP神经网络
利用feedforwardnet函数建立BP神经网络,十分简单:clear;load input_white.mat;load output_white.mat;input=input_white'; %转置为F*N矩阵,F为特征的个数,N为样本的个数output=output_white';%[norminput,norminputps]=mapminmax(input); %归一
2017-04-20 22:48:23 4335
原创 利用基本梯度下降法和牛顿法对样本进行判别
机器学习实验五,详情请参考《模式分类》第二版第五章课后上机练习5.4节实验环境:Matlab 2016a基本梯度下降法和牛顿法:我们在寻找能将两类类别分开的权向量时采用的方法是:定义一个准则函数J(a),当a是解向量时,J(a)最小。这样就将问题简化为一个标量函数的极小化问题——通常可以用梯度下降法来解决。梯度下降法的原理非常简单,首先从一个任意选择的权向量a(1)开始,计算其梯度向量,下一个值a(
2017-04-18 10:53:32 1430
原创 parzen窗方法和k近邻方法估计概率密度
机器学习实验四,详情请参考《模式分类》第二版第四章课后上机练习4.3、4.4节实验环境:Matlab2016aParzen窗估计方法:已知测试样本数据x1,x2,…,xn,在不利用有关数据分布的先验知识,对数据分布不附加任何假定的前提下,假设R是以x为中心的超立方体,h为这个超立方体的边长,对于二维情况,方形中有面积V=h^2,在三维情况中立方体体积V=h^3。 根据以下公式,表示x是否落入超立方
2017-04-06 22:41:53 19789 3
原创 利用最大似然估计方法估计参数
机器学习实验三,详情请参考《模式分类》第二版第三章课后上机练习3.2节实验环境:Matlab2016a实验内容:给定以下w1和w2的三维数据,考虑不同维数下的高斯概率密度模型:(a)编写程序,对表格中的类w1中的3个特征,分别求解最大似然估计。 (b)修改程序,处理二维数据的情形。然后处理对表格中的类w1中的任意两个特征的组合(3种可能)。 (c)修改程序,处理三维数据的情形。然后处理表格中类w
2017-03-27 17:04:01 17307 1
原创 利用贝叶斯判别函数设计分类器
详情请参阅《模式分类》第二版第二章上机练习2.5节第2题数据说明:有w1,w2,w3三组样本数据如下(符合正态分布): (1)假设P(w1)=P(w2)=0.5,P(w3)=0,仅利用x1特征值为这两类判别设计一个分类器,并确定样本的经验训练误差,即误分点的百分比。 (2)假设P(w1)=P(w2)=0.5,P(w3)=0,利用x1,x2两个特征值为这两类判别设计一个分类器,并确定样本的经验训练
2017-03-19 20:48:23 4892 4
原创 Matlab实现简单K-means聚类算法
K-means算法简要思想:算法接受参数 k ;然后将事先输入的n个数据对象划分为 k个聚类以便使得所获得的聚类满足:同一聚类中的对象相似度较高;而不同聚类中的对象相似度较小。(1)适当选择k个类的初始中心;(2)在第k次迭代中,对任意一个样本,求其到各中心的距离,将该样本归到距离最短的中心所在的类;(3)利用均值等方法更新类的中心值;(4)对于所有的c个聚类中心,如果利用(2)(3)的迭代
2017-03-13 17:40:35 15340 29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人