# ITエンジニアのための機械学習理論入門(第6章)


k平均法(k-means)による教師なし学習の基礎

  • 学習には教師あり学習と教師なし学習が大きく分けて存在する
    • 教師あり学習
      • 与えられたデータセットがどのように分類されるかが与えられている
      • 分類されるべきラベルが与えられているため,各データが分類される条件を見つければ良い
        • クラス分類
    • 教師なし学習
      • 与えられたデータセットに対して分類されるべきラベルが与えられていない
      • そのため与えられたデータより,各データの類似性を発見しクラスタを作成する必要がある
        • クラスタリング
  • とは言っても根本的なアイディアは教師あり学習とは変わらない
    • k-meansは何らかの指標を最小化する
      • 根本は最小二乗法、パーセプトロンとかも同じです
    • EMアルゴリズムは特定のクラスタが得られる確率を最大化する
      • 最尤推定法と似ている

k-meansのアルゴリズム

  • データセットが与えられたときにN個の代表点を与える
    • この代表点の位置や数は任意に与えないる必要がある
      • データセットから各代表点の距離(類似度)を計算し,各データは最も近い代表点のクラスタに属すると決定
        • この距離はユークリッド距離以外にもマンハッタン距離とかも使えるし、自分で定義したものも当然使える
    • 各クラスタの重心を計算し,その重心を代表点に更新する
    • これまでの処理を繰り返し重心が更新されなくなったら終了

怠惰学習モデルとしてのk近傍法

  • k近傍法
    • データ間の距離に基づいて計算を行う教師あり学習のクラス分類アルゴリズム
  • 新しいデータが入力されたときにそのデータから近いK個のデータを見てもっとも多いクラスに分類される
    • 周囲のデータの多数決で自分のクラスを決定する
  • 問題点
    • 処理時間
      • k近傍法は事前にモデルを構築する必要はない
        • 逆に新しいデータを分類するたびに処理に時間を要する
    • 分析のモデルが明確でない
      • k近傍法はデータからなんらかの仮説を立てて適用するわけではない
        • 例えばパーセプトロンやロジスティック回帰は、データを見てそのデータが線形関数により分類可能だと仮設を立てて適用する
          • 適用した後はそのモデルを基に検証することが可能
      • ビジネス的には良い結果が得られるかもしれない
        • しかしなぜ良い結果となったのかの検証がしにくいため継続的な改善が難しい
        • 上手く行かなかった場合も改善が難しい