タグ

ブックマーク / qiita.com/ytakashina (1)

  • LINQ を使って 8 行で k-means 法を実装してみた - Qiita

    比較的分かりやすいし、それなりに速いし、実装も楽。みんな大好き k-means 法。 今回はそんな k-means 法を、 C# の LINQ(+MoreLINQ) で書いてみました。 k-means 法について 簡単に言うと、各データ点の、自分が所属するクラスタ中心との二乗誤差の総和を、貪欲に最小化する手法です。 クラスタ数 $k$ 、あるクラスタ $i$ に所属するデータ点の集合 $S_i$ として、式で書くとこんな感じ。 もう少し詳しく知りたい人には、神嶌先生の資料が分かりやすいです。 イメージをつかむなら、「K-means 法を D3.js でビジュアライズしてみた」が k-means 法を step-by-step で実行できて理解の助けになるかと思います。 k-means 法のアルゴリズム 計算の流れは、以下の通り。 データ点からランダムに k 個の点をクラスタ中心の初期値とし

    LINQ を使って 8 行で k-means 法を実装してみた - Qiita
  • 1