在之前为了寻找最有分类器,我们提出了如下优化问题:
在这里我们可以把约束条件改写成如下:
首先我们看下面的图示:
很显然我们可以看出实线是最大间隔超平面,假设×号的是正例,圆圈的是负例。在虚线上的点和在实线上面的两个一共这三个点称作支持向量。现在我们结合KKT条件分析下这个图。
我们从式子和式子可以看出如果那么,
这个也就说明时,w处于可行域的边界上,这时才是起作用的约束...
分类:
其他好文 时间:
2014-05-09 02:33:02
阅读次数:
345
今天偶尔想到了过河问题。记得读小学六年级的时候第一次接触到这个问题--六个老虎过河问题(百度上有详细介绍,本文解决的是一个简单的问题,下一篇文章中将讨论该问题),当时都是从逻辑思维的方法得到正确的解决方法。本文介绍了普遍适用该类问题的方法以及该方法的改进方法,下一篇文章将介绍问题的变型及解法。
向量法(人、狗、鸡、米过河问题)
问题描述:某人带狗、鸡、米用船来过河,只有...
分类:
其他好文 时间:
2014-05-08 17:17:13
阅读次数:
351
简介:
1、在之前我们把要寻找最优的分割超平面的问题转化为带有一系列不等式约束的优化问题。这个最优化问题被称作原问题。我们不会直接解它,而是把它转化为对偶问题进行解决。
2、为了使问题变得易于处理,我们的方法是把目标函数和约束全部融入一个新的函数,为了使问题变得易于处理,我们的方法是把目标函数和约束全部融入一个新的函数,即拉格朗日函数,再通过这个函数来寻找最优点。即拉格朗日函数,再通过这个函数...
分类:
其他好文 时间:
2014-05-07 22:40:35
阅读次数:
331
本文99.9%的代码及内容作者:mengwuji来自:http://www.mengwuji.net/forum.php?mod=viewthread&tid=1371VEH:向量化异常处理,是对整个进程来说是全局的(SEH是针对线程的)异常捕获技术,只要通过简单的设置,只要当前进程发送了异常,都能...
分类:
其他好文 时间:
2014-05-07 09:44:38
阅读次数:
367
(转载请注明出处:http://blog.csdn.net/buptgshengod)
1.背景
上一节学习支持向量机,感觉公式都太难理解了,弄得我有点头大。不过这一章的Adaboost线比较起来就容易得多。Adaboost是用元算法的思想进行分类的。什么事元算法的思想呢?就是根据数据集的不同的特征在决定结果时所占的比重来划分数据集。就是要对每个特征值都构建决策树,并且赋予他们不同的...
分类:
编程语言 时间:
2014-05-07 06:48:25
阅读次数:
569
数学知识太差,一点点积累,高手勿喷。
1. 先求出AB向量
a = ( x2-x1, y2-y1 )
2. 求AB向量的单位方向向量
b = √((x2-x1)^2 + (y2-y1)^2))
a1 = ( (x2-x1)/b, (y2-y1)/b )
3.求出CA的法向向量(或CB的法向向量)
c = ( y0-y1, -(x0-x1) )
4. 距离 = AC法向向量与BC向量...
分类:
其他好文 时间:
2014-05-07 05:37:05
阅读次数:
275
(转载请注明出处:http://blog.csdn.net/buptgshengod)
1.背景知识
前面我们提到的数据集都是线性可分的,这样我们可以用SMO等方法找到支持向量的集合。然而当我们遇到线性不可分的数据集时候,是不是svm就不起作用了呢?这里用到了一种方法叫做核函数,它将低维度的数据转换成高纬度的从而实现线性可分。
可能有的人不明白为什么低维度的数据集转换成高...
分类:
编程语言 时间:
2014-05-07 03:39:44
阅读次数:
455
1. 熟悉各种Linux操作命令;并编写程序,使用GNU gcc/g++进行预处理、编译和链接,观察每一阶段完成的任务。 2. 编写代码,实现二维向量和三维向量的运算: 1) 遵循软件开发标准,程序分文件书写; 2) 可以进行向量的加减和比...
分类:
编程语言 时间:
2014-05-06 22:28:37
阅读次数:
455
题目链接:10641 - Barisal Stadium
题意:顺时针给定n个点,在给m个灯,每个灯有一个花费,要求最小花费使得所有边能被灯照到
思路:用向量叉积判断向量的顺逆时针关系,从而预处理出每个灯能照到的边,然后由于n个点是环的,所以可以直接扩大两倍,dp时候去枚举起点即可
状态为dp[i]表示现在照到i条边之前的边全部照亮需要的最小花费
代码:
#include
#inclu...
分类:
其他好文 时间:
2014-05-06 21:40:48
阅读次数:
304
1. 熟悉各种Linux操作命令;并编写程序,使用GNU gcc/g++进行预处理、编译和链接,观察每一阶段完成的任务。
2. 编写代码,实现二维向量和三维向量的运算:
1) 遵循软件开发标准,程序分文件书写;
2) 可以进行向量的加减和比较运算(重载+,-,=和==运算符)。
3) 分别用静态链接和共享链接的方式测试向量的使用。
3. 创建包含二维向量和三维向量的向量库:libVector.a和 libVector.so,并分别写出对应的MakeFile文件
4. 编写程序测试向量库。...
分类:
编程语言 时间:
2014-05-06 19:38:36
阅读次数:
397