レッスン1 / 1問目

『機械学習とは』

はじめに

レッスン機械学習へようこそ
このレッスンでは機械学習を学習するにあたり、機械学習の概要や全体像を見ていきます。

本レッスンでは以下の内容について見ていきます。

  1. 機械学習とは
  2. 人工知能とは
  3. ディープラーニングとは
  4. 数学知識について
  5. 機械学習の三つの分類
  6. 機械学習の手順

では順番に見ていきましょう。

機械学習とは

まずは機械学習の概要について見ていきましょう。

機械学習とは、例えば「大量の猫の画像から猫の特徴を学習し、画像から猫を判別する」といったことや「過去の株価のデータから今後の株価を予測をする」といったように、人工知能のプログラム自身がデータの特徴や傾向を学習する仕組みです。

機械学習の特徴

近年のAIブームで機械学習が注目される理由の一つは、上記で述べた「人工知能のプログラム自身がデータの特徴や傾向を学習する」という点にあります。

ここでは猫の画像を判別するAIを題材に機械学習の特徴である「プログラム自身が学習する」という点について見ていきます。

まずは機械学習を使わずに下記画像をプログラムに認識させる場合を見てみましょう。

機械学習を使わずに、この画像が「猫の画像」であるということをコンピューターに認識させるためには、下記のようにこの猫の「耳の形」や「目の形」、また「毛の色」などの特徴を人間がプログラムに教える必要があります。

このようなやり方では人間が画像の特徴をプログラムに教え込む必要があるため時間とコストがかかり、さらに、人間が手動で特徴を教え込むため画像認識の精度が低くなります。

しかし、機械学習では、猫の特徴をプログラムに教え込む必要はなく、「この画像は猫である」ということを明示するラベル付けを行うだけで画像から猫の特徴をプログラムが自動で学習することができます。

このように、プログラム自身が自動で学習してくれるという点が機械学習の特徴となります。

人工知能とは

人間知能とは人間のように振る舞うプログラムです。

人工知能には、画像認識、音声認識、自然言語処理などの分野があり、画像認識と音声認識はそれぞれ画像と音声を認識する人工知能を指します。また、自然言語処理とは例えばGoogle翻訳のように、日本語や英語のような言語を処理する人工知能を指します。

人工知能の種類説明
画像認識画像を認識する。人間の目に相当する
音声認識音声を認識する。人間の耳に相当する
自然言語処理例)Google翻訳など

上記のように人間に備わっている機能をプログラムに置き換えたようなものを人工知能と呼びます。

ただしこの「人工知能」の定義は非常に曖昧であり、広い意味を持ちます。

例えばif文を連続で並べたようなプログラムでさえも言ってしまえば人工知能ということになります。実際に過去にはそのようなプログラムも人工知能として扱われていました。

しかしながら、現代では機械学習やディープラーニングが使われているものを人工知能と呼ぶのが一般的かと思います。

ディープラーニング(深層学習)とは

近年、人口知能が注目されている大きな理由として、ディープラーニングというアルゴリズム(計算方法)が発見されたことが挙げられます。
ここではこのディープラーニングの簡単な概要、機械学習との関係について説明します。

機械学習は「プログラムが自動で学習する仕組み」と説明しましたが、この「自動で学習する仕組み」を実現するアルゴリズムの一つがディープラニングとなります。

ディープラーニングはニューラルネットワークと呼ばれる人間の脳神経を模したモデルを応用した技術であり、このディープラーニングによりこれまでの機械学習で実現することができなかった高い精度を出すことができるようなったという点が大きな特徴です。

ニューラルネットワーク

詳しくはレッスン『ディープラーニング』で紹介しますが、ディープラーニングは数学の微分や線形代数を用いることにより上記のような回路を表現します。つまり、ディープラーニングの肝は「数学」というわけです。

ディープラーニングに関しての説明は、ここまでに留めますが、ここでは人工知能、機械学習、ディープラーニングそれぞれの位置づけについて押さえておいてください。下記図のように「人工知能 > 機械学習 > ディープラーニング」といった関係になります。

機械学習相関図

機械学習に必要な数学知識

機械学習・ディープラーニングでは様々なフレームワークが用意されており、TensorFlowやchainer、pythonライブラリのscikit learnなどがあります。これらのフレームワークやライブラリを活用することにより数学の知識がなくても簡単に機械学習を行なうことができます。

しかし、数学知識がない場合はフレームワークの内部でどのような処理が行われているか理解することができないため、応用が効かなくなったり、問題が起こった際に対処ができないというデメリットがあります。

そのため当サイトでは数学知識についても紹介します。以下は機械学習・ディープラーニングに必要な数学知識です。

  • 微分・積分
  • 線形代数
  • 確率統計

これらについても以降のレッスンで順番に学習していきますので、現時点で数学の知識がないという方もご安心ください。

機械学習の三つの分類

ここからは機械学習の三つの分類について見ていきましょう。

ここまでに説明したとおり、機械学習を行なう際にはデータに対してラベル付けを行う必要がありました。このラベルが付けられているデータを教師データと呼び、教師データを必要とする学習方法を教師あり学習と呼びます。

それとは逆で教師データを必要としない学習方法を教師なし学習と呼びます。

そしてもう一つの分類として強化学習というものがあります。

分類説明
教師あり学習教師データを必要とする学習
教師なし学習教師データを必要としない学習
強化学習※後述

これらについて一つずつ説明していきます。

教師あり学習

教師あり学習は教師データ(正解ラベル)を必要とする学習方法です。

現在実用化されているAIのほとんどはこの教師あり学習です。そのため当サイトでは主にこの教師あり学習について紹介していきます。

また、教師あり学習には大きく分けて二つの種類があり、値を予測する回帰と、値を仕分ける分類に分けられます。

回帰数値を予測する
分類値を分類する

回帰とは「過去の株価のデータから将来の株価を予測する」といったような、数値を予測するものを指します。
一方、分類とは「猫の画像に対してその画像が猫か猫ではないかを判別する」といったように、値を分類するものを指します。

教師なし学習

教師なし学習とは正解ラベルがないデータで学習を行う方法です。

教師なし学習は教師あり学習のように値を予測するといった目的はなくデータのパターンやルールを抽出することを目的とします。

例えばamazonなどで買い物をした際に、その人の購入履歴を元におすすめの商品が表示される機能などがこの教師なし学習にあたります。

この「おすすめが表示される機能」では、購入履歴で顧客をグループ分けし、同じグループに属する人が購入した商品をおすすめするといった仕組みになっています。

このように正解のラベルがあるわけではなく、単にユーザー情報を元にカテゴリ分けするといった学習方法が教師なし学習にあたります。

強化学習

強化学習についてはここでは簡潔に説明します。

強化学習とは、人間が物事を試行錯誤をして最適な方法を見つけ出すように「より良い行動」を学習する方法です。難しい言い方をすると「利益を最大化する行動」や「価値を最大化する行動」です。

例えば、不動産や株式の投資において、それらを売却して利益を得る際には、「いつ売ったらよいのか」や「どれだけ売却したらよいのか」といった問題があります。このような問題においてより良い方法を導き出すような学習方法が強化学習となります。

また、強化学習でよく例に出されるのがAI囲碁ロボットAlpha Goです。

囲碁は人工知能の分野においても難しい競技とされていましたが、強化学習を用いたAlpha Goが世界トップ棋士に勝利したことで一躍話題になりました。

機械学習の手順

ここでは機械学習の手順について軽く触れておきます。

機械学習を行なう際には、データを集めたり、実際に学習を行なったりなどいくつかの手順があります。
以下は機械学習の大まかな手順となります。

機械学習を行なうにはまずデータを収集しなければなりません。データを収集する方法は様々ですが、ネット上の情報であればスクレイピングという方法を使うことができます。

次に収集したデータに対して前処理を加えます。前処理とは欠損値を処理したり、訓練データとテストデータを分割するなど、機械学習を行なうことができるようにデータを整形することを指します。

そして、前処理が完了すると実際に学習させる工程となります。

まとめ

このレッスンでは機械学習の概要について以下の内容を見ていきました。

  • 機械学習とは
  • 人工知能とは
  • ディープラーニングとは
  • 数学知識について
  • 機械学習の三つの分類
  • 機械学習の手順

様々な用語や概念が登場しましたが、ここで押さえておいていただきたい点は、機械学習には三つの分類があり、それぞれの分類の中にもさらに分類される概念があるということです。以下は機械学習を階層化した図です。

機械学習には、教師あり学習、教師なし学習、強化学習という3つの分類があり、さらに教師あり学習の中には、値を予測することを目的とする回帰問題と、値を分類することを目的とする分類問題があります。

そして機械学習には様々な手法があり、その中の一つがディープラーニングであるということも押さえておきましょう。

ではこのレッスンは以上となります。練習問題にチャレンジしましょう。

練習問題

このレッスンで学習した内容に関する練習問題にチャレンジしましょう。

Lesson1

機械学習とはなにか。端的に答えよ。

機械学習とはプログラム自身が自動で学習する仕組みです。

Lesson2

人工知能、機械学習、ディープラーニングの関係性について答えよ

人工知能を実現する技術として機械学習が存在します。また、機械学習には様々なアルゴリズム(計算方法)があり、その中の一つがディープラーニングです。

機械学習相関図

Lesson3

機械学習の3つの学習方法について答えよ

教師あり学習、教師なし学習、強化学習があります。

Lesson4

教師あり学習とはどのような学習方法であるか端的に答えよ

教師データ(正解ラベル)を必要とする学習方法。

Lesson5

教師あり学習の二つの分類について答えよ。

教師あり学習は回帰と分類にわけられます。値を予測する学習を回帰、値を分類する学習を分類といいます。




お疲れさまでした。判定ボタンを押してレッスンを完了して下さい。

Last updated:2020/1/8

main.py
設定
g
n
i
d
a
o
L