- 「k-means(kー平均法)」について学びたいけど理解できるか不安・・・
- 「k-means(kー平均法)」についてどこから学んでいいか分からない?
- 「k-means(kー平均法)」を体系的に教えて!
「k-means(k-平均法)」は、教師なし機械学習の1つの手法であり、クラスタリング(=グループに分類する)を行ういます。与えられたデータをk個のクラスに分類することができますが、興味があっても理解できないケースは非常に多いです。
私は過去に基本情報技術者試験(旧:第二種情報処理技術者試験)に合格し、また2年程前に「一般社団法人 日本ディープラーニング協会」が主催の「G検定試験」に合格しました。現在、「E資格」にチャレンジ中ですが3回不合格になり、この経験から学習の要点について学ぶ機会がありました。
そこでこの記事では、「k-means」を学習する際のポイントについて解説します。
この記事を参考にして「k-means」が理解できれば、E資格に合格できるはずです。
目次
1.アウトライン
- k-means(k-平均法)
- 教師なし学習
- クラスタリング手法
与えられたデータをk個のクラスに分類する
補足)クラスタリング・・・特徴の似ているもの同士をグループ化
2.数学的定式化
2.1 データ形式の説明
編集中
2.2 k-means(k-平均法)の説明
編集中
2.3 アルゴリズム
- 各クラスタ中心の初期値を設定する ← 最初のクラスタ中心をランダムに選ぶ
- 各データ点に対して、各クラスタ中心との距離を計算し、最も距離が近いクラスタを割り当てる
- 各クラスタの平均ベクトル(中心)を計算する
※各データとクラスタの重心の距離で一番近いクラスタの重心にデータを分類
◦中心の初期値を変えるとクラスタリング結果も変わりうる
◦kの値を変えるとクラスタリング結果も変わる - 収束するまで2,3の処理を繰り返す
3.実装演習
a.syntheticデータ分析
編集中
4.k-means++
「k-means」の問題点
- 最初にランダムにクラスタを割り振るため、その初期値が近いと最適とはかけ離れたクラスタリングがなされてしまう可能性がある。
- 初期値によって結果が収束するまでの時間も多く要する。
「k-means++」の概要
- k-meansの初期値依存問題の克服を目指したアルゴリズム。
- k-means++は初期のクラスタの中心同士は離れていた方がよいという考え方に基づいて設計
- 初期のクラスタの割り振りはデータポイント間の距離に応じて確率的に割り振る。
「k-means++」のアルゴリズム
- 各点xiの中からランダムに1点を選び、クラスタの中心とする。
↑ 初期のクラスタ中心点をデータ点間の距離に基づいて確率的に決定することで、初期値依存問題の解決を試みる。 - 各点xiに関して、既存のクラスタ中心の中から最も近いクラスタ中心との距離D(x)を計算する。
- 各点xiに関して重み付き確率分布D(x)2/∑D(x)2を用いて、新しいクラスタ中心をランダムに選ぶ。
- 2.と3.の工程をk個のクラスタ中心が選定できるまで行う。
5.まとめ
最後まで読んで頂きありがとうございます。
皆様のキャリアアップを応援しています!!
コメント