DEVELOPER’s BLOG

技術ブログ

機械学習とは?学習の種類や予測プロセスの紹介

2019.11.22 入江 佳輝
コラム 機械学習
機械学習とは?学習の種類や予測プロセスの紹介

もくじ

機械学習の概要

  機械学習とは与えられたデータからデータに潜む規則性を自動的に発見し、データの分類や未知のデータの予測をコンピュータの計算手法を利用して行うことである。データから予測を行うとき、扱うデータによっては膨大な規則を用いたり、人力では見つけることの難しい規則が存在したりするので、人間だけでは予測が困難な場合があるが、それをコンピュータの計算に落とし込むことで予測が容易になる。機械学習を用いてデータの予測を可能にすることよって、以下の例のように私達の生活の中で大きな役割を果たしているのである。

  • 工場の製造ラインでの不良品検出
  • 株価の予測
  • ECサイトでのレコメンド機能

人工知能と機械学習の違い

 機械学習と並べて話題に出されるものとして、人工知能が挙げられる。人工知能とは人間が行っている言語理解や推論、問題解決などの知的な活動をコンピュータに行わせる技術である。人工知能と機械学習は、一見すると同じようなものに聞こえる。しかし、機械学習はある特定の分野においてデータに基づいて予測の結論を下すため、人工知能における人間の知的な活動のすべてを網羅しているわけではない。つまり、人工知能の一つのトピックとして機械学習が位置づけられる。 AIと機械学習の関係性

機械学習の種類

機械学習は主に以下の3種類に大別される。

  1. 教師あり学習
    教師あり学習とは予測するものの正解が分かっているデータに対して未知のデータの予測をする機械学習である。教師あり学習の中にはデータをカテゴリ別に分ける決定境界を引く分類と、カテゴリではなく、入力のデータからどのような値をとるか予測する回帰モデルを求める回帰の2種類の方法が存在する。工場の生産ラインで、部品の形状などから不良品かどうか判別するのは分類であり、今までの株価の変動から将来の株価を予測するのは回帰だと言える。 教師あり画像

  2. 教師なし学習
    教師あり学習に対して、教師なし学習正解の無いデータから情報を見つけることを目的とする機械学習である。教師なし学習はデータのみからグループ分け(クラスタリングなど)やデータの次元縮減(例えば、空間上の3次元のデータを平面上の2次元のデータとして写すなど)をすることで、データの隠れた構造を見つけ出す手法と言える。ECサイトでの顧客の購買行動から、一緒に買われているものを見つけ出して提案するレコメンドは教師なし学習である。

  3. 強化学習
    強化学習エージェントと呼ばれるシステムと環境とがやり取りをすることで行われる機械学習である。エージェントは何かしらの行動をすることによって環境から報酬を得ることができ、この報酬が最大になるように自身のシステムを改善していく 。ラベルや値などの決まった正解は無いが、エージェントの行動の出来を数値化して学習を進めていく。 強化学習

機械学習のプロセス

 ここで、機械学習がどのようなプロセスで予測まで行われるのか説明する。

  1. データの収集
    まず必要なのはデータの収集である。当然、データから何かを予測するためにはそのためのデータを集計しなければならない。
  2. データの前処理
    ほとんどの場合、実際に学習を始める前に、データに対して前処理を行っておく。機械学習を行う上では予測に必要な情報だけを抽出しておくことで、この後の学習の段階でコンピュータが行う計算を簡潔にすることができる。例えば用いるデータが画像ならば、画像のサイズの拡大や縮小、回転などすることで前処理を行う。 機械学習では予測したい情報に対して、それを特徴づける他の情報を特徴量と呼ぶ。そのため、前処理のことを特徴抽出と呼ぶこともある。
  3. 学習
    前処理によって抽出した特徴量を用いて学習を行う。予測したい情報に合わせて予測に用いる計算手法を選び、その後データを入力して結果を出力する規則算出する。この規則を作るために用いる計算手法やルールをモデルと呼び、ここで用いられるデータは訓練データと呼ばれる。この学習のモデルをどう構築するかによって予測の精度が大きく変わってくる。
  4. 精度の評価
    学習したモデルに対してどのぐらいの精度で予測が成功しているのか評価する必要がある。そのため先程学習で使った訓練データとは別に、テストデータを用いて精度を測定する。これによって、学習に用いてないデータに対しても良い精度が出ているか(汎化という)を確認する。精度が悪ければ、もう一度モデルの構築や場合によってはデータの収集に戻って学習を繰り返す。
  5. 未知のデータに対して予測
    良い精度のモデルが得られたのならば、それを用いて新たに得られる未知のデータに対して予測が行うことができる。

機械学習のこれからの発展

冒頭で示した例から分かる通り、機械学習は今もなお研究され続けられている分野であり、また今後も発展していく分野であることが分かる。最近ではPythonやRなどのデータサイエンスの分野で用いられることの多いプログラミング言語に便利なライブラリが用意されている。特にPythonは多次元配列の高速なベクトル演算を可能にするNumPyや、機械学習ライブラリとしてscikit-learn などを用いることで、オープンソースのライブラリを使って簡単に機械学習のプログラムを実装することができる。他にも表形式のデータ操作を可能にするpandasやデータの可視化を実現するmatplotlibも存在し、Pythonのライブラリの発展とともに、高度な機械学習プログラミングが可能となっていく。

まとめ

今回の記事では以下のことを述べた。

  • 機械学習の簡単な説明
  • 人工知能と機械学習の違い
  • 機械学習の3つの分類である教師あり学習、教師なし学習、強化学習について
  • 機械学習とPythonのライブラリの発展

機械学習は人間では困難な膨大なデータからの予測を可能にし、私達の生活の中で重要な役割を担っている。また研究がされていくことで、より機械学習が発展していきよりよいサービスが創造されていくに違いない。

関連記事

SREとは?現代のITインフラを支える新しいアプローチ

はじめに SREとは? SREと従来のIT運用との違い なぜSREが重要なのか? SREの導入事例:Googleの成功事例 SREの課題と克服 最後に 1.はじめに 「SRE」(Site Reliability Engineering) という言葉を聞いたことがあるでしょうか? IT業界に携わっている方なら、特に耳にする機会が増えたかもしれません。 SRE(サイト信頼性エンジニアリング)は、今注目すべきトピックのひとつです。

記事詳細
SREとは?現代のITインフラを支える新しいアプローチ
SRE コラム
SREでSEOの最適化ができるのか!?:サイト運営の新たな(新技術)視点

はじめに SREとSEOの重要な関連性 技術的アプローチ:SREによるSEO改善の戦略 まとめ 1.はじめに 最近、Googleが「Core Web Vitals」を検索アルゴリズムの重要な指標として組み込んだことで、サイトのパフォーマンスや信頼性などSEOに与える影響が一層注目されるようになりました。これまで、マーケティング部としてSEO対策といえばキーワードやコンテンツの最適化が主な取り組みでしたが、それだけでは十分ではない時代に突入

記事詳細
SREでSEOの最適化ができるのか!?:サイト運営の新たな(新技術)視点
SRE コラム
システム運用の未来を変える!SREのメリットとは?

はじめに SREとは? SREのメリット SREのデメリットと対策 まとめ 1.はじめに 現代のITシステムにおいて、システムの信頼性は企業にとって最も重要な要素の一つです。サービスの停止や障害は、顧客満足度の低下や収益損失に直結するため、システムを安定して稼働させることが求められています。しかし、システムの複雑化や運用業務の負担増加により、信頼性を確保するのは容易ではありません。 この課題を解決するために注目されているのが、SRE(

記事詳細
システム運用の未来を変える!SREのメリットとは?
SRE コラム
SREとは何か? システム運用から顧客体験を向上させる秘訣

はじめに システムの健康診断を超えて:SREの価値とは? SREがもたらす「攻め」の価値:エラーバジェットの考え方 顧客体験向上に直結するSREの役割 総合診療としてのSRE:ビジネスとシステムの架け橋 SREの未来:システム運用を超えた価値創造 まとめ 1.はじめに SRE(Site Reliability Engineering)は、単なるシステム運用の効率化や信頼性向上に留まりません。ビジネスの要求に応えつつ、顧客体験を

記事詳細
SREとは何か? システム運用から顧客体験を向上させる秘訣
SRE コラム

お問い合わせはこちらから