支持向量机与决策树:原理、应用及对比
1. 超越线性边界:核支持向量机
在处理线性不可分的数据时,支持向量机(SVM)与核函数的结合展现出强大的能力。之前在线性回归的基函数回归中,我们曾使用核函数将数据投影到由多项式和高斯基函数定义的高维空间,从而用线性分类器拟合非线性关系。在SVM模型中,我们可以运用相同的思路。
1.1 线性不可分数据示例
考虑以下代码生成的线性不可分数据:
from sklearn.datasets.samples_generator import make_circles
X, y = make_circles(100, factor=.1, noise=.1)
clf = SVC(kernel='linear').fit(X, y)
plt.scatter(X[:, 0], X[:, 1], c=y, s=50, cmap='autumn')
plot_svc_decision_function(clf, plot_support=False);
从结果可以明显看出,线性分类器无法有效分离这些数据。
1.2 数据投影到高维空间
我们可以借鉴线性回归中的基函数回归方法,将数据投影到更高维度,使线性分隔器能够发挥作用。例如,计算以中间簇为中心的径向基函数:
r = np.exp(-(X ** 2).sum(1))
使用三维图可视化这个额外的数据维度:
<
超级会员免费看
订阅专栏 解锁全文
1216

被折叠的 条评论
为什么被折叠?



