機械学習は学習をするほど頭が良くなっていく技術であり、現在ではさまざまな商品・サービスに導入されています。しかし、機械学習と一口にいっても多くの種類があり、それぞれの特徴を知っておくことが重要です。では、機械学習の種類について確認していきましょう。
機械学習の手法
まず、機械学習の手法として代表的なものに教師あり学習、教師なし学習があります。では、それぞれの学習方法はどのような特徴を持っているのでしょうか。具体的な使用例もくわえて確認していきましょう。
教師あり学習の特徴
教師あり学習は正解となるデータを与えて学習するモデルです。AIは新しいデータが与えられた際、それが正解データと一致しているのかどうかを判断していきます。このような性質上、予測、データ認識、分類などに利用されることが多いです。
より具体的な活用例としては以下のようなものがあります。
・画像認識
・音声認識
・人物認識
・自然言語処理
・ウイルス判定
教師あり学習は正解データを与えることで学習精度が高まっていきます。そのため、正解データがある場合は高精度な学習方法です。しかし、逆に明確に正解となるデータがなければ効果的に利用できません。
具体的な使用例としてはスマートフォンなどの顔認証が挙げられます。スマートフォンの顔認証は事前に自分の顔を登録し、それをAIが判断するシステムです。基本的には目、鼻、口の3点を重点的にデータ収集し、認証に活用しています。
教師なし学習の特徴
教師なし学習は正解データを与えず、AI自身が与えられたデータなどを分類していく手法です。そのため、教師あり学習のようにある目的に沿って分類をするといったことはできません。しかし、教師なし学習は与えたデータに対して法則性を解析、抽出することが可能です。
AI自身が分類をするといった特徴から教師あり学習は以下のような事柄に用いられます。
・顧客セグメント分類
・主成分分析
・レコメンド
このように教師なし学習は人間側がパターンを見つけられていないものに対して効果を発揮します。教師なし学習は正解データがなくとも利用できますが、出てきたデータに対しては人間が意味を与えなければなりません。
教師なし学習の具体的な活用法としては音楽分析ツールであるSOUNDRAWがあります。SOUNDRAWはビッグデータにある音声から類似性の高いものを抽出し、まとめています。この結果、利用者は目的に沿った音楽を探しやすくなり、音声利用が効率的になりました。
その他の機械学習手法
機械学習は教師あり学習と教師なし学習が主な手法でしたが、近年では強化学習やニューラルネットワークといった技術が急激に発展しています。強化学習やニューラルネットワークは発展とともに普及も進んでいるため、これらについても確認しておきましょう。
強化学習の特徴
強化学習はAIにデータと報酬を与え、自分で学習をさせていく手法です。AIはデータや与えられたルールにて報酬が最大となるように試行錯誤します。
教師あり学習と似ていますが、機械学習はデータをそのまま学習するのではなく長期的な価値を最大化することを重視しています。教師あり学習は現時点での短期的な観点、強化学習は長期的な観点と違いを覚えておきましょう。
強化学習でできることは下記のようなものがあります。
・システムの最適化
・ロボット制御
・ゲーム学習
強化学習は長期的な観点で学習を進めていくため、日常的に利用しているサービスなどに多く活用されています。また、日常的に利用するものは日々データが溜まっていくため、精度も上がっていくことが特徴的です。
具体的な使用例としては自動車の自動運転が挙げられます。物体検知など外の環境をAIに学習させ、どういった行動を取れば良いのかを大量に学習させているのです。
ニューラルネットワークの特徴
ニューラルネットワークとは人間の脳の構造を模したAIです。入力と出力の間に隠れ層といったものを定義し、情報を複雑に絡まり合わせてデータを処理していきます。
前述の機械学習法では複雑な分類や回帰ができない場合がありました。しかし、ニューラルネットワークでは複雑な関数処理もおこなえるようになるため、適用できる幅が広くなっています。さらに、ニューラルネットワークを多層に結合したものをディープラーニングと呼び、適用領域の幅と精度が非常に大きいです。
具体的な使用例としてはGoogle翻訳が挙げられます。それまでの翻訳ツールは1文1文を翻訳していました。しかし、ニューラルネットワークを導入したGoogle翻訳では文章全体を1つの文として把握し、より自然な文章にすることを実現しています。
機械学習手法の選び方
前述のとおり、機械学習にはさまざまな手法があります。では、実際に用いようと考えた場合、どのような基準で手法を選定すれば良いのでしょうか。ここで代表的な選び方について確認していきましょう。
手法選択の考え方
まず、考え方としては問題の性質を理解することが必要です。各手法でご紹介したように、機械学習にはそれぞれ特徴があります。そのため、機械学習を利用する目的を理解し、適切な出力がなされるものを選ぶことが重要です。
また、問題の性質と同様に与えるデータの性質も考えなければなりません。データ量、質、次元数、欠損の有無などを確認し、アルゴリズムが効果的に働く手法を選定しましょう。
最後に、手法を選択する際には過去の事例を確認することも重要です。似ている事例で成功している手法はどれであるのか、逆に失敗している事例はなぜ失敗しているのかをご確認ください。
具体的な選択のポイント
具体的な選択のポイントとしてはチートシートの確認があります。チートシートとはさまざまな手法と特性を簡潔にまとめた資料であり、目的と照らし合わせることで適切な手法を素早く見つけることが可能です。
現在ではさまざまなチートシートが公開されています。とくに、以下のものについて分類している資料が多いです。
・問題のタイプ:分類、回帰、クラスタリングなど
・データの性質:データ量、次元、種類、欠損の有無など
・手法の特徴:各手法の特性、メリット・デメリットなど
・実装の難易度:導入する際の難易度
まずは、「機械学習 チートシート」と検索し、自身の目的から適切なものを探していきましょう。また、チートシートは単体ではなく複数のものを確認することでより多角的に判断していくことが可能です。
機械学習を容易にするツール
機械学習のアルゴリズムは複雑な場合が多く、実装が困難なこともあります。しかし、現在ではさまざまなツールが公開されており、導入を簡潔にすることが可能です。ここで、具体的なAIツールをいくつか確認してみましょう。
AIツールの利用
機械学習ツールとして人気の高いものにAWS Machine Learningが挙げられます。本ツールはAmazon社が提供しており、「音声からテキスト」「テキストから音声」「翻訳」「自然言語処理」「機械学習のモデル構築」などさまざまなサービスが搭載されています。
具体的な使用手順は下記のとおりです。
・データソースの作成
・モデル構築
・モデルの評価
・予測結果の作成
各手順において画面上で選択でき、機械学習の構築に慣れておらずとも実装が容易におこなえます。しかし、そもそも設定すべき項目を理解していなければ適切な実装はできません。まずは書籍などで機械学習の基礎的な部分を理解しておきましょう。
機械学習のライブラリ
ライブラリとはある処理を実行するためのプログラムをまとめたものです。他人がまとめたものも使用できるため、ライブラリを指定するだけで一定の処理をおこなえます。ライブラリは記述するだけで非常に多くのことがおこなえるようになるため、実装する際には積極的に用いることがおすすめです。
機械学習に有用なライブラリとしては以下のようなものがあります。
・NumPy:データ演算
・pandas:行列形式データ処理
・matplotlib:データの可視化
・scikit-learn:回帰、分類、クラスタリング、次元削減、データの前処理、モデル評価と選択
・XGBoost:機械学習フレームワーク
機械学習は大量のデータを用いるため、上記3つを用いることで計算処理を簡略化し、効率を向上させることが多いです。下記2つのライブラリは直接的に機械学習を導入することができるため、アルゴリズムが自分の目的に適しているのであれば積極的に用いていきましょう。