随笔分类 - 机器学习
一些machine learning 的算法和代码实现
摘要:1.表达形式: 一个示例有 d d" role="presentation" dd dd个属性:x& x20D7;=(x1,x2,...,xd) \vec{x}=(x_1, x_2,...,x_d)" role="presentation" x⃗ =(x1,x2,...,xd)x⃗=(x1,x2,.
阅读全文
摘要:概述 感知机分类一文中提到了感知机模型在分类问题上的应用,如果,我们需要将其使用于回归问题呢,应该怎样处理呢? 其实只要修改算法的最后一步, sign(x)={+1,x& x2265;0& x2212;1,x<0(1.1) sign(x)=\left\{\begin{matrix}+1 &am
阅读全文
摘要:决策树模型 内部节点表示一个特征或者属性,叶子结点表示一个类。决策树工作时,从根节点开始,对实例的每个特征进行测试,根据测试结果,将实例分配到其子节点中,这时的每一个子节点对应着特征的一个取值,如此递归的对实例进行测试并分配,直到达到叶节点,最后将实例分配到叶节点所对应的类中。 决策树具有一个重要的
阅读全文
摘要:Adaboost算法及其代码实现 算法概述 AdaBoost(adaptive boosting),即自适应提升算法。 Boosting 是一类算法的总称,这类算法的特点是通过训练若干弱分类器,然后将弱分类器组合成强分类器进行分类。 为什么要这样做呢?因为弱分类器训练起来很容易,将弱分类器集成起来,
阅读全文
摘要:SMO算法 SVM(3) 利用SMO算法解决这个问题: SMO算法的基本思路 : SMO算法是一种启发式的算法(别管启发式这个术语, 感兴趣可了解), 如果所有变量的解都满足最优化的KKT条件, 那么最优化问题就得到了。 每次只优化两个 , 将问题转化成很多个 二次规划 的子问题, 直到所有的解都满
阅读全文
摘要:非线性支持向量机SVM 对于线性不可分的数据集, 我们引入了 核 (参考: "核方法·核技巧·核函数" ) 线性支持向量机的算法如下: 将线性支持向量机转换成 非线性支持向量机 只需要将 变为 核函数 即可: 非线性支持向量机的算法如下:
阅读全文
摘要:问题的引入 对于线性可分或者线性近似可分的数据集, 线性支持向量机可以很好的划分,如图左。但是,对于图右的数据集呢?很显然, 这个数据集是没有办法用直线分开的。 我们的想法是在低维空间中不能线性分割的点集,通过转化为高维空间中的点集时,很有可能变为线性可分的。 插个题外话:看过《三体》的小伙
阅读全文
摘要:线性可分支持向量机与软间隔最大化 SVM 给定线性可分的数据集 假设输入空间(特征向量)为 ,输出空间为 。 输入 表示实例的特征向量,对应于输入空间的点; 输出 表示示例的类别。 我们说可以通过 间隔最大化 或者等价的求出相应的 凸二次规划问题 得到的 分离超平面 以及决策函数: 但是,上述的解决
阅读全文
摘要:
阅读全文
摘要:概述 在机器学习中, 感知机(perceptron) 是二分类的线性分类模型,属于监督学习算法。输入为实例的特征向量,输出为实例的类别(取+1和 1)。 感知机对应于输入空间中将实例划分为两类的分离 超平面 。感知机旨在求出该超平面,为求得超平面导入了基于误分类的损失函数,利用 梯度下降法 对损失函
阅读全文