代码改变世界

支持向量机:Numerical Optimization,SMO算法

2013-09-04 12:47 by Loull, 617 阅读, 1 推荐, 收藏,
摘要:http://www.cnblogs.com/jerrylead/archive/2011/03/18/1988419.html另外一篇:http://www.cnblogs.com/vivounicorn/archive/2011/06/01/2067496.html11 SMO优化算法(Sequential minimal optimization)SMO算法由Microsoft Research的John C. Platt在1998年提出,并成为最快的二次规划优化算法,特别针对线性SVM和数据稀疏时性能更优。关于SMO最好的资料就是他本人写的 《Sequential Minimal Op 阅读全文

SVM计算过程,对偶形式,核函数

2013-09-04 12:36 by Loull, 2420 阅读, 0 推荐, 收藏,
摘要:SVM是一个分类方法,用w^X+b定义分类函数, 于是求w、b,为寻最大间隔,引出1/2||w||^2,继而引入拉格朗日因子,化为对单一因数对偶变量a的求解(求解过程中会涉及到一系列最优化或凸二 次规划等问题),如此,求w.b与求a等价,而求a的解法即为SMO,至于核函数,是为处理非线性情况,若直接映射到高维计算恐维度爆炸,故在低维计算, 等效高维表现。一、原问题和对偶形式优化目标:到这个形式以后,就可以很明显地看出来,它是一个凸优化问题,或者更具体地说,它是一个二次优化问题——目标函数是二次的,约束条件是线性的。这个问题可以用任何现成的 QP (Quadratic Programming) 阅读全文

SVM入门——线性分类器的求解,核函数

2013-09-04 10:54 by Loull, 3317 阅读, 0 推荐, 收藏,
摘要:一、问题的描述从最一般的定义上说,一个求最小值的问题就是一个优化问题(也叫寻优问题,更文绉绉的叫法是规划——Programming),它同样由两部分组成,目标函数和约束条件,可以用下面的式子表示:(式1)约束条件用函数c来表示,就是constrain的意思啦。你可以看出一共有p+q个约束条件,其中p个是不等式约束,q个等式约束。关于这个式子可以这样来理解:式中的x是自变量,但不限定它的维数必须为1(视乎你解决的问题空间维数,对我们的文本分类来说,那可是成千上万啊)。要求f(x)在哪一点上取得最小值(反倒不太关心这个最小值到底是多少,关键是哪一点),但不是在整个空间里找,而是在约束条件所划定的一 阅读全文

【转】SVM入门(一)SVM的八股简介

2013-09-04 10:23 by Loull, 401 阅读, 0 推荐, 收藏,
摘要:(一)SVM的八股简介支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中[10]。支持向量机方法是建立在统计学习理论的VC 维理论和结构风险最小原理基础上的,根据有限的样本信息在模型的复杂性(即对特定训练样本的学习精度,Accuracy)和学习能力(即无错误地识别任意样本的能力)之间寻求最佳折衷,以期获得最好的推广能力[14](或称泛化能力)。以上是经常被有关SVM 的学术文献引用的介绍,有点八股,我来逐一分解并解释一下。Vapni 阅读全文

【SVM】A Practical Guide to Support Vector Classi cation

2013-09-03 19:16 by Loull, 317 阅读, 0 推荐, 收藏,
摘要:零、简介 一般认为,SVM比神经网络要简单。 优化目标: 函数phi(x)会把训练样本x映射到高维(或无穷维)的空间中。 基本的核: 一、实际运用 一般流程: 二、数据处理2.1 离散特征 建议用m个数字表示某个离散特征的m个可取的值。m个数字中只有一个取1,其他的都取0。 比如{红,黄,蓝}分别表示为(1,0,0), (0,1,0), (0,0,1)2.2 规格化 核的值通常与特征向量的内积有关。 训练集和测试集必须用相同的规格化方法。三、模型选择3.1 优先选择RBF核 1、它能把映射到高维空间,处理线性不可分的情况。 2、超参数的数量影响计算的复杂度,多项式... 阅读全文

【weka】分类,cross-validation,数据

2013-09-03 18:54 by Loull, 4642 阅读, 0 推荐, 收藏,
摘要:一、分类classifier 如何利用weka里的类对数据集进行分类,要对数据集进行分类,第一步要指定数据集中哪一列做为类别,如果这一步忘记了(事实上经常会忘记)会出现“Class index is negative (not set)!”这个错误,设置某一列为类别用Instances类的成员方法setClassIndex,要设置最后一列为类别则可以用Instances类的numAttributes()成员方法得到属性的个数再减1。 然后选择分类器,比较常用的分类器有J48,NaiveBayes,SMO(LibSVM有Java版的,可以在weka中使用,但要设置路径),训练分类器使用J48.. 阅读全文

几个随机算法

2013-09-02 22:02 by Loull, 1698 阅读, 0 推荐, 收藏,
摘要:在日常工作中,经常需要使用随机算法。比如面对大量的数据, 需要从其中随机选取一些数据来做分析。 又如在得到某个分数后, 为了增加随机性, 需要在该分数的基础上, 添加一个扰动, 并使该扰动服从特定的概率分布。本文主要从这两个方面出发, 介绍一些算法, 供大家参考。首先假设我们有一个使用的随机函数float frand(), 返回值在(0, 1)上均匀分布。大多数的程序语言库提供这样的函数。 在其他的语言如C/C++中, 可以通过间接方法得到。如 frand()= ((float)rand() ) / RAND_MAX; 1, 随机选取数据假设我们有一个集合A(a_1,…,a_n), 对于数m, 阅读全文

经典的机器学习方面源代码库

2013-09-01 19:58 by Loull, 305 阅读, 0 推荐, 收藏,
摘要:编程语言:搞实验个人认为当然matlab最灵活了(但是正版很贵),但是更为前途的是 python(numpy+scipy+matplotlib)和C/C++,这样组合既可搞研究,也可搞商业开发,易用性不比matlab差,功能组合 更为强大,个人认为,当然R和java也不错.1.机器学习开源软件网(收录了各种机器学习的各种编程语言学术与商业的开源软件)http://mloss.org2 偶尔找到的机器学习资源网:(也非常全,1和2基本收录了所有ML的经典开源软件了)http://www.dmoz.org/Computers/Artificial_Intelligence/Machine_Lear 阅读全文

机器学习相关资源

2013-09-01 19:57 by Loull, 544 阅读, 0 推荐, 收藏,
摘要:一、引言在机器学习相关领域研究中,不可避免的要涉及各种各样的算法,包括数据预处理、算法模型生成、算法模型集成、算法评估等。对于研究人员而言,每一个算法都亲力亲为实现几乎是不可能的,而且会造成非常巨大的时间浪费。此外,在算法实验中,数据本身占据着非常重要的地位,在公认的数据集上取得较好的实验效果,是研究成果得到承认的前提之一。基于以上的两点原因,本文对目前可以使用的主要机器学习工具包以及数据集进行整理,作为之后研究的基础。必须说明的是,本文整理的内容必然有失完整,后续期待着进一步的完善。二、必备的经典工具包2.1MATLAB毫无疑问,MATLAB是机器学习算法研究中最为核心的工具,其中包含的大量 阅读全文

9月份计划

2013-09-01 19:51 by Loull, 223 阅读, 0 推荐, 收藏,
摘要:给自己一个计划,注重惯性的力量,但适时跳出不良循环看完几本书:python经济机器学习实战机器学习论文:Graphical Models, Exponential Families, and variational inferencepluskids的博客项目:数据分析实验:LR,SVM,BPKNN,K-means决策树 阅读全文

使用node.js 进行服务器端JavaScript编程

2013-08-30 15:42 by Loull, 771 阅读, 0 推荐, 收藏,
摘要:node.js 入门 node.js 可以运行在 Linux、Windows 和 Macintosh 等主流的操作系统上。在 Windows 平台上运行 node.js 的话,需要 Cygwin 或是 MinGW 的支持。下面以常用的 Windows 平台为例来说明。首先需要安装 Cygwin。安装的时候需要选择 gcc-g++ 、make 、openssl 和 python 等包。gcc 的版本必须是最新的。接着从参考资料中给出的地址下载 node.js 0.4.0 版本的源代码。下载解压之后,依次在 Cygwin 中运行 ./configure 、make 和 make... 阅读全文

JavaScript加强

2013-08-30 15:33 by Loull, 266 阅读, 0 推荐, 收藏,
摘要:1、Aptana简介Aptana是一个非常强大,开源,专注于JavaScript的Ajax开发IDE它的特性包括1、JavaScript,JavaScript函数,HTML,CSS语言的CodeAssist功能2、Outliner(大纲):显示JavaScript,HTML和CSS的代码结构3、支持JavaScript,HTML,CSS代码提示,包括JavaScript自定函数4、代码语法错误提示。5、支持AptanaUI自定义和扩展。6、调试JavaScript7、支持流行AJAX框架的CodeAssist功能:JQueryextjsdwr2、Aptana插件在eclipse中安装3、Apt 阅读全文

data.frame和matrix的一些操作

2013-08-27 13:06 by Loull, 2240 阅读, 0 推荐, 收藏,
摘要:编写脚本的时候经常会涉及到对data.frame或matrix类型数据的操作,比如取指定列、取指定行、排除指定列或行、根据条件取满足条件的列或行等。在R中,这些操作都是可以通过简单的一条语句就能够实现的,非常的简洁优美~下面就是一个小小的总结:1. 对data.frame或matrix取指定行data[i,] #取data中的第i行data[c(i,j,k),] #取data中的第i,j,k行取指定列的操作同理可得2. 对data.frame或matrix删除指定行data[-i,] #排除data中的第i行data[c(-i,-j,-k),] #排除data中的第i,j,k行3. 根据条件取 阅读全文

Outlier Detection

2013-08-23 11:27 by Loull, 839 阅读, 0 推荐, 收藏,
摘要:1)正态分布数据,飘出95%的可能是异常值.变量var正态标准化,|var| table Q then reject the questionablepoint.http://en.wikipedia.org/wiki/Dixon's_Q_test 阅读全文

对数线性模型之一,逻辑回归、广义线性模型学习总结

2013-08-21 19:21 by Loull, 1089 阅读, 0 推荐, 收藏,
摘要:经典线性模型自变量的线性预测就是因变量的估计值。广义线性模型:自变量的线性预测的函数是因变量的估计值。常见的广义线性模型有:probit模型、 poisson模型、对数线性模型等等。对数线性模型里有:logistic regression、Maxinum entropy。本篇是对逻辑回归的学习总结,以及广义线性模型导出逻辑回归的过程。下一篇将是对最大熵模型的学习总结。本篇介绍的大纲如下:1、逻辑斯蒂分布,logit转换2、在二分类问题中,为什么弃用传统的线性回归模型,改用逻辑斯蒂回归?3、逻辑回归模型的求解过程?4、实际应用逻辑回归时数据预处理的经验总结。但经验有限,如果有哪位网友这块... 阅读全文
上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 33 下一页