機械学習

menu icon

機械学習

機械学習は、経験から学習し、意思決定や予測精度を時間とともに改善するアプリケーションに焦点を当てます。

機械学習とは

機械学習は、人工知能(AI)の一分野であり、プログラミングを行わなくても、データから学習して時間とともに精度が向上するアプリケーションの構築に重点を置いています。 

データサイエンスにおいて、アルゴリズムとは一連の統計処理ステップのことです。 機械学習では、アルゴリズムは、膨大な量のデータからパターンや特徴を見つけ、新しいデータに基づいて決定や予測を行えるようにするために「トレーニング」されます。 より優れたアルゴリズムであるほど、より多くのデータを処理するにつれ、より正確な決定や予測を行えるようになります。

今日、機械学習の例はいたるところにあります。 デジタル・アシスタントは、音声コマンドに反応してWebを検索し音楽を再生します。 Webサイトは、過去の購入、閲覧、または聴取を基に、製品や映画、歌を提案してくれます。 他のもっと好きなことをしている間に、ロボット掃除機に床を掃除しておいてもらうことができます。 スパム検出機能は、不要なEメールが受信トレイに届かないようにしてくれます。 医療画像解析システムは、医師が見落としたかもしれない腫瘍を見つけるのに役立ちます。 そして、初の自動運転車が道路を走っています。

さらに多くのことが期待されます。 ビッグデータがますます大きくなり、コンピューティングがより強力かつ手頃になり、データサイエンティストがより優れたアルゴリズムを開発し続けるのに伴い、機械学習は、人々の生活や仕事での効率をますます高めてくれることでしょう。 

機械学習の仕組み

機械学習アプリケーション(またはモデル)を構築するためには4つの基本的なステップがあります。 これらのステップは通常、開発しているモデルの対象となるビジネスのプロフェッショナルと緊密に連携している、データサイエンティストが実行します。

ステップ1: トレーニング・データ・セットの選択と準備

トレーニング・データは、機械学習モデルが扱う問題を解決するために取り込むデータを表すデータ・セットです。 場合によっては、トレーニング・データはラベル付きデータとなっています。つまり、モデルが識別する必要がある特徴量と分類が「タグ付け」されています。 その他のデータはラベルなしです。この場合、そうした特徴量の抽出と分類の割り当てを、モデル自体で行う必要があります。

いずれの場合も、トレーニング・データを適切に準備する必要があります。ランダム化と重複解除を行うとともに、トレーニングに影響を及ぼす可能性のある不均衡あるいはバイアスがないかをチェックします。 さらに、トレーニング・データは2つのサブセットに分ける必要があります。 1つは、アプリケーションをトレーニングするために使用されるトレーニング・サブセットで、もう1つは、アプリケーションのテストと改良に使用される評価サブセットです。

ステップ2: トレーニング・データ・セットで実行するアルゴリズムの選択 

繰り返しになりますが、アルゴリズムは一連の統計処理ステップです。 アルゴリズムのタイプは、トレーニング・データ・セットに含まれるデータのタイプ(ラベル付きまたはラベルなし)と量、そして解決する問題のタイプによって異なります。

ラベル付きデータに使用される、機械学習アルゴリズムの一般的なタイプには、以下があります。

  • 回帰アルゴリズム: 線形回帰とロジスティック回帰は、データ間の関係を理解するために使用される回帰アルゴリズムの一部です。 線形回帰は、独立変数の値に基づいて従属変数の値を予測するために使用されます。 ロジスティック回帰は、従属変数が2値に分類可能な場合に使用できます (例:AまたはB)。 例えば、線形回帰アルゴリズムは、販売員の年次売上(従属変数)を、販売員の教育または経験年数(独立変数)との関係に基づいて予測するために訓練することができます。サポート・ベクター・マシンと呼ばれる別のタイプの回帰アルゴリズムは、従属変数を分類することがより難しい場合に有用です。
  • 決定木:決定木は、分類されたデータを使用して、一連の決定ルールに基づいて推奨事項を作成します。 例えば、競馬で特定の馬のWin(1着)、Place(2着までに入る)、またはShow(3着までに入る)に賭けることを推奨する決定木の場合、馬に関するデータ(年齢、勝率、血統など)を使用し、それらの要素にルールを適用して、アクションまたは決定を推奨できます。
  • インスタンス・ベースのアルゴリズム:インスタンス・ベースのアルゴリズムの良い例としては、k近傍法(K-nn)があります。 分類を使用して、データ・ポイントが、あるグループまたは別のグループのメンバーになる可能性を、他のデータ・ポイントへの近似性に基づいて推定します。

ラベルなしデータに使用されるアルゴリズムには、以下のものがあります。

  • クラスタリング・アルゴリズム:クラスターをグループとして考えます。 クラスタリングは、類似のレコードのグループを識別し、それらが属するグループに従ってレコードをラベル付けすることに焦点を当てます。 これは、グループとその特性に関する事前の知識なしで行われます。 クラスタリング・アルゴリズムのタイプには、K平均、TwoStep、およびKohonenクラスタリングがあります。
  • アソシエーション・アルゴリズム:アソシエーション・アルゴリズムは、データ内のパターンと関係を見つけ、アソシエーション・ルールと呼ばれる頻繁な「if-then」関係を識別します。 これらはデータ・マイニングで使用されるルールに似ています。
  • ニューラル・ネットワーク:ニューラル・ネットワークは、計算のレイヤー化されたネットワークを定義するアルゴリズムです。1つの入力レイヤー(データを取り込む)、少なくとも1つの隠れレイヤー(計算を実行して、入力に対しさまざまな結論を出す)、および1つの出力レイヤー(結論それぞれに確率が割り当てられる)で構成されます。 ディープ・ニューラル・ネットワークは、複数の隠れレイヤーを持つネットワークを定義します。個々の隠れレイヤーが前のレイヤーの結果を次々に改良します。(詳しくは、下記の「ディープ・ラーニング」セクションを参照してください。)

ステップ3: アルゴリズムをトレーニングしてモデルを作成

アルゴリズムのトレーニングは反復的なプロセスとなります。アルゴリズムを使用して変数を実行し、出力と期待される結果とを比較し、より正確な結果が得られる可能性のあるアルゴリズム内で重みとバイアスを調整し、変数を再度実行する、ということを、アルゴリズムがほぼ毎回正しい結果を返すようになるまで繰り返します。 結果として得られるトレーニング済みの正確なアルゴリズムが、機械学習モデルです。「アルゴリズム」と「モデル」は機械学習の専門家によってさえ混同されるため、区別するように注意してください。

ステップ4: モデルの使用と改良  

最後のステップとなるのは、新しいデータでモデルを使用することです。うまく進めば、時間とともにモデルの精度と有効性は向上していきます。 新規データの取得元は、解決される問題によって異なります。 例えば、スパムを識別するために設計された機械学習モデルであれば、Eメール・メッセージを取り込みます。一方、ロボット掃除機を駆動する機械学習モデルの場合は、部屋の中の移動された家具や新たに置かれた物との、実世界における相互作用によって得られたデータを取り込みます。

機械学習 の手法

機械学習の 手法(機械学習スタイルとも呼ばれる) は3つの主要なカテゴリーに分類されます。

これらのアプローチの違いを深く掘り下げるには、「教師あり学習と教師なし学習の相違点」をご確認ください。

教師あり学習            

教師あり学習は、ラベル付きデータ ・セットを使用してトレーニングを行います。 つまり、データには、機械学習モデルがそのデータをどう判断すべきかを示す情報のラベルが付けられます。ラベルの情報は、モデルがそのデータをどのように分類すべきかまで示していることもあります。 例えば、純血種のジャーマン・シェパード犬を識別するために設計されたコンピューター・ビジョン・モデルは、ラベル付きのさまざまな犬の画像のデータ・セットを使って訓練されるでしょう。

教師あり学習では、他の機械学習 の手法と比べてトレーニング・データは少なくてすみます。また、モデルの結果をラベル付けされた実際の結果と比較することができるため、トレーニングは容易になります。 しかし、適切にラベル付けされたデータは準備にかかる費用が高く、また、オーバーフィッティング(作成されたモデルがトレーニング・データに非常に密接に結び付けられバイアスがかかっているため、新しいデータの変動を正確に処理できない状態)が発生するおそれがあります。

教師あり学習の詳細はこちらをご覧ください。  

教師なし学習

教師なし学習は、ラベルなしのデータを非常に大量に取り込みます。そして、アルゴリズムを使用して、人間の介入なしに、データをリアルタイムでラベル付け、ソート、分類するために必要な特徴量を抽出します。 教師なし学習は、意思決定や予測を自動化するためというよりも、人間が見落とすようなデータのパターンや関係性を特定するためのものです。 例えば、スパム検出が挙げられます。人々が作成するEメールは、データサイエンティストのチームが一生かかってもラベル付けまたは分類することができないほど大量です。 教師なし学習アルゴリズムを使用すれば、膨大な量のEメールを分析して、スパムであることを示す特徴量やパターンを明らかにすることができます(また、時間とともに、スパムのフラグ付けの精度が向上します)。

教師なし学習の詳細はこちらをご覧ください。

半教師あり学習 

半教師あり学習は、教師あり学習と教師なし学習の折衷案です。 トレーニングの際、比較的少量のラベル付きデータ ・セットを使用することで、より大量のラベル付けされていないデータ・セットの分類と特徴量の抽出をガイドできます。 半教師あり学習は、教師あり学習アルゴリズムをトレーニングするのに十分なラベル付きデータがない(または十分なデータにラベルを付ける余裕がない)という問題を解決できます。 

強化学習

強化学習は、行動 学習モデルです。教師あり学習と似ていますが、アルゴリズムはサンプル・データを使用して訓練されません。 このモデルは、試行とエラーを通じて学習します。 決定の成功が続くとそのプロセスが強化されていき、所定の問題に最適な推奨事項または方針を策定できるようになります。

2011年にジェパディ!の対戦に勝利したIBM Watson®システムは、良い例を示しています。 このシステムは、回答を試すかどうか、ボード上でどのマスを選択するか、そして賭けの程度(特に独占的に回答権が与えられるデイリー・ダブル)を決定するために、強化学習を活用しました。

強化学習の詳細はこちらをご覧ください。   

ディープ・ラーニング

ディープ・ラーニングは機械学習のサブセットです(すべてのディープ・ラーニングは機械学習ですが、すべての機械学習がディープ・ラーニングというわけではありません)。 ディープ・ラーニングのアルゴリズムは、人の脳の学習方法を学習する人工ニューラル・ネットワークを定義します。 ディープ・ラーニング・モデルでは、大量のデータに対し、何層にもわたる計算を実行する必要があります。次の層に進むたびに重みとバイアスを適用して、結果を継続的に調整して改良します。

ディープ・ラーニング・モデルは通常、教師なし学習または半教師あり学習です。 強化学習モデルも、ディープ・ラーニング・モデルである場合があります。 特定の種類のディープ・ラーニング・モデル(畳み込みニューラル・ネットワーク(CNN)、反復ニューラル・ネットワーク(RNN) など )は、コンピューター・ビジョン、自然言語処理(音声認識など) 、自動運転車などの分野で進歩を推進しています。 

ブログ記事「AI、機械学習、ディープ・ラーニング、ニューラル・ネットワークの相違点」で、これらのさまざまな概念がどのように関連しているかについて、詳細をお読みください。

ディープ・ラーニングについての詳細をご覧ください。                                                               

機械学習の実用事例

冒頭で述べたとおり、機械学習はいたるところにあります。 ここでは、日常的に遭遇する可能性のある機械学習の例をいくつか挙げます。

  • デジタル・アシスタント:Apple Siri、Amazon Alexa、Google Assistantをはじめとするデジタル・アシスタントは、自然言語処理(NLP)を活用しています。これは、コンピューターがテキストと音声のデータを処理して、人間の言語を人のように「理解」できるようにする、機械学習アプリケーションです。 自然言語処理は、GPS や音声認識(音声のテキスト変換)ソフトウェアなどの音声に基づくアプリケーションでも活用されています。
  • 推奨事項: ディープ・ラーニング・モデルは、Amazon、Netflix、Spotify、 その他の小売業、娯楽業、旅行業、求人検索、ニュース・サービスによって提供される、関連項目の推奨やユーザー用にカスタマイズされた推奨で活用されています。
  • オンラインのコンテキスト広告: 機械学習モデルとディープ・ラーニング・モデルは、Webページのコンテンツを評価することができます。そこで扱われているトピックだけでなく、著者の意見や姿勢などのニュアンスを評価し、訪問者の興味に応じた広告を提供します。
  • チャットボット: チャットボットは、パターン認識、自然言語処理、ディープ・ニューラル・ネットワークを組み合わせることで、入力テキストを解釈し、適切な応答を提供することができます。
  • 不正行為の検出: 機械学習の回帰モデルと分類モデルは、ルール・ベースの不正検出システムに取って代わりました。ルール・ベースのシステムは、盗難クレジット・カードの使用にフラグを立てる際に偽陽性が多く、そのうえ盗難または侵害された金融データの犯罪への利用を検知できることは、ほとんどありません。
  • サイバーセキュリティー:機械学習は、インシデント・レポート、アラート、ブログ投稿などから情報を抽出して、潜在的な脅威を特定し、セキュリティー・アナリストに助言を提供し、対応を加速することができます。
  • 医療画像解析:  デジタルな医療画像データは、その種類も量も急増しています。診断をサポートするために使用できる情報が増える一方で、データを読み取る際にヒューマン・エラーが起きる可能性も高まります。 畳み込み ニューラル・ネットワーク(CNN)、再帰型ニューラル・ネットワーク(RNN)などのディープ・ラーニング・モデルは、的確な診断をサポートするための、医療画像からの特徴量と情報の抽出において、ますます成果をあげていることが実証されています。
  • 自動運転車: 自動運転車には機械学習の離れ技が必要です。車両の周囲の環境にある物体を継続的に識別し、それらがどのように変化または移動するかを予測し、そうした物体の周囲で車を適切に誘導しつつ、ドライバーの目的地に向かっても誘導する必要があります。 実質的に前述したほぼ全ての機械学習やディープ・ラーニングのアルゴリズムが、自動運転車の実現において何らかの役割を果たしています。

機械学習とIBM Cloud

IBM Watson Machine Learningは、機械学習のライフサイクルをエンドツーエンドでサポートします。 これは、さまざまなオファリングでご利用可能で、お客様のデータが存在する場所ならどこでも機械学習モデルを構築して、ハイブリッド・マルチクラウド環境のあらゆる場所に導入できます。 

IBM Cloud Pak for Data上のIBM Watson Machine Learningは、企業のデータサイエンスとAIのチームが、データとAIのためのクラウドネイティブなプラットフォームのどこでも、より迅速にAIの開発と導入ができるよう支援します。 IBM Cloud環境のマネージド・サービスであるIBM Watson Machine Learning Cloudは、デスクトップ上での実験から、実動ワークロード向けのデプロイメントまで、モデルを移動するための最速の方法を提供します。 機械学習の実装の拡大を検討している小規模のチームは、IBM Watson Machine Learning Serverを、どのプライベートクラウドにもパブリック・クラウドにも簡単に導入できます。

開始するには、IBMidを登録し、IBM Cloudのアカウントを作成してください。