支持向量机
支持向量机(SVM)是非常强大、灵活的有监督学习算法,既可以用于分类,也可用于回归。在贝叶斯分类器中我们首先对每个类进行了随机分布的假设,然后用生成的模型估计新数据点的标签,这属于生成分类方法。而SVM属于判别分类方法:不再为每类数据建模,而是用一条分割线(二维空间中的直线或者曲线)或者流体(多维空间中的曲线、曲面等概念的推广)将各种类型分割开。
支持向量机:边界最大化
对于仅仅使用分割线划分分界线可能会存在多解的问题,SVM提供了改进这个问题的方法:不再画一条细线来区分分类,而是画一条到最近点的边界、有宽度的线条。在支持向量机中,选择边界最大的那条线是模型的最优解。支持向量机其实就是一个边界最大化评估器。
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from scipy import stats
import seaborn as sns;sns.set()
#创建实验数据
from sklearn.datasets.samples_generator import make_blobs
x, y = make_blobs(n_samples=50, centers=2, random_state=0,cluster_std=0.60)
plt.scatter(x[:, 0], x[:, 1], c=y, s=