AI(人工知能)がさまざまな場所で活躍し、多くの企業や個人の間で流行っている現在において、AI(人工知能)に関係する技術である機械学習を始めようと考えている人もいますよね。そして、機械学習を始めるにあたって勉強しておきたいことはたくさんありますが、なかでもクラスタリングという手法はとくに知っておきたいところ。
クラスタリングはデータ解析の手法のひとつで、機械学習でも活発に使われている技術です。一口にクラスタリングといってもさまざまな種類があり、達成したい目的に対して、適切な手法を選択しなければなりません。
しかし、クラスタリングはどんな手法があるのか、クラスタリングで気をつけなければならないことはあるのか、そもそも機械学習やクラスタリングとは、などもっと基礎知識が欲しいはず。そこで今回は、機械学習におけるクラスタリングの基本について解説します。まずは機械学習について確認しましょう。
まずは機械学習とは何か
機械学習とはAI(人工知能)に関連した技術のひとつで、文字通り機械の学習方法の一種です。機械学習やAI(人工知能)における学習とは、大量のデータをアルゴリズム(計算方法)によって分析や解析をおこない、データ内の規則性や関係性を見つけ出すこと。この学習により、音声の文字起こしを始めとした音声認識や、画像の分類や特定をおこなう画像認識が可能となります。
機械学習には種類があり、主に次の3種類に分類されます。
教師あり学習
出力結果の答えがわかっている状態でおこなう機械学習です。大量のデータから学習したパターンやルールをもとに構築されたモデルを使い、新規データの解析を実現します。
教師なし学習
出力結果の答えがわからない状態でおこなう機械学習です。アルゴリズム自身が与えられた大量のデータを分析し、ルールやパターンを見つけ出します。
強化学習
ある目的に対して、機械が望ましい行動を取ったときに“報酬”を与える機械学習です。最大の“報酬”を得られるように機械が試行錯誤しながら学習をします。
これら3種類のうち、どの手法が優れているのか一口にはいえません。達成したい目的に応じて機械学習の手法を適宜選択しましょう。
続いて、機械学習におけるクラスタリングについて解説します。
機械学習におけるクラスタリング
機械学習におけるクラスタリングを一言でいうと、データの集合を一定の規則や類似度をもとにクラスター(類似したデータが集まったグループ)にグループ分けする手法のことです。クラスタリング手法やクラスター分析、クラスター解析とも呼ばれることがあります。
クラスタリングは、機械学習でいうところの教師なし学習の一種。そのため、データからルールやパターンを、機械自らがアルゴリズムを使うことで見つけ出し、データをグループ分けすることが可能になります。
ところで、機械学習のようにクラスタリングにもいくつか種類があり、それぞれ特徴があります。続いては、クラスタリングの手法について紹介します。
クラスタリング手法の種類
クラスタリングは大きくわけて階層的クラスタリングと非階層的クラスタリングの2種類の手法があります。まずは、それぞれの手法の概要について解説しましょう。
階層的クラスタリング
階層的クラスタリングを簡単に説明すると、データの集合のうち、もっとも似ているものからまとめていく(あるいは似ていないものから離していく)手法です。階層的にまとめたり、離したりする作業をおこなっていくことから「階層」という名がつき、完成したものではデータが樹形図のようになるのが特徴。階層的クラスタリングにはウォード法や群平均法、最長距離法、最短距離法などがあります。
非階層的クラスタリング
一方で非階層的クラスタリングとは、違った性質を持ったデータが混ざり合った集合から、類似した性質のものを集めて、事前に設定したクラスター数に応じてクラスターを作っていく手法です。階層的におこなわれないことから「非階層」の名がついており、必ずしも結果が樹形図のようにはなりません。非階層的クラスタリングの代表的な手法はk-means法で、詳細はのちほど解説します。
ここまで、2つのクラスタリングの手法について簡単に解説しました。次に、階層的クラスタリングについて、より深い解説をしましょう。
階層的クラスタリングとは
階層的クラスタリングの最大の特徴は事前にクラスター数を与える必要がないことです。加えて、完成したクラスターが樹形図で確認できるため結果の解釈しやすく、分析後にクラスター数を十分に検討し、決定することが可能となります。一方で、対象数が多いと計算量が増大して分析時間が膨大になったり、結果の解釈が難しくなったりするというデメリットがあるため、対象数は数十個程度が適切とのこと。
先ほども紹介したように、階層的クラスタリングには以下の種類の手法があります。
ウォード法
2つのクラスターが併合した後の分散と、2つのクラスターの併合前の分散の和との差が最小となるものを併合していく手法。計算量が多くなるが分類感度が高いのが特徴。
群平均法
2つのクラスターに属するすべてのデータ間の距離(類似度)の平均を取って近いものからまとめていく手法。外れ値の影響を受けづらく、クラスターが帯状になる鎖効果が起こりにくいのが特徴。
最長距離法
クラスターに属するすべてのデータを比較し、もっとも長い距離をクラスター同士の距離と設定する手法。外れ値の影響を受けやすく、クラスター同士が離れやすいが、最短距離法より分類感度が高い。
最短距離法
最長距離法とは逆に、もっとも短い距離を距離と設定する手法。外れ値に弱く、鎖効果も起こしやすい。
続いて、非階層的クラスタリングの代表的な手法であるk-means法について解説します。
k-means法とは
k-means法は非階層的クラスタリングのなかで一番有名な手法といっても過言ではありません。計算量が少なくて済むため、多くの分析データを扱えることから、k-means法はビッグデータの解析に使われることが多いです。一方で、あらかじめクラスター数を人間が与える必要があり、十分な検討をしなければ良い結果を得ることができません。
k-means法は次のような手順でおこなわれます。
- クラスター数を事前にk個決める(kは任意の数)
- ランダムに代表(クラスターの中心点)となるデータをk個選択
- ランダムに決めたk個の代表ともっとも距離の近いデータを割り出し、同じクラスターに分類する
- それぞれのクラスターの重心点を求め、代表を決める
- 重心点が変化しなくなったら終了
そのため、k-means法ではクラスター数をしっかり用意しましょう。最後にクラスタリングをおこなう際の注意点について解説します。
クラスタリング手法の注意点
最大の注意点は、汎用的なクラスタリングは存在せず、データの集合のグループ分けの規模や目的に応じて手法を検討しなければならないことです。例えば、階層的クラスタリングはクラスター数を決定する手間がないものの、計算量が多く、小規模なデータを扱うのに向いています。対して非階層的クラスタリングは大規模なデータやビッグデータを扱うのには向いていますが、クラスター数やランダムで選ばれたデータなどの初期設定に結果が依存してしまうという点が問題です。
また、クラスタリングの結果は必ずしも最適解とは限りません。これは、データをどのようにグループ分けするのか、グループ分けされたデータは本当にこのグループでいいのか答えがないからです。クラスタリングはデータのグループ分けの強力な手法ですが、人間の検討や検証ありきといえます。
さて、今回は機械学習におけるクラスタリングの基本について解説しました。クラスタリングとは教師なし学習と呼ばれる機械学習の一種です。クラスタリングでおこなえることはデータのグループ分けで、例えば顧客の属性に応じたマーケティング戦略を立てる材料として活かされます。
クラスタリングは大きくわけて階層的クラスタリングと非階層的クラスタリングの2種類です。
- 階層的クラスタリング:似ているデータをまとめたり、似ていないデータを離していったりする手法。樹形図のような結果が得られるため解釈がしやすい一方で、データ数が多いと計算量が増えたり、結果の解釈が難しくなったりする
- 非階層的クラスタリング:異なる性質を持ったデータが混在する集合から、類似した性質のものを集めて、事前に決めた数のクラスターを作っていく手法。大規模なデータやビッグデータに適している。k-means法が有名
機械学習を始めるうえで、クラスタリングについてこれらの基本を押さえておけば準備万端です。クラスタリングは応用の幅が広いので、さっそく取り組んでいきましょう。