支持向量机与核函数

支持向量机,support vector machines,简称SVM。一下全文基本都是用SVM一词。

先将这个复杂的概念化小,个人理解,SVM就是很好的现成的分类器,这里的“现成”指的是分类器不加修改即可直接使用。同时,这就意味着数据上应用基本形式的SVM分类器就可以得到低错误率的结果。SVM能够对训练集之外的数据点做出很好的分类决策。

本文主要介绍当前比较流行的SMO算法与核函数。

关于具体的SVM算法可以参考我的这篇笔记
SVM and Kernels

原理–基于最大间隔分隔数据

More

详细谈谈RBF-1

对神经网络的监督学习有多种不同的方法。在我以前的文章里提到过的反向传播算法,可以是看做递归技术的应用,这种方法又叫做随机逼近。

在这篇文章中,我将采用完全不同的途径。具体来说,通过包含如下两阶段的混合方式来解决非线性可分模式的分类问题:

  • 第一阶段将一个给定的非线性可分模式的集合转换为新的集合,在一定条件下,转换后的模式变为线性的可能性很高;关于这一转换的数学证明我就不具体介绍了,大家可以去查阅 Cover 大大在 1965 年的早期论文
  • 第二阶段是通过最小二乘估计来解决给定的分类问题

More

PCA降维

关于PCA算法的具体介绍在下面这篇文章中,这里我就简单介绍一下,如果大家想要完整的了解PCA,戳下面那个连接就是了

Machine Learning-8

本文中的代码以及数据文件在这里

代码与数据

在介绍PCA之前,先谈谈

什么是降维?

举个例子,比如你现在再看手机,手机正在播放复联。众所周知,屏幕是由无数个像素点组成的,比如100W个吧,不算多。而你在看复联的时候你关注的是英雄的动作以及周围的场面,这是个三维的场景。

在这个过程中,人脑已经将数据从100W维降到了3维。

这就是降维(dimensionality reduction)。

More

决策树

决策树

最经常使用的数据挖掘算法

其只要优势在于数据形式非常容易理解,分为判断模块(decision block)与终止模块(terminating block)

决策树

  • 优点:计算复杂度不高,输出结果易于理解,对中间值的缺失不敏感,可以处理不相关特征数据
  • 缺点:可能会产生过度匹配问题
  • 适用数据类型:数值型和标称型

More

K-Means算法的实现

K-Means算法是分类数据中最简单有效的算法。我在前面的博客里曾经写过

K-means

但其还是有两个明显的缺陷。一是K-Means必须保存全部数据集,如果训练数据集很大必须使用大量的存储空间,此外必须对每个数据都计算一遍距离,这会很费时间。
另一个缺陷在于它无法给出任何数据的基础结构信息。但是我会在后面的博客中写出解决之道

本文使用python以及Matlab分别该算法,以及在文章末尾简单实现了基于该算法实现的手写识别

源码及测试文件

More