機械学習・AI

2019/08/02

機械学習とは?仕組み・手法・活用例を徹底解説

AI技術の発展により、「機械学習(Machine Learning)」や「深層学習(Deep Learning)」という言葉を耳にする機会も増えました。機械学習は、データサイエンスやデータアナリティクスとも関連する先端IT技術です。機械学習では、人に代わりコンピューターがデータを解析し予測や最適化を行います。

今回の記事では、機械学習の仕組みや学習手法、活用事例について紹介します。これからAI技術を勉強したい方や機械学習のスキルを身につけたいITエンジニア・プログラマー以外の方にもわかりやすく説明します。

機械学習とは

機械学習は、人間の知能の働きをコンピューターに行わせようという「人工知能(Artificial Intelligence:AI)」への、アプローチのひとつです。機械学習では、まるで人間が経験を通して学習をするように、コンピューター自身に学習する能力を持たせることができます。そして、コンピューターは学習した結果に基づいて、新しく入ってきたデータに対して「予測」や「識別」などを行うことができるのです。この技術は、さまざまな分野に応用されています。

機械学習の仕組み

機械学習では、大量のデータをコンピューターに読み込ませ、さまざまなアルゴリズムに基づいて分析をさせます。膨大な量のデータを反復的に学習することによって、コンピューターはデータの中に潜むパターンや特徴を見つけ出すことができるのです。データの特性や目的によって、使用するアルゴリズムは異なります。例えば、売上の予測がしたいのか画像の識別がしたいのかによって、それぞれの目的に合ったアルゴリズムを用意する必要があります。

深層学習(Deep Learning)との違い

機械学習をさらに発展させたものが、深層学習です。深層学習では機械学習の技術に、人間の神経細胞に似たニューラルネットワークを取り入れて、学習やデータの分析を行います。その結果、より精度の高い分析の結果を得ることができるのです。深層学習の優れているところは、データの特徴を、コンピューターが自分で見つけ出すことができるという点です。

深層学習ではない機械学習では、何に注目をしてデータを識別すればよいのかは、人間が教えてやる必要があります。ところが、深層学習では、データのどの特徴に注目すればよいのかを、コンピューターが自律的に学習するのです。例えば、深層学習では、リンゴと梨の画像を識別する場合、「色に注目すればよい」ということを、コンピューターに教える必要はありません。コンピューターが自分で、「色に注目すればよい」ということを学習するのです。そのため、深層学習では、膨大なデータの中から、人間が見つけることのできない特徴を見つけ出すこともできます。

データマイニングとの関係

大量のデータから何らかの知識を取り出そうとする行為全般を、データマイニングと呼びます。機械学習も、データマイニングの手法もデータから法則やパターンを見つけ出すという点で共通しています。古くからあるデータマイニングの手法としては、統計学があります。従来の統計学が持っていた技術に加えて機械学習の技術を取り入れることで、より効率的にデータマイニングを行うことができるのです。

機械学習の手法

機械学習の手法を大きく分けると、「教師あり学習」と「教師なし学習」、「強化学習」の3種類です。また、「教師あり学習」と「教師なし学習」の中間のような「半教師あり学習」という手法も活用されています。これらの手法は、機械学習の目的や、どのようなデータを使用するかによって、使い分ける必要があります。

教師あり学習

コンピューターにラベル付きのデータを与えて学習させる手法を、教師あり学習と呼びます。例えば、犬の画像と猫の画像を識別したい場合、教師あり学習では、犬の画像には犬、猫の画像には猫とラベルの付いたデータを、コンピューターに大量に与えます。その結果、コンピューターは犬と猫の特徴を学習し、ラベルの付いていないデータを与えても正解が導き出せるようになるのです。

このように、正解がある大量のデータを学習することによって、未知のデータに対して予測を行う手法が教師あり学習です。回帰による教師あり学習は、数値の予測にもちいられます。例えば、将来の株価や商品価格を予測したい場合など、過去のデータを入力値として使用し、将来おこりえる数値を予測します。

半教師あり学習

教師あり学習を行うには、ラベルの付いたデータが大量に必要です。しかし、ラベル付きデータを大量に用意するのは手間がかかりますし、その分のコストもかかってしまいます。そのような場合、少数のラベル付きデータと、大量のラベルなしデータを使用して機械学習を行うことができます。これが、半教師あり学習です。半教師あり学習のメリットは、ラベル付きデータの量を大幅に抑えることができることです。そのため、データを用意するための費用や手間を削減することができます。

教師なし学習

教師なし学習では、ラベルのないデータを使用します。ラベルのない大量のデータの中から、隠れたパターンやグループを見つけ出すのです。例えば、顧客データには、顧客の年齢や購入した商品などの情報はありますが、コンピューターに学習させるべきラベルがあるわけではありません。このようなデータを分析して特徴を見つけ出し、グループ化を行っているのが教師なし学習なのです。

教師なし学習は、顧客データのように毎日溜まっていくデータを分析するのに、向いています。顧客の属性に合わせたマーケティングキャンペーンを行うのに役立てられたり、ECサイトなどでよく見かける商品のレコメンドを行ったりしているのが教師なし学習なのです。

強化学習

コンピューターが出した答えに対して点数を与え、より高い点数を得られるように、コンピューターに試行錯誤をさせながら学習させるのが強化学習です。例えば、囲碁や将棋などのゲームで人間と対戦をする人工知能には、強化学習の技術が使われています。

機械学習の活用例

機械学習は、さまざまな分野で活用されています。身近なサービスやシステムも、実は機械学習の技術が役立てられているのです。機械学習の活用例を、紹介しましょう。機械学習についてさらに理解を深めることができます。

スパム・不正検知

パソコンやスマホにスパムメールが届くと、受信ボックスではなく、自動的に迷惑メールフォルダーに振り分けられている、という経験がない人は少ないでしょう。この機能には、機械学習の技術が活用されています。迷惑メールによく使用される単語を機械学習により学習し、届いたメールのうち、どれがスパムメールでどれがそうでないかを識別しているのです。

クレジットカードの不正使用を検知するシステムにも、機械学習が役立っています。顧客の取引履歴のデータをあらかじめ与えて学習させておくと、不正な取引があった場合にコンピューターが識別できるのです。

商品レコメンド

インターネットでショッピングをするとよく表示される商品レコメンドには、2種類あります。そのユーザーによく似たユーザーから人気を集めている商品をおすすめするものと、その商品と一緒に買われることが多い商品や、その商品によく似た商品をおすすめするものです。これらの商品レコメンドにも、機械学習が使われています。

商品レコメンドの場合、コンピューターに与えられるのは顧客の購入履歴や商品の閲覧履歴といったデータです。膨大なデータを分析し、特徴や傾向を機械学習によって見つけ出すことで、従来のルールベースよりも精緻なレコメンデーションが可能になります。

チャットボット

企業のWEBサイトで、隅の方にあるチャット画面を利用したことがある人は、多いのではないのでしょうか。チャットボットは、ユーザーからの問い合わせや注文に、人間のスタッフに代わって対応することができます。企業のホームページにある「よくある質問」などに沿って、決まった質問に対して決まった答えをする簡単なチャットボットは、機械学習を使わないで作ることが可能です。しかし、もっと複雑な対応をチャットボットにさせるためには、機械学習が必要になります。

ドキュメント化・データ入力

封筒やハガキに書かれた郵便番号は、手書きのものもたくさんあります。郵便物を地域ごとに仕分けするには手書きの郵便番号を読み取る必要がありますが、このシステムには機械学習が欠かせません。

他には、タッチスクリーンに手書きした文字や形を読み取り、きれいな文字や図形を描写するプログラムにも機械学習が使われています。

需要予測・自動発注

製造業や小売業にとって、商品の需要を予測することはとても重要です。製品を作りすぎたり商品を仕入れ過ぎたりしないためには、過去のデータを機械学習で分析します。さらに、材料や商品を自動で発注することも、機械学習によって可能になっています。また、機械学習の技術を使えば、既存の商品だけではなく、新商品がどれくらい売れるのかも高い精度で予測することが可能です。

異常・故障検知

工場などの製造業では、製造ラインの異常や不良品を発見するのにも、機械学習が利用されています。とはいえ、異常や故障は、それほど頻繁に起こることではありません。そのため、機械学習に必要なデータを、十分に用意するのが難しい場合が多いのです。実際には、さまざまなデータを機械学習で分析し、何らかの異常値を発見するという方法が使われています。いつもと違うことが起きている場所では、異常や故障が起きている可能性が高いからです。

スコアリング・格付け

企業の信用度を格付けしたり、見込み顧客の価値をスコアリングしたりするときにも、機械学習が威力を発揮します。スコアリングや格付けにはさまざまな指標があり、データの量も膨大です。しかし、複雑なデータを分析し、注目すべきポイントを見つけ出すことは、まさに機械学習が得意とするところなのです。

セキュリティ認証・顔認識

パソコンやスマートホンのフォトアルバムで、写っている人物ごとに画像をフォルダ分けする機能を、使ったことがある人も多いのではないでしょうか。この機能には、画像の中から人間の顔を見つけ出す技術と、特定の人物の顔を識別する技術が使われています。そして、どちらの技術にも、大量の画像データと機械学習が欠かせないのです。

顔認証の技術は、さらに発展させてセキュリティ認証にも利用されています。個人の顔を識別することで、企業やイベントなどの入退を管理することが可能です。さらには、パソコンなどの端末へのログイン、オンライン決済などのセキュリティ認証にも使われています。

医療診断

医療の分野でも、機械学習は役立っています。患者の年齢や身長、体重、さらに血圧などのデータは、医師がもともと持っています。それらのデータに加えて、センサーなど最新機器を利用すれば、患者の健康状態に関するさまざまなデータを、リアルタイムで集めることが可能なのです。機械学習は、これらの複雑なデータを分析します。そして、腫瘍にガンの疑いがあるかどうかを予測したり、患者が病気かもしれないという情報を医師に提供したりすることもできるのです。

関連記事Related Posts