機械学習という言葉を最近耳にすることが多いけど、「機械学習って何?何ができるの?」
という疑問にお応えします。
この記事では「機械学習を勉強したいけど専門用語がわからず、理解できない。数学がわからないから機械学習が理解できない。文系の私には理解できない。」
そのような皆様に是非読んでいただければと思います。
この記事では下記の疑問に解説します。
-
- 機械学習って一体何ができるの?
- 機械学習って一体何をしているの?
専門用語は全く使わず、身近な具体例を交えながら説明しますのでご安心ください。
ここ数年は、開発の仕事で「機械学習を知らない方々」に機械学習を説明しまくる日々でしたので少し説明が得意です。
また勉強し始めた当初の2019年頃は機械学習に関する書籍もほとんどなく、「機械学習って何?、どんなことができるの?」というところがなかなか理解できなかったので、今回この記事を作成することにしました。是非最後まで読んでみてください( ̄▽ ̄)❗️❗️
早速ですが、「機械学習でできること」を紹介します。
- 未来を予測
- 最適な答えを得る
一つ一つ解説します。
未来を予測できる
過去のデータを学習して未来を予測することができます。天気予報などが最たる例です。
最近では明日の天気だけではなくて、1週間後の天気なども精度良く予測できます。また、今は夏なんでゲリラ豪雨が非常に多いですが、時間・場所をピンポイントで予測できるようになってきています。
最適な答えを得る
最もコスパのいい選択ができるみたいなイメージです。例えば信号機を例に説明します。
信号機の役割って「事故は起こしたくないが、渋滞は減らしたい」だと思います。
事故を起こさないようにするためには、例えば黄色信号時間が長いほど良いが、渋滞緩和の観点では黄色時間は短いほど良いです。
つまり信号機は最もコスパの良いタイミングで赤・青・黄に切り替わる必要があります。
地域全体の信号機を最適化しなければならない
道路は日本全国に網目のように広がっているため、1つの信号機を最適化するのではなく、信号機全体(例えば東京都にある信号全体のような特定のまとまり)でコスパを考えなければなりません。でないと、渋滞を減らすことはできないし、恐らく事故も多くなってしまいます。
渋滞防止・事故緩和に向けて、「より最適な解」を得るために機械学習技術の活用が検討されています。
ここまで、「機械学習でできること」について解説してきました。
では「機械学習って具体的に何をしているの??」っていう疑問にお答えします。
機械学習は関係式を作っている
例えば、「勉強時間」から「テストの点数(国語)」を予測したいとします。これを一次関数を例に説明してみます。一次関数の一般式はy = aX + bと書けます。
目標は「国語の点数」と「勉強時間」の関係を一次関数で表すことです。「国語の点数」をy、「勉強時間」をXとして以下のような関係式ができれば、「勉強時間」から「国語の点数」を予測できそうです。
(国語の点数) = 10 ✖︎ (勉強時間) + 45
一次関数では上のように、aとbを決定(具体的な数字に)できれば予測できるようになります。そして機械学習ではコンピュータがデータを学習してaとbを決定しています。
データを学習して、aとbを決定します❗️任せてください❗️
機械学習の流れをまとめると、下記のような流れになります。
- 1.一般式(y = aX + b)を決定
- 2.コンピュータがデータを学習してaとbを決定
- 3.Xを入力してyを予測
一般式があって、データを学習してaとbを決定して関係式を作り、Xを入力して予測しているんだ〜くらいのイメージでOKです。
次に少し補足を説明します。
機械学習で使用する一般式は色々ある。
今回は一次関数を用いて勉強時間から国語の点数を予測しましたが、数学の一般式が変われば(例えば2次関数などを使えば)予測精度が変わります。実際の機械学習では、色々な一般式を試して最も予測精度が高い式を採用します。どの一般式がいいかは実際に試してみないとわかりません。
また使用する一般式が変わっても機械学習の流れは変わらず、上のようにデータを学習して関係式を作成します。数学の一般式については機械学習の勉強を進める上で少しずつ理解していくのがいいと思いますし、私もそのように勉強しました。
Xは複数あっても大丈夫
今回は「勉強時間」から「テストの点数(国語)」を予測しましたが、国語の点数に影響を与えそうな項目は他にもありそうです。
例えば「前回の国語の点数」や「1日の読書時間」等のデータがある方がより詳細に予測できそうです。
Xが3個になった場合を式にすると、下記みたいな感じ。
(国語の点数) = 10 ✖︎ (勉強時間) + 0.6 ✖︎ (前回の国語の点数) + 5 ✖︎ (1日の読書時間) + 3
実はXが1個であればコンピュータを使わずに人間でもaとbを決定できますが、Xがこのように多くなってくるとコンピュータを使う必要が出てきます。世の中で実施されている機械学習ではXが1000個以上あるものもあったりします。こうなると人間では不可能ですよね。
最後に私なりの機械学習のイメージについてお話しします。
機械学習は第2の脳みたいなイメージ
機械学習を活用することで人間が考えずとも予測したり、最適な解を見つけたりすることができます。
人間は1日約8時間程度しか働くことができませんが、コンピュータは24時間働き続けることができます。そういう意味では人間を助けてくれる1つのツールなのかなと思っています。
また人間では解を見つけることが難しい分野、例えば創薬などでは機械学習を活用した開発が非常に進んでいますし、今後様々な分野で人間を助けてくれると思っています。
今回の記事を通して機械学習に関する理解・興味を深めていただければ嬉しいですし、皆さんの日々のタスクでも機械学習を活用できないか今一度考える機会になれば幸いです。( ̄▽ ̄)❗️❗️