MENU CLOSE

CONTACT TRY TRYETING

COLUMN コラム

機械学習

【完全版】機械学習の手法15選!選択方法を詳しく解説

機械学習とは、AIの分野の一つで「AIが自律的に学習する技術」を指します。機械学習の登場は、現在も進行中である第3次AIブームの中核を支えていると言っても過言ではありません。しかし、ひとえに機械学習と言ってもその学習手法はさまざま。問題解決すべき課題に対して、手法は変わってきます。そこで、今回は機械学習の手法とその選択方法について解説します。

▼更に機械学習について詳しく知るには?
【完全版】機械学習とは?解決できる課題から実例まで徹底解説

article-banner-umwelt

機械学習の手法は大きくわけると3つ


機械学習の手法は大きく、「教師あり学習」「教師なし学習」「強化学習」の3つに分かれます。ここで、機械学習の3分類を見分けられるよう学んでいきましょう。

1.教師あり学習

教師あり学習は、学習データに正解のデータを与えて機械に学習させる手法です。正解・不正解が明確な問題の回答に向いています。教師あり学習を利用すれば、システムの不正行為の検出や、おすすめ製品のパーソナライズなどを実現できます。

2.教師なし学習

教師なし学習は、学習データに正解を与えない状態で学習させる手法。正解データがない代わりに、データそのものが持つ構造・特徴を分析し、グループ分けやデータの簡略化を実現します。

3.強化学習

強化学習は、一連の行動をとった結果ごとに報酬を設定し、その報酬が最大化するように機械が試行錯誤を繰り返します。試行錯誤を重ねることによって最適なタスクを実行できるようになる手法です。この学習方法は最短経路の探索やゲームの攻略に力を発揮します。車の自動制御や、プロの実力を凌ぐ囲碁や将棋のAIにはこの強化学習が使われています。

深層強化学習

深層強化学習は、強化学習とディープラーニングを組み合わせた機械学習の手法です。ディープラーニングを利用すると、強化学習の一手法であるQ行動が次の行動の方針を決定する際に最善の行動を取れるようになるため、学習時のコストや時間を多く削減できます。

半教師あり学習

半教師あり学習は、入力データが多く、一部のみ人間などの手でラベル付けされているもののことを指します。実際の機械学習の多くは半教師あり学習です。少数のデータにのみラベル付けされ、大部分はラベル付けされていません。理由としては、データのラベル付けには専門家の力が必要となり、費用・時間共に膨大となるからです。

初心者向けの機械学習の手法9選


ここでは、一般的に利用されている機械学習のアルゴリズムを紹介します。AIの導入を検討されている方や機械学習のエンジニアを目指す人は、まずは以下で紹介されるアルゴリズムから把握しましょう。

1.サポートベクターマシン

教師なし学習の手法で、分析と回帰の両方を扱えますが、主に分類のタスクを解くモデルです。サポートベクターマシンの特徴は、マージン最大化。これは、境界に近いデータの距離が最大になるように境界線を引く方法です。特徴は、未知のデータに対しても高い精度で予測ができることになります。

2.線形回帰

線形回帰とは、データの分布があるときに、そのデータに一番当てはまる直線を求める分析手法の一種。回帰問題を解く上で最もシンプルなモデルの一つです。売上予測や保険会社のリスク評価などのビジネス利用をはじめ、スポーツ分析や環境科学など多分野において活用されています。

3.ロジスティック回帰

ロジスティック回帰は分類問題を解くモデルです。複数の変数から、ある事象が発生する確率を予測します。事象の発生率を予測するのが得意なことから、ロジスティック回帰は未知の病気を発見したり、気象観測データからの土砂災害発生予測などに活用できます。

4.ランダムフォレスト

ランダムフォレストは分類や回帰に使えるアルゴリズムです。仕組みとしては、決定木をたくさん作り、平均あるいは多数決をとって回答を導きます。決定木とは、条件分岐によってグループを分割して分類する手法です。ランダムフォレストは、複数の決定木を用いられているので、決定木の短所である「過学習」を克服しています。

5.Neural Network

ニューラルネットワークとは、人間の脳神経系のニューロンを数理モデル化したものの組み合わせのこと。このニューラルネットワークを多層に重ねることで、高度な画像認識などが可能です。層は基本的に、入力層、隠れ層、出力層に分けられます。データ入力を入力層から開始し、そこから値を隠れ層に渡してから、隠れ層は出力層に値を送ることで最終結果の算出が可能です。

6.ナイーブベイズ

ナイーブベイズは、分類問題を解くためのモデルで、確率論の定理であるベイズの定理を基にしています。計算量が少なく処理が高速であるため、大規模データにも対応できます。ナイーブベイズの活用例は、テキスト分類や、メールのスパム・非スパム判定などです。

6.主成分分析

主成分分析は、多すぎる変数を、より少ない指標や合成変数に要約する手法。このとき要約した合成変数のことを主成分と呼びます。多変量で多次元なビッグデータでも情報を損ないにくく、全体のイメージを可視化できることが特徴です。

7.マルコフ連鎖

マルコフ連鎖は、現在の状態から、未来の状態を確率的に決定させる手法です。マルコフ連鎖が最も広く用いられているのは、多重積分の数値的な計算です。一様分布や正規分布とは異なる確率分布で、乱数を生成できるというメリットもあります。

8.k近傍法

k近傍法はパターン認識でよく使われ、特徴空間における最も近い訓練例に基づいた分類の手法です、機械学習アルゴリズムの中でも、最も単純とされている、既に答えがわかっている問題を教師あり学習していく手法で、遅延学習として分類されています。

9.k平均法

k平均法はクラスタリングという、データを性質の近い分類同士でグループ分けする手法です。教師なし学習に分類され、クラスタリングの最も簡単な手法の一つとされています。k平均法を用いて行われるクラスタ分析は、ビッグデータを分析するときに頻繁に用いられる最も重要な手法です。

中級者向けの機械学習の手法6選


上記のアルゴリズムが理解できていたら、もう一段ステップアップしましょう。次に中級者向けの機械学習の手法を紹介します。

1.スタッキング

スタッキングとは複数のモデルを積み上げる方法です。一層目にいくつかのモデルを用意し、それぞれのモデルからの出力を、次の層への入力として用います。これを何度も繰り返し、最終的な予測値を得ます。過学習などに気をつけながら、どのモデルをどの層に使うかなどを考えなければならず、非常に難しい手法です。

2.ブースティング

ブースティングは、直列的に弱学習器を用いてそれぞれのモデルの総合的な結果を用いる手法です。最初の弱学習器で上手く推定できなかった部分を推定するため、重みを付けて次の弱学習器で学習を行います。最終的には、精度の高いモデルに重みを付けて最終的なモデルを作成します。

3.Recurrent Neural Network

RNN(Recurrent Neural Network:再帰型ニューラルネットワーク)とは、ディープニューラルネットワークのアルゴリズムの一つです。ネットワーク内部に再帰構造を持つという特徴があり、時系列データの解析や自然言語処理といったタスクにおいて効果を発揮します。

4.Generative Adversarial Networks

GNN(Generative Adversarial Networks:敵対的生成ネットワーク)は、入力されたデータから新しいデータを作り出して出力する、生成モデルと呼ばれるモデルの一つです。データから特徴を学習することで、実在しないデータを生成するなど、存在するデータの特徴に沿って変換します。

5.Convolutional Neural Network

CNNとは(Convolutional neural network:畳み込みニューラルネットワーク)の略称で畳み込み層とプーリング層をもつニューラルネットワークです。画像関連のタスクにおいて非常に効果的なモデルで、「画像の深層学習」と言えばCNNというくらいメジャーな手法です。

6.二アレストネイバー法

ニアレストネイバー法は、画像編集で用いられる注目画素周辺の画素を参照する補間方法です。元データにない色のピクセルは生成せず、もっとも近いピクセルで画像補完を行います。画像の輪郭がギザギザになりますが、線画画像の拡大・縮小などに効果的です。

機械学習の手法を選択する方法


上記の初心者・中級者向けの機械学習のアルゴリズムを見て、「どれをいつ使えばいいのだろう…」と悩まれた方もいるはず。そこで、機械学習の手法選択の方法をご紹介します。初心者も中級者も、最適な機械学習のアルゴリズム選択のヒントにしてみてください。

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構築ができます。最小限の学習コストでAI導入を実現してみてはいかがでしょうか。

UMWELTのサービスページをチェックする(下記画像をクリック)

article-banner-umwelt

WRITING BY

TRYETING

公式

TRYETING公式です。
お知らせやIR情報などを発信します。