线性支持向量分类机及其实现
摘要:转自:http://www.cnblogs.com/yuwenchao/archive/2011/10/28/csvc.html本文讨论对于一般的分类问题,线性支持向量分类机(C-SVC)的实现原理及MATLAB代码实现。 由于需要处理线性不可分问题,我们没法找到一个超平面可以完全正确的分化训练集,因此需要“软化”一些条件。由标准的支持向量机(SVM)的最大间隔法所导出的约束条件可以进行如下的“软化”: yi((w·xi)+b) ≥ 1-ξi ,i = 1, 2, ... , n 当ξi足够大时,训练点(yi, xi)总是可以满足条件的,所以我们不能让ξi太大,因此得给ξi一个惩罚系
阅读全文
posted @
2011-10-29 11:37
PhoenixZq
阅读(444)
推荐(0)
哈夫曼数及哈夫曼编码
摘要:哈夫曼树又称最优二叉树,是一种带权路径长度最短的二叉树。所谓树的带权路径长度,就是树中所有的叶结点的权值乘上其到根结点的路径长度(若根结点为0层,叶结点到根结点的路径长度为叶结点的层数)。树的带权路径长度记为WPL=(W1*L1+W2*L2+W3*L3+...+ Wn*Ln),N个权值Wi(i=1,2,...n)构成一棵有N个叶结点的二叉树,相应的叶结点的路径长度为Li(i=1,2,...n)。可以证明哈夫曼树的WPL是最小的。 构造哈夫曼树的算法如下: 1)对给定的n个权值{W1,W2,W3,...,Wi,...,Wn}构成n棵二叉树的初始集合F={T1,T2,T3,...,Ti,.....
阅读全文
posted @
2011-10-19 11:07
PhoenixZq
阅读(18218)
推荐(1)
C++实现读取文件,输出单词
摘要:#include <iostream> #include <fstream> #include <string> using namespace std; int main() { const char filename[]="f:\\text.txt"; ofstream o_file; ifstream i_file; string out_text; //写 o_file.open(filename); for(int i =0;i<=12;i++) { o_file<< "a" <<
阅读全文
posted @
2011-10-13 22:12
PhoenixZq
阅读(2764)
推荐(0)
读取文件,输出单词
摘要:#include <iostream> #include <string>using namespace std;int main() { FILE *fd; fd = fopen("f:\\text.txt","rb"); if(!fd) { printf("read file error!"); return 0; } printf("read file success!\n"); char buf[10]; char* str; ...
阅读全文
posted @
2011-10-13 21:50
PhoenixZq
阅读(382)
推荐(0)
一个K-means算法的C++实现
摘要:其实这个程序是很早以前写的,只是这两天有人问这个算法,就把程序翻出来,加上了详细的注释。程序很简单,就是从一个observations.txt的文件中读取数据,并把数据对象划分成若干个聚类。具体格式:前3行分别是数据数量、数据维度和聚类数量后面每行为一个数据比如:9342.1 3.0 10.04.0 5.2 -1.05.1 1.5 2.310.5 12.6 10.812.1 10.9 11.04.2 5.3 -9.85.4 1.6 8.7-1.0 -2.1 -0.90.5 0.3 0.4前三行分别表示有9个数据,数据的维度是3,分成是4个聚类。用这个数据运行后,程序打印出划分结果:---- 第
阅读全文
posted @
2011-10-13 13:56
PhoenixZq
阅读(1497)
推荐(1)
实现数组的全排列(百度笔试题)
摘要:#include <iostream>using namespace std;void Permutation(int* arr,int len,int length){ if(!arr && length<1) return; if(len == length) { for(int i=0;i<length;++i) cout << arr[i]; cout << endl; } else { for(int j =len;j<length;++j) { ...
阅读全文
posted @
2011-10-12 20:37
PhoenixZq
阅读(265)
推荐(0)
Apache Mahout 简介
摘要:from:http://www.ibm.com/developerworks/cn/java/j-mahout/通过可伸缩、商业友好的机器学习来构建智能应用程序在信息时代,公司和个人的成功越来越依赖于迅速有效地将大量数据转化为可操作的信息。无论是每天处理数以千计的个人电子邮件消息,还是从海量博客文章中推测用户的意图,都需要使用一些工具来组织和增强数据。 这其中就蕴含着机器学习领域以及本文章所介绍项目的前景:Apache Mahout(见参考资料)。机器学习是人工智能的一个分支,它涉及通过一些技术来允许计算机根据之前的经验改善其输出。此领域与数据挖掘密切相关,并且经常需要使用各种技巧,包括统计学
阅读全文
posted @
2011-10-10 15:43
PhoenixZq
阅读(420)
推荐(0)
MapReduce 编程模型在日志分析方面的应用
摘要:from:http://www.ibm.com/developerworks/cn/java/java-lo-mapreduce/index.html简介日志分析往往是商业智能的基础,而日益增长的日志信息条目使得大规模数据处理平台的出现成为必然。MapReduce 处理数据的有效性为日志分析提供了可靠的后盾。本文将以对访问网页用户的日志进行分析,进而挖掘出用户兴趣点这一完整流程为例,详细解释 MapReduce 模型的对应实现,涵盖在 MapReduce 编程中对于特殊问题的处理技巧,比如机器学习算法、排序算法、索引机制、连接机制等。文章分三部分展开:首先介绍 MapReduce 编程模型,对
阅读全文
posted @
2011-10-10 15:41
PhoenixZq
阅读(3662)
推荐(1)
日志分析方法概述
摘要:日志在计算机系统中是一个非常广泛的概念,任何程序都有可能输出日志:操作系统内核、各种应用服务器等等。日志的内容、规模和用途也各不相同,很难一概而论。本文讨论的日志处理方法中的日志,仅指Web日志。其实并没有精确的定义,可能包括但不限于各种前端Web服务器——apache、lighttpd、tomcat等产生的用户访问日志,以及各种Web应用程序自己输出的日志。在Web日志中,每条日志通常代表着用户的一次访问行为,例如下面就是一条典型的apache日志:211.87.152.44 – - [18/Mar/2005:12:21:42 +0800] “GET / HTTP/1.1″ 200 899
阅读全文
posted @
2011-10-09 20:31
PhoenixZq
阅读(455)
推荐(0)
Btree,B-tree,B+tree,B*tree
摘要:B树的搜索,从根结点开始,如果查询的关键字与结点的关键字相等,那么就命中;否则,如果查询关键字比结点关键字小,就进入左儿子;如果比结点关键字大,就进入右儿子;如果左儿子或右儿子的指针为空,则报告找不到相应的关键字;如果B树的所有非叶子结点的左右子树的结点数目均保持差不多(平衡),那么B树的搜索性能逼近二分查找;但它比连续内存空间的二分查找的优点是,改变B树结构(插入与删除结点)不需要移动大段的内存数据,甚至通常是常数开销;如:但B树在经过多次插入与删除后,有可能导致不同的结构: 右边也是一个B树,但它的搜索性能已经是线性的了;同样的关键字集合有可能导致不同的树结构索引;所以,使用B树还要考虑.
阅读全文
posted @
2011-10-08 10:43
PhoenixZq
阅读(299)
推荐(0)