TECHNOLOGY
【完全版】機械学習の手法11選!覚えておきたい選択手法を一挙ご紹介します
目次
機械学習とは、AIの1つの要素技術であり、コンピュータに大量のデータを入力し、データに潜むパターンやルールを発見させる技術です。しかし、一口に機械学習と言ってもその手法はさまざま。解決すべき課題に対して、方法論は変わってきます。そこで、今回は「機械学習」をテーマに、機械学習の手法について解説します。
▼更に機械学習について詳しく知るには?
【完全版】機械学習とは?解決できる課題から実例まで徹底解説
▼社内のデータをAI化するには?
ノーコードAIツールUMWELT紹介ページ(活用事例あり)
機械学習の分類
教師あり学習
教師あり学習とは、正解のデータが用意されており、正しい出力ができるように入力データの特徴やルールを学習していく手法です。教師あり学習はさらに、既存のデータをもとに、タスクごとに設定されたいくつかのクラスに識別する「分類」と、連続する値を予測する「回帰」に分けられます。
教師なし学習
教師なし学習は、正解データなしで入力したデータの特徴やルールを学習して分析する手法です。データを与えることにより、データの構造、パターンなどを抽出しながらモデルを構築していきます。代表的な教師なし学習には、似た特徴を有するものを同じクラスに分類する「クラスタリング」があります。
強化学習
強化学習は、「環境」と「エージェント」という2つの要素からなるシステムにおいて、「エージェント」が「環境」の中で最もよく振る舞うように学習する手法です。「環境」は、「エージェント」の行動によって与える報酬を変化させます。「エージェント」は「環境」の中で最も多く報酬が得られるような振る舞いを、試行錯誤しながら学習します。
深層強化学習
深層強化学習は、深層学習と強化学習を組み合わせた手法です。強化学習の手法の一つであるQ学習と深層学習を組み合わせたものを、DQN(Deep Q-Network)と呼びます。Q学習では、エージェントが次に行う行動における報酬の期待値をQ関数と呼ばれるもので表現しますが、DQNではこのQ関数をニューラルネットワークで予測します。
半教師あり学習
半教師あり学習は、少数のラベルのついたデータと大量のラベルのないデータが用意された際における学習手法です。この2種類のデータによって、少数のラベルのついたデータのみの教師あり学習よりも高い性能を得るために考案されました。一般に、ラベルのついたデータを大量に用意するのは大きな時間的・金銭的コストがかかるため、少ないラベルなしデータで効率良く学習する方法として注目を浴びています。
初心者・中級者向けの機械学習の手法11選
ここでは、一般的に利用されている機械学習のアルゴリズムを紹介します。AIの導入を検討されている方や機械学習のエンジニアを目指す人は、まずは以下で紹介されるアルゴリズムから把握しましょう。
サポートベクターマシン
サポートベクターマシン(SVM)とは、2つのクラスを特徴量空間上で分離する線形関数(超平面)を求めるアルゴリズムです。少ないデータ量でも正しく分離しやすいというメリットがあります。
ロジスティック回帰
ロジスティック回帰は分類問題を解くモデルです。入力が与えられた時、その入力がどのクラスに分類されるかだけでなく、どれくらいの確率で分類されるかを出力します。例えば2クラス分類では、このモデルはある事象が発生する確率を予測し、50%より確率が大きければ、「ある事象が発生する」というクラスに分類し、そうでなければ「ある事象が発生しない」というクラスに分類します。
ランダムフォレスト
ランダムフォレストは、複数の異なる分類木でそれぞれクラスを予測させ、多数決でどのクラスへ分類するかを決定していくアルゴリズムです。人間があらかじめ決定しなければならないパラメータが少ないため、扱いが容易であるというメリットがあります。
Feed Forward Neural Network
ニューラルネットワークとは、人間の脳神経系のニューロンから着想を得た数理モデルであるニューロンを組み合わせて層状のネットワークにしたモデルです。このニューラルネットワークを巨大化・複雑化することで、様々なタスクにおいて高い性能が発揮されることがわかってきました。
FFNN(Feed Forward Neural Network:順伝播型ニューラルネットワーク)では、層は基本的に入力層、隠れ層、出力層に分けられます。データを入力層に入力し、順に値を隠れ層に伝播させ、最後に出力層に値を伝播させることで値を導出します。
ナイーブベイズ
ナイーブベイズは、分類問題を解くためのモデルで、確率論の定理であるベイズの定理を基にしています。
計算量が少なく処理が高速であるため、大規模データにも対応できる上、非常にシンプルで現実世界の複雑な問題に対してもうまく機能します。一方で、入力する特徴量が独立であると仮定しなければならないという制約があります。
主成分分析
主成分分析は、高次元の特徴量を圧縮し、二次元や三次元空間にマッピング(射影)する手法です。特徴量空間上で、遠くに存在するデータ同士は圧縮しても遠くに配置されるという特徴があり、圧縮する際にどれだけの情報が保たれたかを簡単に算出することができます。二次元や三次元空間でマッピングすれば、グラフとしてデータの分布を図示することができるので、データの可視化によく用いられます。
k近傍法
k近傍法はパターン認識でよく使われ、特徴空間における最も近い訓練例に基づいた分類の手法です。機械学習アルゴリズムの中でも、最も単純とされている、既に答えがわかっている問題を教師あり学習していく手法で、遅延学習として分類されています。
k-means
k-meansはクラスタリングという、データを性質の近い分類同士でグループ分けする手法の一つです。クラスター数を決定すると、全てのデータが決められた個数のクラスターのいずれかに属します。
Recurrent Neural Network
RNN(Recurrent Neural Network:再帰型ニューラルネットワーク)とは、ニューラルネットワークのモデルの一つです。
ネットワーク内部に再帰構造を持つという特徴があり、時系列データの解析や自然言語処理といったタスクにおいて効果を発揮します。上であげたFFNNは、特徴量は固定長でなければいけません。しかしテキストや時系列データは可変長であるため、FFNNではそのまま入力できないという課題がありました。RNNでは、可変長の入力を扱うことができるため、可変長の特徴量を固定長の特徴量に変換するためによく利用されます。
Generative Adversarial Networks
GAN(Generative Adversarial Networks:敵対的生成ネットワーク)は、入力されたノイズデータから新しいデータを作り出して出力する、生成モデルと呼ばれるモデルの一つです。
GANは、データを生成する「生成器」と、与えられたデータが教師データか生成データか判別する「識別器」から構成されます。生成器は、識別器を欺くように学習し、識別器は生成データを正しく判別するように敵対的に学習します。学習が進むと教師データと見紛うような出力データを生成することができるようになります。架空の人物の顔写真生成などが有名です。
Convolutional Neural Network
CNN(Convolutional neural network:畳み込みニューラルネットワーク)は、畳み込み層とプーリング層をもつニューラルネットワークです。
古典的なフィルタリング処理に着想を得ており、画像から特徴量を抽出するために効果的なモデルです。畳み込むためのフィルタをカーネルと呼びます。
機械学習の手法を選択する方法
上記の初心者・中級者向けの機械学習のアルゴリズムを見て、「どれをいつ使えばいいのだろう…」と悩まれた方もいるはずです。そこで、機械学習の手法選択の方法をご紹介します。
1.チートシートを活用する
チートシートとは、解決したい課題ごとにどの手法を使えばいいか一目で分かる表のことを指します。この表は初心者にとって機械学習の手法の概観を捉えるものとして役に立ちます。また中級者の方にとっても手法選択の手助けになることでしょう。
1.SAS Institute Japan
SAS Instituteは米国に拠点を置く、AIのプラットフォームを開発・販売するソフトウェア企業です。同社のブログにて、機械学習アルゴリズム選択チートシートを日本語に翻訳・編集し、公開しています。このチートシートは初心者レベルのデータサイエンティストが対象。Yes / Noか、高速性/正確性の2択が用意され、最終的にたどり着いたものが推奨されるアルゴリズムになるデザインとなっています。
2.scikit-learn
scikit-learnは、機械学習の初心者の方にも馴染みのある機械学習のオープンソースライブラリ。scikit-learnのチートシートは、個人・商用を問わず、誰でも無料で使用することが出来ます。サポートベクターマシン、ランダムフォレストなど、様々な分類回帰クラスタ分析のアルゴリズムを幅広く実装しているのが特徴です。
3.Azure Machine Learning
Azure Machine Learningは、クラウド上で利用できるMicrosoftによる機械学習のサービス。Microsoftアカウントがなくてもリンク先のページよりダウンロード可能です。公式ページで公開されているチートシートは英語版のみとなります。英語が苦手な人は、非公式で有志のユーザーによる日本語版チートシートが配布されているので、非公式日本語版の検討も考えるといいかもしれません。
2.データの種類やタスクを確認する
手法選択のコツは、与えられたデータがどのような種類であるのか、どのようなタスクを行いたいのかを見極めることです。データの種類やタスク内容から、モデルを絞り込みます。そして、絞り込んだ中からある程度の目安に従ってモデルを選び、実際に動かして比較してみるということが一番の方法と言えます。
機械学習を導入したいのであればTRYETINGの「UMWELT」がおすすめ
今回取り上げた機械学習の手法は数ある中の一つです。チートシートがあるとはいえ、様々な手法を扱えるようになるには、多くの勉強時間を割かなければいけません。
TRYETINGのUMWELTはコードを書くことなくドラッグ&ドロップの操作のみでAI構築ができます。そのため、AIシステムを社内に導入するために新たにデータサイエンティストを雇う必要はありません。UMWELTは学習コスト、人的コストが最小限に抑えられ、さらに業界最低⽔準の⽉額利⽤料で導入できることも魅力です。手軽に社内システムをAI化するなら、TRYETINGのUMWELTをご検討ください。
まとめ
今回は機械学習の手法について解説しました。機械学習のアルゴリズムは多種多様です。だからこそ、与えられたデータがどのような種類であるのか、どのようなタスクを行いたいのかの見極めが必要となりますが、それを身に付けるには多くの学習時間が必要です。TRYETINGのUMWELTを使えば、簡単な操作であらゆるAI構築ができます。UMWELTで最小限の学習コストでAI導入を実現してみてはいかがでしょうか。
UMWELTのサービスページをチェックする
TRYETING
公式
TRYETING公式です。
お知らせやIR情報などを発信します。