IoT, AI,機械学習 トピックス

直線→曲線にして分類

投稿日:

機械学習の分類分けの続きです。

資料をご覧ください → 機械学習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はその中から最適な方法を選択していくのだと思います。本日はここまで。

 

-IoT, AI,機械学習, トピックス

Copyright© 進化するガラクタ , 2021 All Rights Reserved Powered by STINGER.