在之前的文章中我并没有写SVM算法,主要原因在于这个虽然我知道SVM的基本原理,
但中间关键的最大化决策边界的算法我写不出来
只能使用sklearn提供的方法来求得这个最大化决策边界,不过还好,至少SVM的基本原理不难理解,这篇文章,我将详细说明SVM的基本原理,并用一个简单的小例子(代码段一)来测试,
同时代码段二是用SVM来进行手写数字识别,但这个算法非常的久,你可能会认为机器假死,
在没有最后print运行计算都还在运行,有耐心的可以慢慢等待
关于使用的数据集,可参考
机器学习(10.1)--手写数字识别的不同算法比较(1)--mnist数据集不同版本解析及平均灰度实践
# -*- coding:utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
from sklearn import svm
#下面两行,解决matplotlib中无法显示中文的问题
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
clf_1_points=np.array([[1,1],[1,0.5],[1.5,1],[2,1]])
clf_2_points=np.array([[3,3],[5,5],[5,3]])
plt.title('第一步,