なんて素晴らしい質問です。統計手法の欠点と仮定をどのように検証するかを示すチャンスです。すなわち、いくつかのデータを作成し、そのアルゴリズムを試してください!
2つの仮定を考慮し、それらの仮定が破られるとk-meansアルゴリズムがどうなるかを見ていきます。視覚化が簡単なので、2次元データに固執します。(次元の呪いのおかげで、次元を追加するとこれらの問題がより深刻になる可能性があります。統計プログラミング言語Rを使用します。完全なコードはこちら(およびブログフォームの投稿はこちら)にあります。
転用:アンスコムのカルテット
まず、類推。誰かが次のように主張したと想像してください:
線形回帰の欠点についての資料を読みました。線形回帰を期待していること、残差が正規分布していること、および異常値がないことです。しかし、線形回帰はすべて、予測された線からの二乗誤差の合計(SSE)を最小化しています。これは、曲線の形状や残差の分布に関係なく解決できる最適化問題です。したがって、線形回帰は機能するための仮定を必要としません。
はい、はい、線形回帰は残差の二乗和を最小化することで機能します。しかし、それ自体は回帰の目標ではありません。私たちがやろうとしているのは、xに基づいてyの信頼できる公平な予測子として機能する線を引くことです。ガウス・マルコフの定理は、 SSEを最小限に抑えることgoal-ことを達成していることを教えてくれるが、その定理は、いくつかの非常に特定の仮定にかかっています。これらの仮定が破られた場合でも、SSEを最小化できますが、そうでない場合があります何でも。「ペダルを踏んで車を運転します。運転は基本的に「ペダルを踏むプロセス」です。タンク内のガスの量に関係なく、ペダルを押すことができます。したがって、タンクが空の場合でも、ペダルを押して車を運転することができます。」
しかし、話は安いです。寒くて硬いデータを見てみましょう。または実際には、作成されたデータ。
R2
「これらの場合、残差の二乗和を最小化するため、線形回帰はまだ機能している」と言えます。しかし、なんとピュロスの勝利でしょう!線形回帰は常に線を引きますが、それが無意味な線である場合、誰が気にしますか?
最適化を実行できるからといって、目標を達成しているわけではないことがわかりました。そして、データを作成して視覚化することは、モデルの仮定を調べる良い方法であることがわかります。その直観に固執して、私たちはすぐにそれを必要とするつもりです。
壊れた仮定:非球面データ
あなたは、k-meansアルゴリズムが非球形クラスターでうまく機能すると主張します。これらのような非球形クラスター?
たぶんこれはあなたが期待していたものではありませんが、クラスターを構築するための完全に合理的な方法です。この画像を見ると、人間は2つの自然なポイントグループをすぐに認識します。それらを間違えることはありません。それでは、k-meansがどのように機能するかを見てみましょう。割り当てはカラーで表示され、帰属中心はXとして表示されます。
まあ、それは正しくありません。K-meansは、丸い穴に四角い釘をはめようとしました-きれいな球体が周りにある素敵なセンターを見つけようとしましたが、失敗しました。はい、それはまだクラスタ内の平方和を最小化していますが、上のAnscombeのカルテットのように、それはピュロスの勝利です!
あなたは「それは公正な例ではありません...と言うかもしれない何のクラスタリング法が正しく変なことをしているクラスタを見つけることができませんでした。」違います!単一リンケージ 階層クラスタリングを試してください:
ばっちり成功!これは、単一リンケージ階層クラスタリングがこのデータセットに対して正しい仮定を行うためです。(失敗する状況は他にもあります)。
「これは、単一の極端な病理学的症例だ」と言うかもしれません。しかし、そうではありません!たとえば、外側のグループを円ではなく半円にすると、k-meansが依然としてひどく機能することがわかります(そして、階層的クラスタリングは依然として機能します)。私は他の問題のある状況を簡単に思いつくことができました。16次元データをクラスタリングする場合、発生する可能性のあるあらゆる種類の病理があります。
最後に、k-meansはまだ救済可能であることに注意してください!データを極座標に変換することから始めると、クラスタリングが機能するようになりました。
そのため、メソッドの基礎となる仮定を理解することが不可欠です。メソッドに欠点があるときだけでなく、それらを修正する方法も教えてくれます。
壊れた仮定:不均一なサイズのクラスター
クラスターのポイント数が不均一な場合、それはk-meansクラスタリングも破壊しますか?さて、サイズ20、100、500のクラスターのこのセットを考えてみましょう。多変量ガウスからそれぞれ生成しました。
これは、おそらくk-meansがそれらのクラスターを見つけることができるように見えますよね?すべてがきちんと整理されたグループに生成されるようです。それでは、k-meansを試してみましょう。
痛い。ここで起こったことは少し微妙です。k-meansアルゴリズムは、クラスター内の平方和を最小化するために、より大きなクラスターにより多くの「重み」を与えます。実際には、それはその小さなクラスターがどのセンターからも遠く離れてしまい、それらのセンターを使用してより大きなクラスターを「分割」することを意味します。
これらの例を少し試してみると(Rコードはここにあります!)、k-meansが恥ずかしく間違っているはるかに多くのシナリオを構築できることがわかります。
結論:無料昼食なし
WolpertとMacreadyによって公式化された数学の民間伝承には、「No Free Lunch Theorem」と呼ばれる魅力的な構造があります。これはおそらく、機械学習の哲学の私のお気に入りの定理だ、と私はそれを持ち出すためにあらゆる機会を楽しむ(私はこの質問を愛する言及したのか?)基本的な考え方は、このよう(非厳密)記載されている:「すべての可能な状況にわたって平均すると、すべてのアルゴリズムのパフォーマンスは同等です。」
直感に反する音?アルゴリズムが機能するすべてのケースで、ひどく失敗する状況を構築できると考えてください。線形回帰は、データが直線に沿っていることを前提としていますが、正弦波に従うとどうなりますか?t検定では、各サンプルが正規分布からのものであると想定しています。外れ値を投入するとどうなりますか?勾配上昇アルゴリズムは局所的最大値に閉じ込められる可能性があり、教師付き分類はだまされて過適合になる可能性があります。
これは何を意味するのでしょうか?それは、仮定があなたの力の源であるということを意味します!Netflixがあなたに映画を推薦するとき、それはあなたが1つの映画が好きなら、あなたは似たようなものが好きになると仮定している(逆も同様)。それが真実ではなかった世界を想像してみてください。あなたの好みは、ジャンル、俳優、監督の間で無秩序に完全にランダムに散らばっています。推奨アルゴリズムはひどく失敗します。「まあ、まだ予想される二乗誤差を最小限に抑えているので、アルゴリズムはまだ機能しています」と言っても意味がありますか?ユーザーの好みについていくつかの仮定をせずに推奨アルゴリズムを作成することはできません-それらのクラスターの性質についていくつかの仮定を作成せずにクラスタリングアルゴリズムを作成することはできません。
したがって、これらの欠点をただ受け入れないでください。それらを知っているので、アルゴリズムの選択を知らせることができます。それらを理解して、アルゴリズムを調整し、データを変換してそれらを解決できるようにします。そして、あなたのモデルが決して間違っていないなら、それは決して正しくないことを意味するので、彼らを愛してください。