<机器学习实战>6.2小节 #这句是检测 当前样本点i 是否满足KKT条件的 if (alphas[i, :] < C and E_i * labelMat[i, :] < -tolerence) or \ (alphas[i, :] > 0 and E_i * labelMat[i,:] > tolerence): # do something 这是我的理解: 考虑一种情形,存在一样本点,α<C,且标签yi=-1,该样本在当前超平面下的预测的间隔为g(xi).若…
注:关于支持向量机系列文章是借鉴大神的神作,加以自己的理解写成的:若对原作者有损请告知,我会及时处理.转载请标明来源. 序: 我在支持向量机系列中主要讲支持向量机的公式推导,第一部分讲到推出拉格朗日对偶函数的对偶因子α:第二部分是SMO算法对于对偶因子的求解:第三部分是核函数的原理与应用,讲核函数的推理及常用的核函数有哪些:第四部分是支持向量机的应用,按照机器学习实战的代码详细解读. 机器学习之支持向量机(一):支持向量机的公式推导 机器学习之支持向量机(二):SMO算法 机器学习之支持向量机(…
拉格朗日乘子法是一种寻找多元函数在一组约束下的极值方法,通过引入拉格朗日乘子,可将有m个变量和n个约束条件的最优化问题转化为具有m+n个变量的无约束优化问题.在介绍拉格朗日乘子法之前,先简要的介绍一些前置知识,然后就拉格朗日乘子法谈一下自己的理解. 一 前置知识 1.梯度  梯度是一个与方向导数有关的概念,它是一个向量.在二元函数的情形,设函数f(x,y)在平面区域D内具有一阶连续偏导,则对于每一点P(x0,y0)∈D,都可以定义出一个向量:fx(x0,y0)i+fy(x0,y0)j ,称该向量…
MachineLearning 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远 Machine Learning in Action (机器学习实战) | ApacheCN(apache中文网) 视频每周更新:如果你觉得有价值,请帮忙点 Star[后续组织学习活动:sklearn + tensorflow] ApacheCN - 学习机器学习群[629470233] 第一部分 分类 1.) 机器学习基础 2.) k-近邻算法 3.) 决策树 4.) 基于概率论的分类方法:朴素…
程序2-4 分类器针对约会网站的测试代码(4) def datingClassTest():hoRatio = 0.10 //将文件读入内存矩阵datingDataMat,datingLabels = file2matrix('datingTestSet.txt') //归一化,请看(3)normMat, ranges, minVals = autoNorm(datingDataMat)m = normMat.shape[0] //训练样本从第m*hoRatio行开始numTestVecs =…
数据 标称型和数值型 算法 归一化处理:防止数值较大的特征对距离产生较大影响 计算欧式距离:测试样本与训练集 排序:选取前k个距离,统计频数(出现次数)最多的类别 def classify0(inX, dataSet, labels, k): ''' :param inX: 测试样本(arr) :param dataSet: 训练数据集(arr) :param labels: 类别(list) :param k:(int) :return: 类别 ''' #计算距离 dataSetSize =…
Adaboost:多个弱分类器组成一个强分类器,按照每个弱分类器的作用大小给予不同的权重 一.Adaboost理论部分 1.1 adaboost运行过程 注释:算法是利用指数函数降低误差,运行过程通过迭代进行.其中函数的算法怎么来的,你不用知道!当然你也可以尝试使用其它的函数代替指数函数,看看效果如何. 1.2 举例说明算法流程 略,花几分钟就可以看懂的例子.见:<统计学习方法>李航大大 博客都是借鉴(copy)李航博士的:http://blog.csdn.net/v_july_v/artic…
def classifyNB(vec2Classify, p0Vec, p1Vec, pClass1):    p1 = sum(vec2Classify * p1Vec) + log(pClass1)    p0 = sum(vec2Classify * p0Vec) + log(1.0 - pClass1)    if p1 > p0:        return 1    else:        return 0 注意: p1Vect = log(p1Num/p1Denom)p0Vect…
程序清单2-3 归一化特征值: def autoNorm(dataSet): /* >>> barray([[ 1., 2., 3.], [ 2., 3., 4.], [ 10., 0., 0.]])>>> b.max(0)array([ 10., 3., 4.])>>> b.min(0)array([ 1., 0., 0.]) 如上面的例子,求每一列的最大值(或者最小值),组成一个向量 */  minVals = dataSet.min(0)   m…
SVM有很多实现,现在只关注其中最流行的一种实现,即序列最小优化(Sequential Minimal Optimization,SMO)算法,然后介绍如何使用一种核函数(kernel)的方式将SVM扩展到更多的数据集上. 1.基于最大间隔分隔数据 几个概念: 1.线性可分(linearly separable):对于图6-1中的圆形点和方形点,如果很容易就可以在图中画出一条直线将两组数据点分开,就称这组数据为线性可分数据 2.分隔超平面(separating hyperplane):将数据集分…