
5.7
詳細:サポートベクターマシン
417
このケースを処理するために、
SVM
実装にはマージンをソフトに(緩和)するための、ある種の
誤差を持ちます。つまり、ポイントがマージンの中に多少入っても構わないことにします。マージ
ンの硬さは、チューニングパラメータ(ほとんどの場合、
C
として知られています)によって制御
します。
C
が非常に大きな場合、マージンは硬く、ポイントはマージンの中に入れません。小さな
C
の場合、マージンは柔らかく、いくつかの点を包含して広げることが可能です。
図5-63は、
C
パラメータの値がマージンの硬軟を通して適合結果にどのような影響を持つかを
視覚的に表しています。
In[17]: X, y = make_blobs(n_samples=100, centers=2,
random_state=0, cluster_std=0.8)
fig, ax = plt.subplots(1, 2, figsize=(16, 6))
fig.subplots_adjust(left=0.0625, right=0.95, wspace=0.1)
for axi, C in zip(ax, [10.0, 0.1]):
model = SVC(kernel='linear', C=C).fit(X, y)
axi.scatter(X[:, 0], X[:, 1], c=y, s=50, cmap='autumn')
plot_svc_decision_function(model, axi) ...