スライドショースライドショースライドショー

【10分でわかる】機械学習とは何か?どこよりも簡単にわかりやすく解説!

どうも!インストラクターの佐野です。

人工知能を学習すると「機械学習」を学習することになりますが、ものすごく難しいと感じる方が多いようで、

機械学習って何?
さっぱりわからない...
全然理解できない...

など、お困りの声をよくいただきます。

たしかに、機械学習は専門的な知識が必要になるのでなかなか理解できませんよね。そこで今回は、機械学習について10分で理解できるようにどこよりもわかりやすく解説します!

人工知能の学習にお役立つこと間違いないでしょう。

【こんな方に向けて書きました】

  • 未経験から機械学習について学びたい
  • 機械学習の難解さに頭を抱えている

簡単に言えば、機械学習とは人間の学習能力をコンピューターで再現しようとすること

Wikipediaによれば、機械学習とは「人工知能における研究課題の一つで、人間が自然に行っている学習能力と同様の機能をコンピュータで実現しようとする技術・手法のことである」とされています。もっと簡単に言えば、機械を使って、人間のように「データからパターン(特徴)を見つけ出させること」です。

例えば私たち人間は、目から得る視覚的な情報を瞬時に脳で処理しています。猫を見ればすぐに猫だと分かりますし、犬を見ればすぐに犬だと分かります。4本足で形が似ている動物ですが、姿や形、大きさ、色や鳴き声といった特徴(パターン)から、猫なのか犬なのか判断しています。こうした判断を私たちは小さい頃からこうした動物を目にすることで学習していきます。

しかし、人間の目や脳と異なり、コンピューターはデジタルな情報しか扱えません。そのため特徴を見つけ出すことがとても難しく、「猫は体長が◯◯cm~◯◯cm程度で、足の長さは◯◯cm~◯◯cm程度で...」という具合に、数字で定義しなければなりません。ところが動物は同じ種類でも個体差があるので、猫と犬を見分けるプログラムを作るために、それぞれの特徴を一つ一つ人間がコンピューターに教えるのは不可能です。

そこで、人間が詳細なルールを与える代わりに、大量のデータと、自分で分析・解析ができるアルゴリズムを与えることで、人間の学習能力と似たような作業を行えるようにするのが、機械学習なのです。

機械学習・AI・ディープラーニング・ニューラルネットワークの違いとは

機械学習と聞くと、「AIやディープラーニング、ニューラルネットワークとどう違うの?」という疑問が湧いてくるでしょう。これらはよく似たような文脈で語られるので混同してしまいがちですが、それぞれ同じ分野の違うカテゴリーを指す言葉です。

簡単に言えば、AI(人工知能)という分野の一つが機械学習であり、機械学習の手法の一つがディープラーニングです。そして、ディープラーニングを行うために、ニューラルネットワークという仕組みを使います。

それぞれもう少し詳しくみていきましょう。

画像:機械学習・AI・ディープラーニング・ニューラルネットワークの違い

AI(人工知能)

AI(人工知能)とは、機械に人間のような動作や判断をさせようとする試み全般を指します。人間の自然に行っている思考や行動などを、アルゴリズムや数値などで置き換えることで、機械が実行できるようにするのを目指します。

機械学習は、こうした取り組みの一分野を指す言葉です。

ディープラーニング

ディープラーニングとは、人間のニューロンを模した「ニューラルネットワーク」というものを使うことで、より高度で複雑な分析ができるようにしたものです。大量のデータを与えることで、人間が答えを与えなくても、マシンが自動でパターンを定義してくれます。

ディープラーニングの代表例としては、囲碁で世界チャンピオンを破った「アルファ碁」や、音声認識などが挙げられます。

ニューラルネットワーク

ニューラルネットワークとは、人間のニューロンをアルゴリズムと数値で置き換えたものです。

ニューラルネットワークは、データを入力する入力層と、結果を出力する出力層、そしてそれぞれのデータを分析する隠れ層(中間層)で構成されます。この隠れ層がたくさんあるほど、より高度な分析ができるようになります。

ディープラーニングに使われるニューラルネットワーク(ディープニューラルネットワーク)は、この隠れ層の数がそれまでより圧倒的に多いのが特徴です。

機械学習の種類とは

機械学習には、いくつかの種類があり、大きく分けると「教師あり学習」「教師なし学習」「強化学習」の3つがあります。

教師あり学習

教師あり学習とは、あらかじめデータと特徴を紐付けておき、新しいデータがどこに分類されるかを予測する手法です。問題(データ)と答え(特徴)を教えることが教師の役割をたしているので「教師あり学習」と呼ばれ、メールのスパムフィルターや、明日の天気や気温の予測といったことに用いられています。

教師あり学習は一般的に「過去のデータから将来起こりそうな事象を予測すること」に使われます。過去のデータを元に特徴の基準(モデル)を学習して新しいデーターに適用させ、判別を行うのです。

教師あり学習のイメージは以下のようなものです。
ks_credo02

上の図を見ると、教師あり学習をイメージしやすいでしょう

教師なし学習

教師なし学習とは、与えられたデータから規則性を発見して学ぶ手法です。おすすめのメニューや商品を紹介する「レコメンド機能」や電子メールの分類などに使われています。

教師あり学習はあらかじめ正解を与えていましたが、教師なし学習は正解を導き出すことを目的としており、正解・不正解が存在しません。

ある一定の基準をデータに与えて、データの分布状況を学習します。新しいデータがどのグループの特徴に近いか判別し、データの精度を上げていきます。基準にするデータを人間が与えるので、精度を上げることがとても難しくまさに職人技といえるでしょう。

強化学習

強化学習は、どのような行動をとれば報酬を最大でもらえるかということを学習していきます。次に何をするか無数の選択肢があり、明確な答えをあらかじめ与えることが難しい問題に使われており、分かりやすい例でいうと囲碁や将棋などのAIで利用されています。
22b407c9-79a9-8333-4aa3-9710fe08ac66

引用元: Qiita: ゼロからDeepまで学ぶ強化学習 https://qiita.com/icoxfog417/items/242439ecd1a477ece312

強化学習は教師あり学習に似ていますが、違いは答えを与えるかどうか。教師あり学習では明確な「答え」を与えますが、強化学習では与えません。その代わりに「行動」と「報酬」を与えます。行動を繰り返し、報酬が大きくなった行動に高いスコア、報酬がもらえなかった行動に低いスコアつけていくことで、その場面で最も効率がいい行動をとれるようになっていきます。

機械学習の5つの用途とは

機械学習には、大きく分けて以下の5つの用途があります。

  • 分類
  • 回帰
  • 次元削減
  • クラスタリング
  • レコメンデーション

それぞれ詳しくみていきましょう。

分類

分類とは、分析したいデータがどのカテゴリーに当てはまるのかを予想することです。

例えば、画像に写っている動物が「犬」なのか「猫」なのか、一定のデータに基づいた顧客が新規商品を購入するか否か、ある一定のデータが揃った時にどのような天候になるかなどを予想するのに使われます。

回帰

回帰は、様々なデータを下に新規の数値を予想することです。

例えば、広告費をどのくらい増やせば売り上げがどれくらい伸びるのか、過去のデータに基づいた地価予想などを行えます。

次元削減

次元削減とは、文字通りデータの次元を少なくしていくことです。たとえば、身長と体重のデータを、「体格」という形で一つにまとめるなど、データの分量を少なくすることを指します。

次元削減を行うことで、データの圧縮やデータの可視化がしやすくなるというメリットがあります。

クラスタリング

クラスタリングとは、データをある一定の規則に基づいてわけることです。

「分類」に似ていますが、「分類」があくまで答えを与えられたもの(教師あり学習)であるのに対し、こちらは、マシンが自分で共通するパターンを見つけ出します(教師なし学習)。顧客情報の分析や、ソーシャルネットワーク上の繋がりのグルーピングなどに使われます。

レコメンデーション

レコメンデーションとは、その名の通り「おすすめ」機能です。

データの中から特定のデータと似た特徴のものを見つけ出すことで、顧客の嗜好やニーズにあった別の商品などをお勧めすることに使われます。主にECサイトで多く使われる機能です。

機械学習がなぜ注目されるのか?

機械学習が注目される大きな理由大量のデータから自動的に短時間で正確な結果を得ることができること」が真っ先に挙げられます。

大量の複雑なデータを人力で分析することはとても大変な作業なうえ、とても非効率です。ところが近年、コンピューター自身の処理速度が上がり大規模なデータを扱えるようになったうえ、低価格化が進んで扱いやすくなったため、コンピューターが自動的に短時間でデータを分析してくれる機械学習が注目を集めるようになりました。

機械学習を利用すれば、マーケティングやビジネス戦略に活かし収益増加を狙ったり、将来起こりそうなリスクをあらかじめ回避することができます。これは、ビジネスをするうえで非常に重要です。

機械学習が使われている事例

ここで、機械学習がどのような場面で使われているのか、身近な例を元に説明していきます。

メールのスパムフィルター

迷惑メールによく使われる単語と出現確率を元に、スパム非スパムの分類を実施しています。メールフィルタの仕組みとしてよく知られるペイジアンフィルタを利用し、手がかりとなる言葉を分類辞書に記録して判定用スコアを加算。

スコアが一定の値を超えた物を分類します。迷惑メールの場合、無料・激安・ブランド・アダルト・出会いといった単語を手がかりに、分類します。

商品レコメンド

インターネット上のECサイトで買い物をしていると、よく表示されるおすすめアイテム。データから特徴や傾向を分析し、アイテム同士の類似度計算に機械学習が使われています。

顔認識

デジタルカメラやスマートフォンの顔認識にも、機械学習が使われています。コンピューターは、膨大な数のラベル付きの画像を元に特徴を覚え、顔を認識していきます。ラベル付きの画像が教師の役割を果たします。

自動運転

話題の自動運転技術には、さまざまな機械学習の手法が使われています。深層強化学習を使った自動運転技術もその一つ。

取り付けられたたくさんのセンサーからデータを取得し、さまざまなシチュエーションを学習しながら、運転を学んでいきます。詳しくはこちらをご覧ください。

【AI入門】今話題の自動運転!AIはどう使われているの?
更新日 : 2020年3月3日

機械学習に使われるPythonとは?

機械学習のプログラムを作る際、一般的に使われているのがPythonという言語です。Pythonは、プログラミング初心者の学習に使われるほど簡単な言語であり、コンパイリング(言語の書き換え)などの手間がいらないことから、機械学習に欠かせない言語になっています。

また、Pythonの特徴として、ライブラリやフレームワークが充実しており、ゼロから開発をしなくても様々なプログラムが作れるのも人気の理由の一つとなっています。

Pythonについてもっと学びたい方は、こちらの記事も参照してみてください。

Pythonとは?特徴やメリット・勉強法を解説【初心者向け】
更新日 : 2020年8月27日

機械学習を学習したいけど何から始めたらいい?

機械学習とは何かを本を読んで学びたい人はこちらがおすすめ

初心者向け

人工知能は人間を超えるか(角川EPUB選書)

人工知能をゼロから学べる入門書。機械学習はもちろん、ディープラーニングや人工知能の歴史まで網羅し、人工知能の概要をこの一冊で知ることができます。

深層学習教科書 ディープラーニング G検定(ジェネラリスト) 公式テキスト

ディープラーニングG検定の対策本。人工知能や機械学習の基礎的な情報が一冊にまとまっています。数式がほとんど出てこないので読みやすく、検定を受けない方にもおすすめです。

先に紹介した「人工知能は人間を超えるのか」をセットで読むのがおすすめです。

中級者向け

はじめてのパターン認識

機械の統計や線形代数など数学の話から、実際にPythonのコードで動かす実践まで取り扱っている本です。Pythonの各コードについて、数学の知識とひもづけて解説しているため理解が深まります。

専門的な内容を含むため、初心者には不向き機械学習の概要を理解し、実践する方法を知りたい方におすすめです。

[第2版]Python 機械学習プログラミング 達人データサイエンティストによる理論と実践

機械学習に関する基礎から応用まで取り扱い、機械学習の概念から実装の体験まで実践的な内容になっています。前半では、機械学習の背景にある概念や理論を解説しているため、理解を深めた状態で実装にのぞめます。

紹介するコードはシンプルなものばかりなので、はじめての方でも実装しやすいでしょう。機械学習の実装をはじめたい方にぴったりな本です。

上級者向け

パターン認識と機械学習 下 (ベイズ理論による統計的予測)

パターン認識と機械学習の理論や手法をまとめた本です。特に機械学習についての理論を数学の知識を応用し、解説しています。そのため、この本を理解するには微分積分や統計の基礎知識が必要です。

機械学習の背景にある理論を理解することで、実装にも繋がります。数学の基礎知識があり、機械学習の理解を深めたい方におすすめです。

技術者のための基礎解析学 機械学習に必要な数学を本気で学ぶ

機械学習に関して最も必要とされる、解析学や微積分を体系的に学べます。機械学習に関する全ての知識を解説している訳ではありませんが、機械学習を実装する上での「本質」に迫った本です。

実装に繋がる実用的な内容なので、基礎から学び直したいエンジニアの方や理工系の大学生におすすめです。

機械学習のアルゴリズムについて知りたい人はこちらのサイトがおすすめ

Microsoft Azure Machine Learning のアルゴリズムの選択方法

Microsoftが提供するAzure Machine Learning Studioは、モジュールをドラッグアンドドロップしたり、接続したりして、機械学習を利用できるサービスです。Azure Machine Learningのドキュメントの中にアルゴリズムを紹介しているページがあります。

多くのアルゴリズムが紹介されているため、非常に参考になります!

機械学習アルゴリズム選択ガイド

2択の質問に答えていくことで、「最初に試すべきアルゴリズム」を紹介してくれるチートシートがあります。このチートシートを参照しながら、各アルゴリズムを体系的に理解できるでしょう。

Pythonで機械学習を始めたい人は、こちらのサイトがおすすめ

Aidemy(アイデミー)

引用元:Aidemy https://aidemy.net/

Aidemyは、AI専門のオンラインスクールです。AIに関する様々な講座を扱っています。本来は授業料を支払わないとコースを閲覧することはできませんが、『Python入門』『機械学習入門』『ディープラーニング基礎』の3つのコースは、無料で視聴できます。

AIや機械学習になんとなく興味がある、という初心者の方はここから始めてみると良いでしょう。

PyQ(パイキュー)

PyQは、自分で動画やスライドなどを見ながら自分で学習を進めていく、自習型学習サイトです。Pythonや機械学習の、基礎から実務に使えるレベルまで、幅広い講座が揃っています。

料金は、ライトプラン(月額3,040円)とスタンダードプラン(月額8,130円)の二種類があり、スタンダードプランなら、質問機能によるサポートがつきます。じっくり機械学習について学んでみたい人におすすめです。

Udemy(ユーデミー)

引用元:Udemy https://www.udemy.com/ja/

Udemyは、世界最大のコースラインナップを持つMOOCs(Massive Open Online Courses)です。様々な講師による講座が揃っており、Pythonや機械学習の基礎から、特定のライブラリの活用方法まで非常にラインナップ豊富です。

機械学習に関する講座だけでも600以上あるので(2020年7月時点)、自分にあった講師・トピックを厳選しながら学びたい人におすすめです。

最後に

いかがでしたでしょうか?

機械学習はさまざまな可能性が秘められている重要な技術です。近い将来、日常生活で当たり前のように使われる日はそう遠くないでしょう。ぜひこの機会に学習されてみてはいかがでしょうか?

LINEで送る
Pocket

書いた人

侍ブログ編集部

侍ブログ編集部

侍エンジニア塾は「人生を変えるプログラミング学習」をコンセンプトに、過去多くのフリーランスエンジニアを輩出したプログラミングスクールです。プログラミングに役立つ情報や有用な情報を発信していきます。
サービスページはこちら
ツイッターはこちら
フェイスブックはこちら