分類と回帰を行う場合、通常、モデルの構築と改善に役立つテストとトレーニングセットを設定します。
ただし、クラスタリングを行う場合、テストセットとトレーニングセットも設定する必要がありますか?どうして?
分類と回帰を行う場合、通常、モデルの構築と改善に役立つテストとトレーニングセットを設定します。
ただし、クラスタリングを行う場合、テストセットとトレーニングセットも設定する必要がありますか?どうして?
回答:
はい、クラスタリングも過剰適合問題に悩まされる可能性があるためです。たとえば、クラスターの数を増やすと、常に「パフォーマンスが向上します」。
以下は、K-Meansクラスタリングを使用した1つのデモです。
K-meansの目的関数は(表記の詳細はここにあります)
そのような目的では、が低いほど「より良い」モデルを意味します。
次のデータ(irisデータ)があるとします。クラスターの数をに選択すると、クラスターの数を選択するよりも常に「優れています」。次に、クラスターを選択する方がクラスターよりも優れています。このトラックを続けて、コストで終了できます。クラスターの数をデータポイントの数と等しくし、すべてのクラスターの中心を対応するポイントに配置します。3 5 4
d=iris[,c(3,4)]
res4=kmeans(d, 4,nstart=20)
res3=kmeans(d, 3,nstart=20)
par(mfrow=c(1,2))
plot(d,col=factor(res4$cluster),
main=paste("4 clusters J=",round(res4$tot.withinss,4)))
plot(d,col=factor(res3$cluster),
main=paste("3 clusters J=",round(res3$tot.withinss,4)))
テストのためにデータを保留している場合は、過剰適合を防ぐことができます。同じ例で、多数のクラスターを選択し、すべてのクラスターの中心をトレーニングデータポイントに配置するとします。テストデータポイントがトレーニングデータと重複しないため、テストエラーは大きくなります。
いいえ、これは通常不可能です。
分類子のように使用できるクラスタリングはほとんどありません。k-meansやPAMなどでのみ「一般化」を評価できますが、それ以来、クラスタリングははるかに多様化(そして興味深い)になりました。そして実際、古い階層クラスタリングでさえ、「新しい」データにうまく一般化されません。クラスタリングは分類ではありません。分類からの多くの方法は、クラスタリングにうまく移行しません。ハイパーパラメータ最適化を含みます。
部分的にラベル付けされたデータしかない場合は、これらのラベルを使用してパラメーターを最適化できます。しかし、クラスタリングの一般的なシナリオは、データセットについてさらに学びたいというものです。クラスタリングを数回実行して、興味深いクラスタを調査し(通常、一部のクラスタは明らかに小さすぎるか、または大きすぎて興味深いものではないためです)、得られた洞察の一部を書き留めます。クラスタリングは、人間がデータセットを探索するのを助けるツールであり、自動的なものではありません。ただし、クラスタリングは「デプロイ」しません。これらは信頼性が高すぎるため、単一のクラスタリングでは「全体像」を伝えることはできません。
いいえ。教師なし学習ではトレーニングやテストを使用しません。教師なし学習には、アルゴリズムのパフォーマンスをテストする目的関数はありません。