見出し画像

AWS MLS (機械学習) 勉強記⑥ 機械学習の分類とアルゴリズム

今回は ”モデリング” に関してです。
ChatGPTの中でも、GPT3とGPT4があるように、AIの核となるモデルを作る工程ですね!
前回の記事はこちら


ビジネス上の問題と機械学習

ビジネス上の課題がある場合、それがML(機械学習)で解くべき課題なのかを考えることが重要です!

では、機械学習に適さないビジネス上の課題とは何でしょうか・・?

例えば単純なルールや計算で目標値を決定できる場合です。
例)店の在庫が一定値以下になったときにアラートを出したい
この例は、在庫を数字としてデータベースで管理していたら、残りが何個でアラームを出すかの閾値だけ設定していれば解けます。

機械学習に適するビジネス上の課題は何でしょうか・・?

様々な要素を組み合わせて、事象を識別したいときです。
例)店の在庫がいつ在庫切れになるのかを予測して事前に発注したい
この例は上記より難しいタスクになります。予測をしなければならないので、物によっては時期や来店数など、様々な要素から分析をする必要があります。

資格試験とは少し逸れますが、何でもかんでもAIを使うのではなく、ビジネス上の課題を洗い出して、それを解くのにAIや機械学習が適しているかを検討したのちに取り組むことが大事ですね!
(出ないと、AIを使うという手段が目的になってしまうことに・・・😢)

機械学習の分類に関して

機械学習に関しては、次の3つに大きく大別されているとされています。
(現在、生成AIの台頭によりこの枠組も大きく変わるかもしれません)

教師あり学習

教師あり学習はその名の通り、モデルを学習させる際に、正解となる「ラベル付き」のトレーニングデータを教師として与えてモデルを学習させるやり方です。
例えば、犬と猫の画像を分類する場合は、「犬」とラベル付けされた画像と「猫」とラベル付けした画像を与えて、モデルを学習させます。
教師あり学習は解きたいタスクに応じてさらに分類されます

・2値分類(バイナリ分類)
その名の通り、2つの項目に分類します。
例えば、「動物である」or「動物出ない」や「不正である」or「不正でない」など”ある”or”なし”問題で使われることが多いです。

・多値分類(複数クラス分類)
3つ以上の複数のクラス(カテゴリ)を分類します。
例えば、「犬」or「猫」or「猿」などです。難易度はカテゴリが増えるほど上昇します。

・回帰
求めたい数値を当てるタスクです。
例えば、今年度の受験試験のA大学の合格点を求める、などです。
なかなか難しそうだと思われた通り、比較的難しいタスクだと思います。

教師あり学習の分類の例

教師無し学習

教師無し学習は、学習する際にラベルのないデータが与えられます。データの構造やパターンをアルゴリズム自ら見つけ出す必要があります。
よく出る例としてはクラスタリングが挙げられます。例えば顧客データがあった場合に、Aを買う顧客層、Bを買う顧客層などデータの中でグループを特定するときなどに使われます。

教師無し学習(クラスタリング)の例

強化学習

強化学習はコンピュータなどの「エージェント」が環境と相互作用しながら試行錯誤を繰り返すプロセスです。「エージェント」が行動を決めた際に。その行動に基づいて、環境から”報酬”または”ペナルティ”を受け取ります。これを繰り返して学習させます。
例えば、将棋AIなどはいろんな手を試しながら学習を重ねています。

強化学習のイメージ

生成AI

おそらくまだ試験には出ませんが、生成AIにも触れておきます。生成AIは文字通り、AIが何かを生み出すことを指します。ChatGPTに代表されるLLM(大規模言語モデル)を用いたテキスト生成モデルとStable Diffusionに代表される画像生成モデルとがあります。

ChatGPT

このようにひとえに機械学習といっても多くの分類があるため、ビジネスニーズに合わせて、機械学習を使うのかどうか?どの手法を使うのか?を選ぶことが重要です!

アルゴリズムの紹介(数値データに対するアルゴリズム)

ここまで機械学習の手法をお伝えしましたが、各手法に関して様々なアルゴリズムがあります。
代表的なアルゴリズムに関して記載します。

Linear Learner(線形回帰)

分類や回帰を行うための教師あり学習のアルゴリズムです。データを線形関数でモデル化して、出力を予測します。

線形回帰の例

決定木分析(ディシジョンツリー)

データを分類または回帰するために、木構造を使用するアルゴリズムです。各ノードはデータの属性や条件、枝は決定する際のルール(YES or Noなど)、一番下層の葉ノードは出力(クラスラベルまたは値)を表します。
下の例はアイリスデータセット呼ばれるもので決定着分析をしたものです。
条件によって、セトサ、バーシクル、バージニカに分類されています

決定木分析の例

ランダムフォレスト

ランダムフォレストは、多数の決定木を組み合わせて動作するアンサンブル学習アルゴリズムです。(複数のモデルを組み合わせて学習させることをアンサンブル学習といいます)組み合わせ方は、多数決であったり平均であったりケースバイケース。各決定木の予測を平均化することで、全体のモデルの精度を向上させることが出来ます。

ランダムフォレストの例

XGBoost

XGBoost(eXtreme Gradient Boosting)は、勾配ブースティングフレームワークを使用する決定木ベースのアルゴリズムです。高いパフォーマンスと柔軟性があるため、データサイエンスコンペで使用されることが多いです。
*勾配ブーススティング
このフレームワークは、複数の弱い学習モデル(決定木など)を逐次的に訓点させて組み合わせ、一つの強力なモデルを構築することです。

XGBoost、勾配ブースティングに関しては下記のQiita記事に詳細を譲ります。

長くなったので今回はここまでにします。
次回は画像データに対するアルゴリズムをまとめたいと思います!
次回の記事はこちら!

参考になればいいねを押していただけると嬉しいです!
Xもやってます!
最近は映像生成AIを触ってみてます。

それでは!

この記事が気に入ったらサポートをしてみませんか?