Edited at

機械学習の理論Python編 #2 Unit 1: とりあえず試してみる(K近傍法) [MOOC/edX]

edXの「Principles of Machine Learning: Python Edition(機械学習の理論 Python編)」をまとめています。

前回の記事←→次回の記事


K近傍法(K-nearest neighbors)

File.jpg

?(分類したいデータ)に近い既存データ(▲や●)の数からグループを分類する。

例)

- K=1のときの近傍点は▲1個 → ?は▲グループ

- K=2のときの近傍点は▲1個●2個 → ?は●グループ(●の方が多いので)


  • ラベルデータは必要だが、ラベル自体を使った特別なトレーニング(分類器の算出)は必要じゃない、珍しいアルゴリズム(よく分かんない、あとで他のアルゴリズム出てきたら比較する)。

  • 既存のデータ点に距離的に(ユークリッド距離、重み付け距離など)近い点を数えて、一番多い点のラベルのグループに分類される。

  • 問題:分類には効果的だが、データの次元(特徴)数が多くなると必要なサンプル数が多くなる1


実践:irisの花びらの幅とかから種類名を推定する

前回環境構築した、Jupyter NotebookのIntroductionToMachineLearning.ipynbを起動します。講座から提供されているプログラムファイルをクローンして、コメントを加えたりなどしたソースコードはこちら。データ読み込み、<トレーニングデータとテストデータの分割→トレーニング→テスト(評価)→プロット>の流れを確認できます。詳しくは後のUnitでやるんだと思います。

Picture1.png


今後の予定

随時記事のリンク追加予定


  • Unit 1: 機械学習へのイントロダクション



  • Unit 2: データ探索

  • Unit 3: データの整理と準備

  • Unit 4: 教師あり学習への導入

  • Unit 5: モデルパフォーマンスの向上

  • Unit 6: 機械学習のアルゴリズム

  • Unit 7: 教師なし学習

  • Unit 8: 最終テスト


その他(いつか)まとめる予定の他の講座の記事一覧





  1. 必要なサンプル数 = 10^(次元数)。1次元だったら10個のサンプルが、3次元だったら1000個のサンプルが必要。