11 2018 档案
摘要:集成方法(ensemble method)又叫元算法(meta-algorithm):将不同的分类器组合起来。 通俗的说:就是三个臭皮匠赛过诸葛亮。做决定时,考虑多个人的意见,不是一个人的意见 集成方法: 1. bagging(自举汇聚法):基于数据随机重抽样的分类器构建方法。并行算法 2. boo
阅读全文
摘要:手写数字是32x32的黑白图像。为了能使用KNN分类器,我们需要把32x32的二进制图像转换为1x1024 1. 将图像转化为向量 测试: 2. KNN分类器 3. 手写数字识别系统的测试代码 4. 总结 k-近邻算法的特点: 1. 是分类数据最简单最有效的算法 2. 必须保存全部数据集,会使用大量
阅读全文
摘要:KNN原理 1. 假设有一个带有标签的样本数据集(训练样本集),其中包含每条数据与所属分类的对应关系。 2. 输入没有标签的新数据后,将新数据的每个特征与样本集中数据对应的特征进行比较。 a. 计算新数据与样本数据集中每条数据的距离。 b. 对求得的所有距离进行排序(从小到大,越小表示越相似) c.
阅读全文
摘要:关于手写识别问题,用KNN分类效果也不错,但是KNN需要保留所有的训练样本。而对于支持向量机只需保留边界的支持向量。 因为有些函数代码与上一篇博文(支持向量机-在复杂数据上应用核函数)的一致。建议只需将本节代码放入上篇代码之后即可。 1. 将图像转换成向量 2. 加载图像 3. 测试数字分类 支持向
阅读全文
摘要:当我们遇到数据线性不可分时,就要用到核函数,将数据从低维的特征空间映射到高维。好处是:低维需要解决非线性问题,到了高维就变成了线性问题。 最流行的核函数:径向基函数(radial basis function)(rbf) 1. 加载数据集 2. 支持函数 3. 辅助函数(与Platt SMO算法基本
阅读全文
摘要:完整版SMO算法与简单的SMO算法: 实现alpha的更改和代数运算的优化环节一模一样,唯一的不同就是选择alpha的方式。完整版应用了一些能够提速的方法。 同样使用Jupyter实现,后面不在赘述 参考地址:https://github.com/apachecn/AiLearning/blob/m
阅读全文
摘要:SMO:序列最小优化 SMO算法:将大优化问题分解为多个小优化问题来求解 SMO算法的目标是求出一系列的alpha和b,一旦求出这些alpha,就很容易计算出权重向量w,并得到分隔超平面 工作原理:每次循环选择两个alpha进行优化处理,一旦找出一对合适的alpha,那么就增大一个同时减少一个 这里
阅读全文
摘要:支持向量机(Support Vector Machines, SVM):是一种监督学习算法。处理二分类 支持向量(Support Vector)就是离分隔超平面最近的那些点。 机(Machine)就是表示一种算法,而不是表示机器。 线性可分数据集:将数据集分隔开的直线称为分隔超平面。我们希望找到离分
阅读全文