摘要: OneR算法简介OneR又称1-R,是1993出现的一种极为简单的分类算法模型,它可以产生一个单层的决策树。OneR算法是一个简单、廉价的方法,但是常常能够获得一个非常好的结果,用于描述数据中的结构。OneR算法的使用非常广泛,可以简单的得到一个对数据的概括性了解,有时候甚至可以直接获得结果。OneR算法实现OneR的思路很简单,建立一个只针对于单个属性进行测试的规则,并进行不同的分支。每个分支对应的不同属性值。分支的类就是原始数据(训练数据)在这个分支上出现最多的类。每一个属性都会产生一个不同的规则集,每条规则对应这个属性的每个值。对每个属性值的规则集的误差率进行评估,选择效果最好的一个即可阅读全文
posted @ 2012-04-14 11:22 黄云坤 阅读(904) 评论(0) 编辑
摘要: 好久没有写libgdx相关的东西了,主要是我不知道改写些什么了。最近收到了很多邮件,大多是关于资源加载的,特别是异步资源加载,还有什么Loading窗口的实现什么的,这篇博文就做个大致的回答吧。什么时候需要资源预加载资源预加载的目的很明确,提升用户体验。当然就开发者而言,比较好的预加载实现方式还可以方便管理。如果游戏很简单简单,资源很少很少,那么弄资源预加载就是费事,但是以下几种情况的话还是推荐使用:1.资源数量大音乐、图片、视频什么的,如果你的游戏这些东西太多,推荐使用2.部分资源反复使用有些资源会反复使用到,比如一些背景音乐,一些小图标Libgdx中的AssetManagerAssetMa阅读全文
posted @ 2012-04-04 11:58 黄云坤 阅读(1753) 评论(14) 编辑
摘要: 上一篇介绍了arff格式,这是weka专有格式,一般情况需要我们从其他数据源抽取或者获得。weka支持从cvs转化,也可以从数据库中抽取,界面如下图weka安装目录有一个data目录,里面有一些测试数据,可以用于测试和学习。导入了数据仅仅是一个开始,我们还需要对数据进行预处理。数据预处理(data preprocessing)数据预处理(data preprocessing)是指在主要的处理以前对数据进行的一些处理。现实世界中数据大体上都是不完整,不一致的脏数据,无法直接进行数据挖掘,或挖掘结果差强人意。为了提高数据挖掘的质量产生了数据预处理技术。数据预处理有多种方法:数据清理,数据集成,数据阅读全文
posted @ 2012-04-02 16:08 黄云坤 阅读(1302) 评论(0) 编辑
摘要: 我个人认为直接讨论数据挖掘算法和weka的使用过于心急。我一开始就直接学习的数据挖掘方法,有些方法艰涩枯燥,我常常在思考的不是方法本身,而是“这是干什么的?”。在使用了weka后有些东西渐渐清晰,因为输入和输出给了人很直观的感觉,再结合技术本身学习效率很高。输入主要有三类:概念、实例和属性。概念概念简单而言就是需要被处理的东西。它可以是分类学习中那个已经分类完成的样本集。你需要处理的东西可能差别很大,但你可以统称它们为概念,而输出就是对其的描述,即概念描述。实例实例这个词你可能觉得陌生,但是你可以大致认为其为样本。我们通常的输入是一个实例集,其中的每一个实例都是单一、独立的概念样本。当然最常见阅读全文
posted @ 2012-03-30 00:21 黄云坤 阅读(1128) 评论(0) 编辑
摘要: 写在开篇weka用了一些时日了,觉得真心不错。功能很完善,而且是开源的。最重要的扩展方便,非常适合搞研究和做全国大学生数学建模之类的比赛。我学习weka主要是看的一本数据挖掘和weka使用的书,是英文的。国内有中文版…但是不想吐就不要看译本吧,不知道是翻译的人是怎么想的.我写博文的顺序和参考书顺序是一样的,一方面是我觉得原书的学习顺序很合理,另外一个方面是因为我也确确实实是按照这个顺序学的。文章的内容一部分是我大致翻译的原书内容,一部分是我的实际经验。weka的中文资料还是有一些的,但是我没有找到一个较为系统,所以准备自己写一个系列出来。因为数据挖掘涉及一些比较专业的知识,我虽然是学数学的,但阅读全文
posted @ 2012-03-29 13:31 黄云坤 阅读(1552) 评论(2) 编辑
摘要: 先说明一下上一篇文章我使用了多张hiero图的字体绘制,因为我对源码进行了一些修改,本来想这次发出来的,但是我仔细调试了一下,发现对于多图的支持还是有问题,有些字会出现偏移。这个只有继续尝试了…大家可以考虑使用ttf字库。然后继续说上一篇,虽然实现了一个简单的效果,但是目前有很多不足。我把AVG游戏需要的资源全部提取出来,放在一个个文件夹中,然后通过配置文件加载这些数据。libgdx的工具库com.badlogic.gdx.utils就是libgdx的工具库,支持两种格式xml和json。我最先倾向于使用json格式,但是反复想了想,虽然json的大小可能要小点,但是没有xml直观好读。所以还阅读全文
posted @ 2012-03-03 22:18 黄云坤 阅读(1436) 评论(7) 编辑
摘要: 好久没有写libgdx的东西了,主要是最近迷上了各种算法…文章是关于实现简单的AVG游戏效果,可能会有好几篇。想用libgdx做点AVG效果主要是因为目前Android上运行的AVG游戏(主要是恋爱模拟类型)的基本基于NScripter引擎移植出来的,我的2B中兴机子跑着巨卡,所以想自己做个。何为AVG游戏冒险类游戏AVG (Adventure Game)通常是玩家控制角色进行虚拟冒险的游戏,其故事情节往往是以完成某个任务或是解开一个谜题的形式出现的。我这里说的AVG主要是指日式AVG,就是在最初的文字冒险游戏的基础上利用精美的CG图片和动人的音响效果加以强化,靠优秀的文字和剧情打动人心的一种阅读全文
posted @ 2012-03-02 15:24 黄云坤 阅读(1931) 评论(18) 编辑
摘要: 开学了,各种忙起来了…上一篇介绍了AForge.NET在人工神经网络上的一点点使用,但是老觉不过瘾。matlab用着实在不习惯,就又琢磨了一下进化计算。进化计算简介进化计算算不上新的方法了,已经有大量研究人员作出了努力,这导致了大量的进化计算算法出现。他们不仅研究算法本身,还致力于扩大算法的应用范围。众所周知,现实世界存在大量复杂问题,它们中一部分无法用常规方法在合理的时间内获得精确解,而另一部分甚至没有行之有效的解决方案。最著名的例子就是TSP问题,该问题意在寻求单一旅行者由起点出发,通过所有给定的需求点之后,最后再回到原点的最小路径成本。而进化计算可以应用于这些问题,因为大多数情况下这类问阅读全文
posted @ 2012-02-29 12:57 黄云坤 阅读(1389) 评论(7) 编辑
摘要: 前面4篇文章说的是模糊系统,它不同于传统的值逻辑,理论基础是模糊数学,所以有些朋友看着有点迷糊,如果有兴趣建议参考相关书籍,我推荐《模糊数学教程》,国防工业出版社,讲的很全,而且很便宜(我买成7元钱)。人工神经网络的简介人工神经网络是一种应用类似于大脑神经突触联接的结构进行信息处理的数学模型。它是一种运算模型,由大量神经元和相互的连接组成,每个神经元代表一种特定的输出函数,称为激励函数(activation function)。每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重(weight),用于模拟记忆。整个网络的输出则依网络的连接方式、权重值和激励函数的不同而不同。而网络阅读全文
posted @ 2012-02-07 14:29 黄云坤 阅读(1396) 评论(1) 编辑
摘要: 先说一下,为什么题目是简单实现,因为我实在没有弄出好的例子。我原来用AForge.net做的项目中的模糊系统融入了神经网络和向量机,没法抽出来当例子,就用了个最老的自动车辆的例子。模糊系统(Fuzzy System)架构前面零零散散说来一下有关模糊系统和模糊理论的东西,这里来个总结。模煳系统的基本架构如图8.1所示,其中主要的功能方块包括:(1)模煳化机构、(2)模煳规则库、(3)模煳推论引擎、以及(4)去模煳化机构。模糊化机构是有关模糊集合和隶属度函数的内容。模糊规则前文也有提及,去模糊化只涉及了重心法一种,这里简单说一下模糊推理引擎。模糊推理引擎是模煳系统的核心,它可以藉由近似推论或模煳推阅读全文
posted @ 2012-02-06 19:06 黄云坤 阅读(1186) 评论(3) 编辑
摘要: 使用AForge.NET进行模糊运算上一篇说来一些模糊运算的数学问题,用AForge.NET做相关运算就很简单了。1.联集运算中的标准联集数学:s (p,q) = max (p,q)程序:public class MaximumCoNorm : ICoNorm { public float Evaluate( float membershipA, float membershipB ) { return Math.Max( membershipA, membershipB ); } }2.交集运算中的标准交集数学:t (p,q) = min (p,q)程...阅读全文
posted @ 2012-02-05 15:10 黄云坤 阅读(912) 评论(1) 编辑
摘要: 语意变数(Linguistic Variable)语意变数存储了数个语意量(标签),每个语意量包含一个识别名和模糊集合。在宣告陈述时每个语意量只能和在同一变数中的语意比较。举个很简单的例子,我们有一个名为temperature的语意变数,它包含4个语意量,名为cold、cool、warm、hot,这也是各自的标签名,同时它们还有各自的隶属度函数。那么我们就在接下来的系统中使用诸如temperature is hot或者temperature is not hot等等了。 //语意变数的声明 LinguisticVariable lvTemperature = new LinguisticVar阅读全文
posted @ 2012-02-04 12:59 黄云坤 阅读(916) 评论(0) 编辑
摘要: 什么是AForge.NET?AForge.NET是一个为开发人员和研究人员开发的框架,它可以用于计算机视觉,遗传算法,图像处理,神经网络,机器人学习与控制,机器学习和模糊系统。AForge.NET的官方文档比较丰富,网上也有一些相关文章,但是多是关于视觉和神经网络的,而我个人对模糊系统比较感兴趣,故写下自己的一些感受。模糊系统和模糊理论简述模糊系统主要是区别于经典系统(或称为常规系统)。在研究人机系统,管理系统,特别是经济和社会系统时,由于加入人的逻辑、推理、判断,很多决策很难做到完全精确,这些和人有关的系统就拥有了某种模糊性。在常规系统中,如果一个系统在某刻的状态和输入一旦决定,下个时刻的状阅读全文
posted @ 2012-02-03 17:41 黄云坤 阅读(1461) 评论(8) 编辑
摘要: 这算是社团布置的一个假期小作业吧,我只是提出我自己的解决方案,不一定是最合适的。效果大致如下:javascript这块使用jquery。新建一个Asp.net web项目,使用NuGet获取Jquery最新版。数据库方面使用Nhibernate,用Install-Package Nhibernate引用。数据库是用的PostgreSQL,Install-Package Npgsql把驱动装上。我这里偷个懒,数据库名,用户名和密码都是ajaxDemo了。创建数据库:CREATE DATABASE "ajaxDemo" WITH OWNER = "ajaxDemo&q阅读全文
posted @ 2012-01-31 17:16 黄云坤 阅读(1700) 评论(7) 编辑
摘要: 无聊中手机上网翻到的,先没明白这是什么东西,等我实际体验了一把以后完全震惊了,太给力了!NuGet的官方说明是:NuGet是一款Visual Studio的扩展,它可以简单的安装、升级开源库和工具。官网地址:http://www.nuget.org/官网最醒目的位置就是下载链接,安装完成后我们来快速体验一把。手上有个小项目需要使用到json格式,一般情况我会先Google一下有没有相关的开源库(这个肯定是有的)。然后从一些博文中发现了Json.net,然后继续Google之,找到Json.net的官网,然后下载最新的稳定版本,找出DLL文件引用它。是不是很复杂?很繁琐?(其实没用NuGet之前阅读全文
posted @ 2012-01-29 19:05 黄云坤 阅读(3881) 评论(21) 编辑

