はじめに
こんにちは。
今回は中学生でもわかるように「機械学習」とは何なのか、について解説していきます。
「機械学習」や「AI」というワードは、世間が想像するものと実際のものとで認識のズレがあります。
そのため、「機械学習は何でもできる」みたいに思っている方が大勢います。
そういった考えを矯正するために、そもそも機械学習がどういったものなのか、何ができるのか、ということを本記事を通して確認していきましょう。
- 機械学習とは
- 機械学習の強み
- 現実での応用例
機械学習とは何なのか
機械学習とは簡単に言ってしまうと、ただの”関数による演算”です。
そうです。あの \(y = f(x)\) のようなものです。
ちょっとイメージしづらいかもしれませんが、機械学習は、ある入力に対して何かしらの答えを出力するものなんですよね。
イメージ図としてはこんな感じです。
例えば、「直近の1か月の気温を入力することで、明日の予想気温を出力する」といった具合です。
今は難しく考えずに、そういうものだと理解してください。
つまり、複雑なことを行っているものではなく、与えられた数字から何かしらの計算を行っているだけなんです。
よく、人工知能が~などと騒がれていますが、人工知能も機械学習の一部であるため、ただの関数でしかありません。
意外かもしれませんが、人工知能といえども、たくさんの計算を行っているだけにすぎません。
しかし、なぜここまで機械学習がチヤホヤされているのでしょうか。
それは、機械学習の「学習」という部分に鍵があります。
これについては後述します。
とりあえず、ここでは「機械学習は入力された数字に対して、何かしらの計算をして別の数字に変換するもの」とだけ押さえておいてください。
機械学習が注目される理由
前の章で、「機械学習はただの関数である」と説明しましたが、なぜただの関数がここまでチヤホヤされているのでしょうか。
その理由をザックリ説明すると、機械学習を使うことで、未来を予測したり、複数の選択肢の中から正しい答えを導くことができるからです。
正確に言うと、それらを実現できるような関数を作ります。
「機械学習はすごい関数である!」ではなく、「すごい関数になるように意図的に関数を調整する」ということが正しいです。
関数を調整するとはどういうことなのでしょうか。
これは、単に係数を調整していると言い換えることもできます。
例えば、\(y = ax + b\) という関数があるとします。
まずは、\(a = 1, b = 0\) として、グラフを描いてみると以下のようになりますね。
次に、\(a = 3, b = -1\)としてグラフを描いてみます。
これは、係数\(a, b\)を調整することで、より傾きが大きい関数に調整できたと言えますね。
単純なことですが、関数を調整するというのは、これと同じことを行えばいいわけです。
つまり、機械学習の「学習」は関数の係数を調整することを指します。
私たちが想像する「学習」とは全く異なるものなんですよね。
ちなみに機械学習では、この係数のことを「重み」と表すことが多いです。
「係数を調整するだけで未来予想とかできるの?」と思う方も多いかと思います。
確かに、できることは限られてきますが、想像以上に多くのことができます。
実際の関数については数学的な話になってしまうので割愛しますが、興味のある方は、こちらの記事も読んでみてください。
ここまで機械学習がすごいと言われる理由を説明してきましたが、この機械学習がなぜ今ごろ話題になっているのかを簡単に説明します。
実は、機械学習という単語は最近できたものではありません。
なんと1959年から存在しているものなんですよね。
では、なぜ今ごろ話題になっているのか。
それは、数十年前に比べて、コンピュータの性能が格段に上がっているからです。
機械学習はただの関数と言いましたが、関数を調節するためには莫大な計算コストがかかります。
先ほどは、\(y = ax + b\) という関数で例を示しましたが、実際はより複雑な関数の方が多く、手作業で調整することは不可能です。
こういった背景から、数十年の時を経て機械学習が盛り上がっているというわけです。
機械学習の応用例
では、この章では、実際の機械学習の応用例を紹介していきます。
今まで見てきたように、機械学習はただの関数です。
それを踏まえた上で、機械学習の力・数学の力を認識してみてください。
株価予測
時系列に並んだ過去の株価から、未来の株価を予測する。
スパムメールチェック
スパムメールの特徴を学習することで、スパムメールかどうかを自動で判別する。
がんの検出
人間が目視で行っていた作業を機械学習に任せることで、より正確に検出することを実現。
近年はがんだけでなく、様々な医療分野でも機械学習が活躍。
ユーザーコメント分析
動画サイトにおけるユーザーのコメントを解析することで、不適切コメントを検出する。
ネットスラングや顔文字にも対応することで、人的コストを削減。
レコメンドシステム
ユーザーの購入履歴や視聴履歴から、その人にあったおすすめ商品などを表示する。
AmazonやYoutubeなどでよく見る「あなたへおすすめ」などの項目がこれに当たる。
翻訳機
自然言語の並びから言語間の対応関係を学習することで、翻訳機能を実現。
最近だと、DeepLと呼ばれる翻訳サイトが話題になった。
囲碁や将棋
囲碁や将棋の戦法を学習することで対局することを実現。
機械学習を利用しているAlphaGoは、2015年に囲碁のプロ棋士に勝利するほど進化している。
ここまでいくつかの応用例を紹介してきましたが、これもごく一部に過ぎないため、実際はもっと多くの応用例が存在します。
近年トレンドの自動運転なんかも機械学習の応用に当たります。
こういった機能がただの関数でできているなんて驚きですよね。
おわりに
今回の記事では「機械学習とは」というテーマでいろいろ説明してきましたがどうだったでしょうか。
わかりやすさを重視しているため、厳密には間違ったこともあるのですが、概要だけ押さえられたのであればOKです。
最後の応用例では、関数とは関係なさそうなものがいくつも出てきましたね。
しかし、実際には関数、さらに言うと数学が関わっているわけです。
だからこそ数学が大事だと言われるわけですね。
ちなみに、機械学習分野では高校数学で習う「微分」という概念がとても重要になってきます。
数学がわかると見え方が変わってくるので面白いですよ。
というわけで、機械学習に興味を持った方は是非勉強してみてください。
深層学習(ディープラーニング)についても同様の記事があります。
>>【簡単に解説】深層学習(ディープラーニング)とは何なのか
機械学習を学習できるおすすめのコンテンツをこちらで紹介しています。