機械学習 (ML) は今注目のトピックです。
そして、教師あり ML が大きな注目を集めています。 彼らは、派手なニューラル ネットワーク、ナイーブ ベイズ分類器、その他多くの優れたメソッドを備えています (そのうちのいくつかは、次の記事で説明されています)。 JMPブログはこちら)。
ただし、教師あり ML にはラベル、つまり真実のデータが必要です。 猫が何であるかが正しいか間違っているかを判断できなければ、コンピューターに猫が何であるかを学習させることはできません。 残念ながら、特定のデータセットではラベルを入手するのが困難です。 人々はラベル付きデータを安価に入手する独創的な方法を考え出してきました。たとえば、一時停止標識のある写真をクリックするように要求する CAPTCHA や、Google の有名な Quick Draw アプリケーションなどです。ただし、大規模なデータセットにラベルを付けるにはコストがかかる場合があります。
多くの場合、ラベルや真実はありませんが、データはあります。 このような場合、次を使用する必要があります。国連教師あり機械学習。 教師なし ML は、何が正しいか間違っているかを判断できないため、そのように名付けられました。 家のルールを知らない新人ベビーシッターと同じように、教師なし ML アルゴリズムには正しい答えがありません。 明確な正解や不正解がないため、アルゴリズムに問題がある場合に「修正」することはできません。
教師なし ML の唯一のタイプではありませんが、クラスタリングは非常に人気のあるタイプです。 データ用に事前に確立されたグループがない場合、多くの場合、私たちの自然な本能は、それらのグループを自分で作成することになります。 一般に、クラスタリングは、互いに近いデータ ポイントを同じグループにグループ化し、互いに遠く離れたデータ ポイントを異なるグループにグループ化することを目的としています。 これはと呼ばれます凝集(同様の点は一緒です)分離(相違点はありません)。 比較するためのラベルがないため、クラスター/グループの「成功」を、クラスター/グループの凝集性と分離度に基づいて判断することがよくあります。
K 平均法
という大きなデパートの小さなデータセットを見てみましょう。 RA フィッシャーズ。 Fisher's は、新しい 3 段階の報酬プログラムの導入を検討していますが、スタッフは 3 段階のそれぞれに対してどのような種類の特典を提供するかを知る必要があります。
彼らは、30 人の顧客の平均購入数と各購入の平均アイテム数に関するパイロット データを収集しました。 データを以下にグラフ化します。
私たちは、顧客を 3 つのグループに分けて、各顧客に合った層を設けたいと考えています。 そこで、K 平均法を使用して、年間の平均旅行回数と、旅行ごとに平均購入する商品の数に基づいて顧客を 3 つのグループに分けることにします。
K 平均法の最初のステップは、k を選択することです。 3つを選択しました。 次に、データから k 個のランダムな点を選択します。 これらのデータ ポイントを 3 つのクラスターの中心として扱います。
次に、各データ ポイントを、そのデータ ポイントに最も近いポイントのクラスターに属するように割り当てます。 たとえば、上部のこの点は青い点に最も近いため、青いクラスター内にあります。
このようにして、各ポイントをクラスターに割り当てます。
クラスターが 3 つになったので、各クラスターの新しい中心を再計算できます。
次に、各ポイントを新しい最も近いクラスターに再割り当てします。
次に、クラスターのメンバーシップ (またはセンター) が変更されなくなるまで、これらの手順を繰り返します。
- 中心を計算する
- ポイントの再割り当て
この状態に達すると、モデルは次のようになります。収束したそして、これらのクラスターのメンバーシップを最終的なクラスターの割り当てとして使用します。
これで、クラスターを使用して、Fisher's の 3 つの顧客層を作成できるようになりました。 旅行が少なく、アイテムをあまり購入していない、赤色の明確なグループが 1 つあるようです。 より頻繁に店頭で購入できるように、火曜日に 15% オフを提供します。
緑のグループは旅行の量は控えめですが、旅行の際には大量のアイテムを購入します。 こうした顧客に応えるために、シルバー層には毎週 1 つのアイテムが 60% オフになるクーポンが含まれており、これらの顧客をより頻繁に呼び込むことができます。
そして最後に、ゴールド層は、定期的に店に来るものの、少数のアイテムしか買わない青色のグループに対応します。 この層には、これらの顧客にさらにアイテムを購入するよう促すために、1 つ買うと 1 つが 50% オフになる年に 2 回のイベントが含まれます。
K 平均法は、データをグループに分割する優れた方法です。 また、この例には 2 つの次元 (旅行とアイテム) しかありませんでしたが、K 平均法は高次元のデータに対しても適切に機能します。 結果をブログ投稿にプロットするのはさらに困難です…。
先ほど、教師なし学習には結果を比較するための「正解」がないと述べました。 精度や感度を計算することはできません。 しかし、凝集と分離の尺度を計算することはできます。 最も一般的なものは、シルエットスコア。 シルエット スコアの範囲は -1 ~ 1 で、スコアが高いほど優れています。 a(i)はデータ点間の平均距離、そしてそのクラスター内の他のすべてのデータポイント。 これは凝集度、つまりクラスター内のデータ ポイントが互いにどの程度接近しているかを測定します。 しっかりと編まれたクラスターは小さくなります。 a(i)s 。
b(i)間の最小平均距離です。私そして、それぞれのポイントは異なるクラスター内にあります。 これは、クラスターが互いにどの程度離れているか、つまり分離を測定します。 明確に定義されたクラスターでは、高い値が得られます。 b(i) 。
全体として、他のクラスターのポイントからは遠いものの、独自のクラスター内のポイントに近いポイントのシルエット スコアは、高く、正のシルエット スコアになります。 独自のポイントよりも他のクラスター内のポイントに近いポイントのシルエット スコアは小さく、さらには負になります。
各データ ポイントのシルエット スコアの平均を取ることで、クラスターがデータにどの程度「よく」適合しているかを把握できます。 顧客クラスターのシルエット スコア (たとえば、10 倍の速度など) は 0.614 で、これは、クラスターが比較的凝集しており、分離していることを意味します。
高い平均シルエットスコアが得られたとき、私たちは何らかの問題を発見したと信じています。潜在構造データの中で。 クラスターがそれ自体に似ていて、他のクラスターとは異なる場合、これらのグループは自然に発生しており、データに強制的に作成されたものではないようです。
期待値の最大化 (ガウスの混合を使用)
K 平均法は、データをクラスタリングするための比較的簡単で汚いアルゴリズムです。 すぐに習得でき、多くの場合、すぐに実装できます。 しかし、これには潜在的な欠点が 2 つあります。まず、球形性を前提としています。これは、クラスターが多次元の球体のような形状であることを意味します。 実際には、これは、すべての特徴の分散が等しいと仮定していることを大まかに意味しますが、多くの場合、これは真実ではありません。 猫が 1 日に鳴く平均回数と体長 (センチメートル) に基づいて、猫の集団を考えてみましょう。 これら 2 つの値が等しい分散を持つ可能性はほとんどありません。
2 番目の問題は、K 平均法が次のことを行うことです。難しいクラスターの割り当て。 各ポイントは正確に 1 つのクラスターに属します。 場合によっては、特にクラスターのエッジ付近では、ポイントが 2 つのクラスターのいずれかの一部である可能性があるという事実を考慮したい場合があります。 ここのこの点のように。 青かもしれないまたは緑。
したがって、さまざまな特徴に等しい分散がないことを考えるとき、または知っているとき、または、柔らかいクラスターの割り当てでは、K-means の一般的な一般化、Expectation Maximization (略して EM) に注目することができます。
期待値の最大化は、ガウス分布、別名多次元正規分布の混合を使用して実装されることがよくあります。 それは少しくどいので、このテクニックを JMP で呼ぶものである通常の混合物と呼ぶことにします。 私たちが観察するすべてのデータは次のものから来ていると仮定しますk多次元正規分布があり、それらの分布が何であるかを理解したいと考えています。
k 平均法と同様に、正規混合ではランダムな開始点が使用されますが、中心を選択するだけではなく、k 個の分布ごとにランダムな平均と共分散が選択されます。 最初は少し奇抜に見えるかもしれませんが、慣れておいてください。
これは期待、つまり E ステップです。 次に、各点が各分布に属する確率を計算します。 各データ ポイントを 1 つのクラスターに厳密に割り当てるのではなく、データ ポイントが 1 つのクラスターに属すると言います。毎一定の確率でクラスターが発生します。
次はMステップです。 K 平均法で新しい中心を計算したのと同じように、分布パラメーターを再計算します。 すべてのデータ ポイントは一定の確率ですべてのクラスターに属しているため、すべてのポイントを使用して新しい分布パラメーターを計算し、そのグループに含まれるそれぞれの確率によって重み付けします。 クラスター A に属する可能性が 0.01% しかない点は、クラスター A の平均と共分散の計算にあまり影響を与えません。 少なくとも、クラスター A に属する確率が 75% であるポイントとは比較できません。
数学に興味がある場合は、新しい平均と共分散の公式を以下に示します。



これらの式は、平均と共分散の計算に通常使用する式とほぼ同じですが、次の 1 つが追加されています。これは、データ ポイントが k 番目の分布に属する可能性の高さによって、計算に対するデータ ポイントの寄与を重み付けします。
k 個の分布のそれぞれに新しいパラメーターを取得したら、E ステップを再度実行し、各点が各分布に属する確率を再計算します。
その後、もちろん M ステップが来て、さらに E ステップが続きます...分布が「収束」するまで繰り返します。これは、E および M ステップを繰り返すたびに何も変化しないか、少なくとも状況があまり変化しないことを意味します。 通常、対数尤度を調べて、それが比較的安定していることを確認します。
これで、各データ ポイントが各クラスターに属する確率がわかります。 厳密なクラスター割り当てが必要な場合は、各データ ポイントが最も高い確率でクラスターに属するように選択するだけです。 しかし、EM の良い点は、クラスターのメンバーシップのあいまいさを受け入れることができることです。 データ ポイントを調べて、それがクラスター B に属している可能性が最も高い一方で、クラスター D に属している可能性も非常に高いという事実を考慮できます。これには、クラスター間に明確な境界が存在しない可能性があるという事実も考慮されています。 これらのグループは重なり合う多次元分布で構成されているため、明確なカットラインを描くことが常に最良の解決策であるとは限りません。
JMP でのクラスタリング
JMPクラスタリングが信じられないほど簡単になりました。 必要なのは、[分析] メニュー > [クラスタリング] に移動することだけです。 K 平均法とガウスの混合物を使用した EM (メニューでは標準混合物と呼ばれます) の両方が提供されます。


どちらかを選択するだけですK 平均法または通常の混合物をクリックし、クラスター化する列を選択し、検索するクラスターの数を選択します。 クリック行くそうすると出力が得られます。 クラスターの割り当てを保存したい場合は、クラスター分析の横にある赤い三角形をクリックして、クラスターの保存!
クラスターのプロットを表示するには、赤い三角形をクリックし、バイプロットを選択。
一度に複数の k を試したい場合は、単純に範囲K 平均法または正規混合プラットフォームのボックス。 出力には、各 k! の情報が表示されます。 JMP はあなたに最適な k を選択します。クラスターの比較メニュー。
K 平均法の場合、JMP (SAS と同様) は 3 次クラスター基準 (CCC の略) を使用して、データに最も適合する k を選択します。 CCC 値が高いほど優れており、シルエット スコアの場合と同様に、クラスターがデータによく適合していることを示します。 JMP は、CCC 値が最も高い k を最適なクラスターとして選択します。 CCC の詳細については、次を参照してください。ここ。

通常の混合物の場合、JMP は AICc (修正赤池情報量基準) と BIC (ベイズ情報量基準) を使用して最適な k を選択します。 AIC と BIC (シルエット スコアや CCC と同様) は両方とも、モデル (ここではクラスター) がデータにどの程度適合しているかを測定します。 AIC と BIC の値が小さい場合はモデルの適合が良好であることを示すため、JMP は次の値を与える k を選択します。最低AIC/BIC 値 (データセットが小さいため、一部の AICc 値が欠落していることに注意してください)。
結論
これで使い方がわかりましたJMP K 平均法とガウス混合モデル (または JMP の正規混合モデル) を使用してデータをクラスター化します。 したがって、ラベルや真実のデータを持たない非常に優れたデータセットを取得した場合でも、教師なし ML を使用して非常に優れた洞察を作成できます。