
近年は機械学習と呼ばれる技術が多用されています。機械学習はコンピューターを利用してデータからさまざまな学習をする技術で、学習結果をビジネスなどに反映します。
機械学習に興味を持つ人は多く見受けられますが「具体的なやり方が分からない」という人も多いでしょう。今回は機械学習とはなにかと、機械学習の手法について解説します。
機械学習とは
機械学習はコンピューターがデータを解析する技術です。コンピューターに特定のアルゴリズムを組み込むことによって、与えられたデータから自動的にコンピューターが「学習」できるようになります。
学習内容は状況によって変化して「データの傾向」「潜在的なルール」「データに含まれるパターン」などです。大量のデータからこれらの情報を導き出すことによって、既存のデータをより効率よく活用できるようになります。
データから学習する際には、統計学など数学的なモデルを利用するケースが大半です。活用するアルゴリズムはコンピュータに読み込ませるデータや使用目的によって異なります。
なお、機械学習と混在されやすいキーワードが、深層学習(ディープラーニング)です。こちらは機械学習の代表的な手法のひとつであり、機械学習に内包されるキーワードといえます。機械学習と深層学習がそれぞれ独立しているわけではないため、その点は理解するようにしておきましょう。
機械学習でできること
機械学習ではさまざまなことができるため、今回は4種類に絞って例を紹介します。
画像認識
画像認識は「画像の中に何が写っているか」を機械的に認識する技術です。また、認識するだけではなく、認識した結果を別の用途に利用することも画像認識に含まれます。
例えば、スマートフォンで撮影した写真の中に人間が写っていると、その部分だけをトリミング可能です。画像認識によって人だけを認識して加工できます。
音声認識
音声認識は主に人間が発した言葉を、機械学習によって処理する技術です。具体的にどのような言葉を発したのかはもちろん、その人の感情も読み取れるようになっています。
自然言語処理
自然言語処理は言語の曖昧さを機械学習によって発見する処理です。どのような自然言語でも、人間が扱う以上は曖昧な部分が含まれる可能性があります。そこを機械学習によって洗い出し、一意になるように修正するのです。
例えば、日本語は「助詞の連続」が嫌われる傾向にあります。「私の本の問題の答えは100です」という文章は意味こそ理解できるものの違和感があるでしょう。これを自然言語処理によって「私の本に記載されている問題の答えは100です」などと修正できます。
異常検知
異常検知は、大多数のデータとは異なるデータを検出する技術です。教師データなしの学習で大量のデータから傾向を把握しておき、その傾向に則さないデータが入力された場合に検知します。
例えば、クレジットカードの利用履歴から、本人が購入しそうにないものを検知可能です。また、工業機械のデータから不良品が生み出された可能性を検知します。
機械学習の仕組み
機械学習の根本的な仕組みは数学的あるいはコンピュータサイエンス的な「モデル」です。例えば、以下のモデルが機械学習では利用されます。
- サポートベクターマシン:データの「距離」を測定することで大量のデータを分類する仕組み
- 二アレストネイバー法:学習済のデータを踏まえて新しいデータをどれかに分類する仕組み
- 決定木・ランダムフォレスト:データをツリー形式で表示して関係性を表す仕組み
- ニューラルネットワーク:人間の脳内を想定してさまざまデータを多角的に処理できる仕組み
それぞれがどのような計算式で動作しているかは専門的な内容すぎるため、ここでは割愛します。まずは機械学習には複数の仕組みがあり、これに以下で説明する学習方法を組み合わせて利用するということを理解できていれば良いでしょう。
機械学習の学習方法
機械学習の学習方法は大きく分けて以下のとおり3種類があります。
- 教師データあり
- 教師データなし
- 強化学習
教師データあり
教師データありの学習方法は、人工知能に対して入力と正解をそれぞれ与えるものです。事前に正しい結果を提供することによって、入力データの正誤判定ができるようになります。
例えば、教師データありの学習では「識別」が可能です。これらは与えられたデータと事前に学習したデータを比較して、正しいか正しくないかを判断する機能です。例えば、メールの件名から迷惑メールかどうか判断できます。
また、「回帰」の実装もできるようになります。これは特定のルールで繰り返されるデータを学習しておくことで、今後の予想ができるものです。例えば、天気予報や商品の売上予測などが該当します。
教師データなし
教師データなしの学習方法は、人工知能に大量のデータを与えて内容を把握させるものです。データは与えるものの、正解かどうかについては提供されていないため、人工知能は正誤判定ができません。
ただ、正誤判定はできないものの、教師データなしで学習した人工知能はクラスタリングと呼ばれるデータのグルーピングができます。データから人間には見つけられないようなルールを導き出し、それに沿って入力したデータの仕分けができるようになるのです。
強化学習
強化学習は人工知能がアウトプットしたものに対して適切なスコアを付け、そのスコアを最大化させる学習方法です。人工知能は「いかに高いスコアを出すか」に注目して学習を繰り返すため、効率のよい解が手に入る可能性があります。
学習方法は教師データなしと似ていますが、強化学習では毎回スコアを付与します。そのため、正誤判定はできないが高いスコアを得る方法を習得できるのです。これが最終的に金融取引での期待値計算や複雑な数式を解くための処理時間計算などに利用されます。
機械学習の手順
機械学習はどの学習方法を選択するかで変化しますが、概ね以下の手順で実現できます。
- 機械学習の基本を習得する
- 学習方法を決定する
- 機械学習に必要なデータを収集して加工する
- 機械学習モデルをトレーニングする
- モデルを評価する
- 実際に結果を得たい情報で運用する
まず、機械学習を実現するためには機械学習の基本を習得し、その都度適切な学習方法を選択できるようになることが求められます。教師データあり・教師データなしなど、目的によってどれを選択すべきか判断できるだけのスキルが必要です。
さらに、機械学習には大量のデータが必要となるため、インプットとなるデータを収集する必要があります。また、不要なデータを削除したりインプットに対する答えを用意するなどの加工も必要です。
データの準備さえ完了すれば、後は機械学習のモデルをトレーニングしていきます。自分自身でプログラミングすることもあれば、専用のツールを導入してモデルを手に入れることもあるでしょう。どちらにしてもデータで学習させ、想定したとおりの学習ができているか評価後、運用を開始します。
機械学習の活用例
機械学習が歌のような場面で活用されているのか簡単に紹介します。
需要予測
過去のデータやトレンドなどを分析して、将来的な需要を分析するものです。人間の感覚に頼るのではなく、数字的に分析することで、精度の高い需要予測を実現できます。
例えば、工場で生産する製品数を決定する際に需要予測を立てられます。今までの傾向から直近の販売数を予測して、どの程度生産すれば需要を満たせるか判断できるのです。
マーケティング
今までの販売データから機械学習を用いて傾向を見つけることで、マーケティングに活用できます。ビッグデータ解析などと呼ばれる技術で、人間が気づかないようなルールを見つけ出すものです。
マーケティングに機械学習を導入すれば、効率の良い販売計画を立てられます。例えば、平均気温と商品の売れ行きに相関関係があることが判明すれば、天気予報を見ながら商品を発注できます。無駄な商品調達などがなくなり、利益率のアップなどにつなげられるのです。
レコメンデーション
今までの商品購入や閲覧の履歴から、興味がありそうな商品などを提案する仕組みです。機械学習を活用して、商品の購入傾向が似ている人が購入しているものを提案します。
生産計画
工場や農家など生産計画を立てる必要がある業種において、生産数の決定に役立ちます。過去の実績からどの程度の需要が見込まれるかを算出し、それを元に立案します。
機械学習をうまく活用するには
機械学習を実現するためには人工知能に取り込ませるだけのデータが必要です。教師データが必要になる場合は大量のデータを収集する必要があり、機械学習の大きなハードルになってしまいます。
データの収集方法はいくつも考えられますが、Webサイトには教師データになり得るものが多数存在します。Webデータのように大量かつ誰でも手に入れることができるデータを収集すると、効率よく機械学習を活用できるでしょう。
Webサイトから情報を収集する際は、スクレイピングと呼ばれる手法が有効的です。スクレイピングはインターネットに公開されている情報の必要な部分だけを収集して、機械学習の学習データとして利用できます。
当社のPigDataはスクレイピングにより機械学習に必要なデータを簡単に収集可能です。機械学習に向けて大量のデータを収集したい方は一度お問い合わせください。