公開日:2022年12月20日
機械学習モデルは、機械学習アルゴリズムによってデータが処理されたときに出力されます。機械学習アルゴリズムは、データを取り込んで処理し、学習を繰り返してデータを分析した結果として機械学習モデルを生成します。このモデルは、将来の問題の予測に適用することができます。機械学習モデルは、データセットからパターンを導き出したり、データに基づいて意思決定を行ったりするために、データによって「トレーニング」されます。たとえば、機械学習モデルがある住宅に関する一連の情報に基づいてその価格を予測する場合、トレーニングプロセスで構築したモデルにそのデータをあてはめようとします。機械学習モデルはいずれも、放っておけば活用されない有益な情報を、組織が所有するデータ(または外部データ)から抽出することを目的としています。
機械学習モデルは、教師ありモデルと教師なしモデルという2種類に大別されますが、モデルのサブタイプは文字どおり何百種類もあり、さまざまな用途やデータタイプに特化した機械学習手法も数多くあります。独自のものもあればカスタマイズできるものもあり、事前にトレーニングできるものもあればユーザーがトレーニングするものもあります。機械学習サイエンティストにとっては、時間の経過とともにモデルの精度とパフォーマンスを向上させることが大きな目標です。
この記事では、機械学習モデルのさまざまな種類、それぞれに最適なユースケース、そして機械学習モデルの基本的な構築方法とトレーニング方法について説明します。
機械学習とは?
機械学習(ML)とは、AI (人工知能)の一部であり、コンピューターアルゴリズムを人間の学習方法に近づけることを可能にし、学習を繰り返すことで精度を向上させることを目的としています。機械学習アルゴリズムは、トレーニングデータに基づいて機械学習モデルを構築します。機械学習モデルのトレーニング完了後は、データポイントを新たに入力すると人間が介入しなくても予測できるようになります。
機械学習は、1959年にArthur Samuel氏によって提唱されて以来、劇的な進化を遂げてきました。コンピューターサイエンスの原点である単純なパターン認識から発展した今日の機械学習(ML)ツールは、クレジットカードの不正取引の検出から自動運転車に至るまで、あらゆることを可能にする高度なプラットフォームとなっています。最新の機械学習ツールは、チェスやチェッカーなどのゲームを習得するためにも使用されており、どのような状況でも最適な戦略を見つけられるように、膨大な数の対戦訓練を重ねています。
機械学習モデルのユースケース
機械学習にはさまざまなユースケースがありますが、日々新しいユースケースが生まれています。機械学習モデルは現在、主に次のような分野で実用化されています。
- 株式の自動取引:機械学習モデルが過去の膨大なデータポイントや経済動向から学習して株価の動きを予測し、予想される市場の変化を先取りして取引を行います。
- がんの分析と診断:写真やレントゲン写真で機械学習モデルをトレーニングし、ほくろやレントゲン写真の腫瘤ががん性であるかどうかを判断します。
- 不正行為の検出:何百万件もの金融取引を分析することで、クレジットカードの不正取引が処理される前に阻止します。
- ITの異常検出:悪意のあるネットワーク攻撃や脆弱性を表すパラメーターを機械学習モデルに入力しておき、異常なイベントが発生したときにIT管理者に通知します。
- オンラインチャットボット:キーワードを探して最適な回答を提案するように機械学習モデルをトレーニングし、オンラインチャットボットや携帯電話ベースの音声応答システムでサポートを提供します。
- 商品のレコメンデーション:映画を見たり、オンラインストアで何かを購入したりした後、関連する商品の広告が表示されたことがあるでしょう。これは、各個人の好みを把握しようとする機械学習モデルの機能によるものです。
- スパムのフィルタリング:何千件もの既知の正常なメールと既知のスパムメールをアルゴリズムに入力することで、その後受信したメッセージを受信トレイに入れるべきかどうかを機械学習モデルが判断します。
- 自動運転車:自動運転を実現するには、リアルタイムで意思決定できる処理能力を持つ、十分にトレーニングされた機械学習モデルが不可欠です。
- 音声認識:AlexaやSiriに話しかけると正確な答えが返ってくるのも、機械学習によるものです。
ディープラーニングと機械学習の比較
ディープラーニングとは、機械学習の学習方法の1つです。ニューラルネットワークシステムが、与えられたデータから学習を繰り返し、人間の介入なしに意思決定プロセスを独自に改善していきます。ディープラーニングの「ディープ」とは、ニューラルネットワークが独自に学習するのに必要な階層の深さを指します。アルゴリズムによるニューロンが3層より多いニューラルネットワークは、ディープラーニングモデルとみなされます。ニューラルネットワークと同様に、ディープラーニングも脳の仕組みを模倣するように設計されていますが、そのレベルはより高度で複雑です。
教師あり機械学習とは異なり、ディープラーニングは高度に構造化されたデータを必要とせず、一般的にサイズと規模がはるかに大きくなり得る非構造化データセットを取り込む(そして出力する)ことができます。ディープラーニングアルゴリズムは、独自にトレーニングを重ねて問題解決の精度を高めることができますが、従来の機械学習テクノロジーと比較するとこのプロセスには膨大な時間と高度な計算能力が必要です。従来の機械学習システムの出力は、質問に対する回答(「この写真はリンゴです」または「この取引は不正ではありません」など)が一般的ですが、ディープラーニングのユースケースでは、人工だが写真のようにリアルな人物の顔写真や、誰かに似せた人工音声など、その出力が一時的にしか使われないことが少なくありません。トップガンマーヴェリックの映画では、Val Kilmerの声を再現するにあたり、ディープラーニングテクノロジーが使用されました。
モデルとアルゴリズムの違い
機械学習やデータサイエンスにおいて、モデルとアルゴリズムという用語はしばしば同じ意味で使われますが、これらは機械学習分野の異なる領域を表しています。従来の開発と同様に、機械学習アルゴリズムは、データに対して実行されるソフトウェアを指します。写真をカテゴリ別に分ける方法についてコードを記述した場合、それはアルゴリズムになります。機械学習アルゴリズムには、以下のようなものがあります。
- ランダムフォレスト
- 線形回帰(1つ以上の入力変数を使用して、1つの出力変数を予測しようと試みる)
- ロジスティック回帰
- 近傍法
- 勾配ブースティングアルゴリズム(XGBoostやLightGBMなど)
- サポートベクターマシン(SVM)
- 判定ツリー
- Google社のTensorFlow
- XGBoost
アルゴリズムの結果が機械学習モデルです。モデルには、入力されたトレーニングデータから得られた学習結果が組み込まれており、それを将来の問題の予測に適用できます。システムに写真を入力すると、トレーニング済みの機械学習モデルは、それが何であるか(たとえば、リンゴかオレンジか)を予測します。ここで、アルゴリズムはこのモデルの作成に使用されたものであり、モデルはこのアルゴリズムから抽出されたものです。
アルゴリズムもモデルも広義にはコンピュータープログラムであるため、この2つは混同されがちですが、機械学習モデルはアルゴリズムから学習して得られた結果です(ただし、学習に使用したデータも構成要素に含まれます)。
機械学習モデルの種類
機械学習モデルと学習手法は、以下の4種類のいずれかに大別されます。
- 教師あり学習
- 教師なし学習
- 半教師あり学習
- 強化学習
次の4つのセクションで、それぞれ詳しく説明します。
これらの機械学習モデルの中には、Naive Bayesやk平均法といった具体的な機械学習手法が数百とは言わないまでも数十はあります。これらは、さまざまなサブカテゴリに分類できます。その中でも一般的なものをいくつかご紹介します。
- 二項分類モデル(教師あり):2つの選択肢から結果を予測する単純な分類モデルです。このモデルは「はい」または「いいえ」を判断するもので、この種類の代表的なモデルはスパムフィルター、マシン障害予測システム、不正検出ツールなどです。
- 多クラス分類モデル(教師あり):このモデルはより複雑で、2つより多くの可能性から選択するものです。たとえば、レコメンデーションシステムは、何千、何百万もの商品の中から特定のタイミングで消費者に最適な商品を選んで提示する必要があります。膨大な可能性の中から画像を特定しなければならない画像認識システムも、このモデルの代表例に挙げられます。
- 回帰モデル(教師あり):回帰モデルは、過去の傾向や他の利用可能な情報に基づいて、価格や気温の予測といった数値分析を行うものです。
- クラスタリングモデル(教師なし):この種類のモデルは、大規模なデータセットを取り込み、類似した特性を持ついくつかの関連グループに分類またはセグメント化します。クラスターは、大規模なデータセットを意味ごとに区別したサブセットに絞り込むために使用されます。
- 次元削減モデル(教師なし):このモデルは、大量の変数を持つデータセットに適用するもので、対象とする問題とそれぞれの変数の関係の有無を判断します。このモデルの一例として、主成分分析(PCA)が挙げられます。
- 人工ニューラルネットワークモデル(強化学習):ニューラルネットワークは脳の仕組みから着想を得ており、問題を細分化していくことで、データセット内のデータの隠れた関係を明確にすることが目的です。手書き入力認識は、ニューラルネットワークの実例としてよく挙げられるもので、書かれた文字を数百のピクセルに分割して、最も可能性の高い文字を判断します。
これらの機械学習モデルの中には具体的な機械学習手法が数百とは言わないまでも数十はあります。
教師あり機械学習モデルとは?
教師あり機械学習モデルは、そのプロセスの一部として、タグまたはラベルが付けられたデータを使用します。これらのラベルは、特定の機能に関する既知の出力で、過去の動作で得られたものです。車の画像を認識するようにアルゴリズムをトレーニングする場合、対象物(車か、車でないか)でラベル付けされた写真のグループを最初の入力データとするのが最も効果的です。このデータラベルが、いわゆる教師の役目をします。ラベル付けされたデータでトレーニングした後、別の写真を読み込ませれば、それが車かどうかを判断できるようになります。
これは分類(どのグループに入力を割り当てるかを決めること)と呼ばれ、教師あり機械学習の主なユースケースの1つです。もう1つの主なユースケースは、回帰(特定の入力に基づいて数値結果を予測すること)です。こうしたユースケースには、多くの場合、財務分析や、天気予報などの複雑な計算を伴う予測的な問題が該当します。
教師なし機械学習モデルとは?
教師あり機械学習モデルとは異なり、教師なし機械学習モデルはラベル付きデータを使用しません。このモデルでは大量のデータを読み込ませ、基本的に、それをどう処理するかを判断するよう求めます。これには、データをグループにクラスタリングしたり、データ内の特定の値が他の値とどのように関連しているかを判断したりする手法があります。教師なし機械学習は、レコメンデーションシステムのほか、マーケティングプログラムの有効性を分析するような「推論的」な用途によく使用されます。
教師なし学習が適している用途は多くありません。モデルに車の外観を伝えずに、ランダムに集められた写真の中から車をすべて見つけるようモデルをトレーニングしても、理想的な結果が得られないためです。むしろ、求めている結果をユーザーも漠然としか把握できていない場合に最適です。また、ラベル付けされていないデータは収集しやすく、大規模かつ複雑なデータセットでは大変な手間になり得るラベル付けが不要であるため、他に方法がない独特のユースケースでは役立つ可能性があります。
半教師あり機械学習モデルとは?
半教師あり機械学習モデルは、教師あり機械学習モデルでデータのラベル付けに多大な費用がかかる問題に応える形で登場しました。半教師あり機械学習モデルでは、ラベル付けされたデータとラベル付けされていないデータを使用します(実際には、ラベル付けされていないデータがほとんどです)。この考え方は、すでにラベル付けされたデータからラベル付けのルールを学習することで、ラベル付けされていない残りのデータのラベル付けを自動化するというものです。その結果として得られる半教師あり機械学習データセットは、従来のラベル付き教師あり機械学習データセットより精度は劣るかもしれませんが、100%の精度が必須ではない状況(たとえば、ある程度のエラーが予想される音声認識など)では、この手法で十分許容できるうえ、コストも大幅に削減できます。
強化学習モデルとは?
強化学習モデルは、教師あり学習および教師なし学習とは異なり、特定の環境下で機械学習システムが適切な判断を下した場合は報酬を与え、不適切な判断を下した場合はペナルティを与えるという学習方法です。こうした試行錯誤の繰り返しからモデルが学習し、適切な判断のみを下せるようにすることが目的です。強化学習の研究は盛んに行われてきましたが、その用途の多くは依然として理論または研究分野に限られており、性質的に実用化には適していません。たとえば、強化学習はチェッカーやバックギャモンなどのゲームをマシンに習得させるために使用されていますが、産業分野への応用には向いていません。というのも、機械学習は動作の適不適を着実に学習していきますが、その過程で発生する大量の間違いを組織は許容できないからです。強化学習モデルを繰り返しトレーニングすると予期せぬ結果になることが多く、そこでモデルは途中局面での報酬を最大化するよう次善策を探しますが、モデルに設定された全体的な目標を達成できないことが多々あります。原則に従うと、こうした種類のモデルのトレーニングは、他の機械学習モデルよりもかなり複雑になると考えられます。
機械学習モデルの構築方法
機械学習モデルは、次の手順に従っていくつかの重要な質問に答えながら構築するのが理想的です。
- 問題を分析する:機械学習は、ビジネス上の問題を分析し、その解決に機械学習が適切かどうかを判断するところから始まります。機械学習は、その問題に対する適切なソリューションですか?そのソリューションを構築する方法を十分に把握していますか?モデルの構築を開始するのに役立つチュートリアルにアクセスしてみましょう。
- データを分析する:トレーニングデータは用意できていますか?データ量はどの程度ありますか?ラベル付きですか?ラベル無しですか?構造化データですか?非構造化データですか?データの品質には、機械学習モデルが学習するのに適した高い水準が確保されていますか?
- データを収集しクリーニングする:このステップでは、ラベルが適切であること、データに偏りがないこと、その問題のパラメーターに適合することを確認します。
- アルゴリズムを選択しモデルをトレーニングする:機械学習による問題解決用に多くの標準的なアルゴリズムが用意されています。多くのモデルのトレーニングでは、候補となるアルゴリズムを選択し、トレーニング用データセットと検証データでテストします。特に機械学習モデルの構築の経験が少ない場合は、この段階で試行錯誤を繰り返します。
- 新しいデータでモデルをテストする:別のテストデータセットでモデルを検証します。期待どおりのパフォーマンスですか?精度は想定した許容範囲内ですか?この段階では、モデルの結果に偏りや歪みがないかテストすることも重要です。
- モデルを本番環境に移行する:モデルを検証したら、実際に使えるようになります。ただし、構築のステップはまだ完了していません。過学習や偏りなどの問題を軽減し、期待どおりのパフォーマンスを得るために、モデルのテストとベンチマーク評価を継続的に行う必要があります。
- 必要に応じて調整する:モデルのトレーニング後、入力されるデータが変化していませんか?精度を確保するために、新しいデータで再トレーニングしなければならない場合があります。精度やパフォーマンスを向上させる新しいアルゴリズムが公開されていませんか?それらを調査し、必要であれば、モデル構築のプロセスを再び実行して新しいアルゴリズムを組み込む必要があります。
機械学習市場は今後どのように成長していくのか?
機械学習は、用途の多様化に伴い市場も巨大化しており、私たちの日常生活でもさまざまな形で活用されています。機械学習がテクノロジー、ビジネス、消費者生活のほぼすべての側面に拡大し続けていることから、2021年に150億ドルだった市場は2029年までに2,090億ドルに達すると予想されています。機械学習に関連する新しいテクノロジーが、こうした成長の大部分を牽引しています。自動機械学習(AutoML)により、ユーザーは高度な専門知識がなくても機械学習モデルを簡単にトレーニングできるようになったほか、高品質なデータの量が世界的に増えていることによりモデルの精度が高まった結果、対象分野での有用性が向上しています。
IT/オブザーバビリティに関する予測
驚きに勝るものはありません。すべてを受け止める準備を整えておきましょう。Splunkのエキスパートが予測する、来年の重要なトレンドをご確認ください。