- 55
- 0
- 约2.49万字
- 约 32页
- 2016-03-31 发布于湖北
- 举报
LibSVM-2.8程序代码注释.doc
LibSVM-2.8程序代码注释
刘国平(ahphone@)
2005-08-6
我不经心地,服下你调好的毒
我知道今后我将万劫不复
但是你的红唇仍让我屈服
四月的樱花火红满天
我和你的梦,却要一以何处去缱绻?
虽然人间的情爱万万千千
世上已有太多崩毁的誓言
七个黑夜,七个白天
我为你写下的歌,彩绘的纸笺
却只能随着晚风
飘在大海的岸边
我仍愿服下你精心为我调好的毒
从你那深情的吻
吞下我与你在人间
最后的流光万千辗转朱颜……
第一章 LibSVM结构
一、文件结构
整个LibSVM由两个文件组成,svm.h, svm.cpp。其中svm.h中定义了使用LibSVM所需要的数据结构和函数。
数据结构:
struct svm_node :数据节点,每个节点只是单个样本矢量中的一个特征。
struct svm_problem :数据集,存放所有样本矢量的数据结构。
struct svm_parameter : SVM参数。
其实应该还有一个数据结构存放在头文件中:
struct svm_model : 训练好的训练模型。
二、类结构图
其中有两组关键的类:
QMatrix类: 包括QMatrix, Kernel, SVC_Q, SVR_Q, ONE_CLASS_Q;
Solver类: 包括Solver, Solver_NU;
(矢量图,可以调整放大倍数)
第二章: 头文件SVM.h
本文件只是定义了若干个结构体,和若干接口函数。严格的来说,它们并不是接口函数,因为实际上整个代码里面,可以直接访问的函数还有其他。但事实上,如果仅仅是应用一下这份代码的话,只要知道这几个函数就可以了。2.1 struct svm_node
struct svm_node
{
int index;
double value;
};
struct svm_node用来存储单一向量中的单个特征,例如:
向量 x1={ 0.002, 0.345, 4, 5.677};
那么用struct svm_node来存储时就使用一个包含5个svm_node的数组来存储此4维向量,内存映象如下:
1 2 3 4 -1 0.002 0.345 4.000 5.677 空 其中如果value为0.00,该特征将不会被存储,其中(特征3)被跳过:
1 2 4 5 -1 0.002 0.345 4.000 5.677 空 0.00不保留的好处在于,做点乘的时候,可以加快计算速度,对于稀疏矩阵,更能充分体现这种数据结构的优势。但做归一化时,操作就比较麻烦了。(类型转换不再说明)
2.struct svm_problem
struct svm_problem
{
int l;
double *y;
struct svm_node **x;
};
struct svm_problem存储本次参加运算的所有样本(数据集),及其所属类别。在某些数据挖掘实现中,常用DataSet来实现。
int l;记录样本总数
double *y;指向样本所属类别或者回归值的数组。在多类问题中,因为使用了one-agianst-one方法,可能原始样本中y[i]的内容是1.0,2.0,3.0,…,也就是属于类别1,2,3,但但参与多类计算时,参加分类的两类所对应的y[i]内容是+1,和-1。
Struct svm_node **x;指向一个存储内容为指针的数组;
如下图,最右边的四个长条格同上表,存储三维数据。(黑边框的是最主要的部分)
这样的数据结构有一个直接的好处,可以用x[i][j]来访问其中的某一元素(如果value为0.00的也全部保留的话。
私下认为其中有一个败笔,就是把svm_node* x_space放到结构外面去了。
2.enum { C_SVC, NU_SVC, ONE_CLASS, EPSILON_SVR, NU_SVR }; /* svm_type */
enum { LINEAR, POLY, RBF, SIGMOID }; /* kernel_type */
支持向量机类型以及若干文献:
C-SVC :
C.J.C. Burges. A tutorial on support vector machines for pattern recognition. Data Mining and Knowledge Discovery, 2(2):955-974, 1998.
NU_SVC :2.4 struct svm_parameter
struct svm_parameter
{
int svm_type;//SVM类型,见前enum
int kernel_type;//核函数
double degree;
您可能关注的文档
最近下载
- 广东省深圳市深圳实验学校等校联考2024-2025学年九年级下学期开学考试语文试题(含答案).docx VIP
- 急性心梗转运流程图解.pptx
- 2025年房地产经纪人房地产市场特点综合案例分析专题试卷及解析.pdf VIP
- 党员领导干部2025年度民主生活会对照检查材料范文.docx VIP
- 2025年演出经纪人保护未成年人艺人的特殊义务与权利专题试卷及解析.pdf VIP
- ALINCO DR-635中文操作手册.pdf
- 2025年AWS认证Fargate网络隔离与安全组精细化配置专题试卷及解析.pdf VIP
- 2025年房地产经纪人市场比较法与其他估价方法(收益法、成本法)的混合应用专题试卷及解析.pdf VIP
- 2025年项目管理专业进度绩效指数在应对“黑天鹅”事件中的弹性分析专题试卷及解析.pdf VIP
- 【高考数学】2025年高考数学二级结论篇(核心知识背记手册).pdf
原创力文档

文档评论(0)