機械学習の分類分けの続きです。
資料をご覧ください → 機械学習2
p.1 前回は2つ特徴量と2つのアヤメの種類にしましたが、今回は種類を3つに増やします。先ずは前回と同様なプログラムコードで実行したのが、この図です。3つ種類がありますので、3通りの組み合わせがあります。1対他方式(one-vs-the-rest,ovr)と呼びます。3本の直線が各々の組み合わせでの境界線になっています。
p.2 16行目で特徴量を2つに制限していますが、yには制限を入れておりません。ここが前回と異なります。19行目のSVCのところで「ovr」を入れています。
p.3~4 今回は種類(クラス)が1つ増えているので、図を描画するコードが追加されています。実行したものがp.1の図となります。
p.5 今までは直線で境界線を描くプログラムでしたが、「カーネルトリック」という曲線で境界線を描くプログラムもあります。この処理した図の方が、p.1よりフィット感がありますね。
p.6 プログラムコードの18~25行目をご覧ください。19行目の頭に「#」を追加してコメント文にします。21行目の「#」を削除して、この行を有効にします。動径規定関数(RBF)を利用して分類分けします。gamma='auto'がデフォルトです。大きいと曲率が大きい曲線になります。この行を変えるだけで、p.1の図がp.5図に変わってしまうのです。簡単だと思いませんか?
p.10 動径規定関数はいろいろなタイプがあります。ガウス分布の右側半分の図を描いています。中心cからあるxまでの距離をrとします。動径規定関数f(r)はeの関数で表されます。この関数はガウス分布に対応しています。距離が遠くなるとf(r)は急激に0に近づいていきます。
最適な境界線を描くのに、いろいろな手法が試みられています。AIはその中から最適な方法を選択していくのだと思います。本日はここまで。