🍣

教師あり機械学習って何?

に公開

機械学習って何?

機械学習は Machine Learning という単語から訳されたものですが、果たしてこれはどういう意味でしょうか?
何を意味するのかが分かれば、最終的な到達点が見えてきます。

1 言葉の意味を汲んでみる

これから触れるのに、その意味を知らないのは目的が分かりにくくなります。ここでは語源を辿ってみましょう。

A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P,
if its performance at tasks in T, as measured by P, improves with experience E.

出典:機械学習 - Wikipedia

Google 翻訳によると、以下のようになります。

コンピューター プログラムは、P によって測定される T のタスクでのパフォーマンスが経験 E によって向上する場合、あるクラスのタスク T およびパフォーマンス測定 P に関して経験 E から学習するといわれます。

ここで気付くのですが――

どこにも “Machine Learning” って書いていない?

という点です。「何を学習してどうなるか」という定義にはなっていますが、“Machine” がありません。
これを日本語で考えるなら、こう言い換えられます。

機械が機械的に学習するさま

これから取り組む機械学習において、経験から学ぶ主体は 機械=コンピュータ です。
その機械は、当然ですが機械的に学習します。そのために用いられるのがソフトウェアプログラムです。ここでは Python を用います。


2 機械学習がやっていること

機械が 機械的に 学習するとはどういうことでしょうか。
機械的 なので、動物的でも人間的でもなく、単純なルールに従って淡々と学習します。

何を学習するか

機械的に学習するためには、機械が理解できる形にする必要があります。
現代の機械学習で用いる学習データは、ほぼすべて デジタルデータ です。

全ての物事をデジタル化する

身の回りのさまざまな事象は、デジタル化=数値化されていることが多いです。

文字のデジタル化

文字に番号を振って記憶しています。例えば「A」なら 65、「B」なら 66 という数値が割り当てられています。
どの文字がどの数値になるかは世界標準で定められています。興味のある方は「エンコード」という単語で調べてみてください。

色のデジタル化

例えば、皆さんは今モニターを見ていますね。
画面には光る点が縦横にびっしりと配置されています。色は光の三原色で表されます。

  • 赤 🟥: Red
  • 緑 🟩: Green
  • 青 🟦: Blue

この三色の強さの組み合わせで色を表現しています。全部が点灯すると白、全部が消灯すると黒。赤と緑が合わさると黄色 🟨 になります。

スマホのカメラはそれぞれの値を数値としてデジタル記録します。1画素に3つの数値を持っているわけです。
動画は、写真の連続として記録されています。

音のデジタル化

音は空気圧の波なので、その強弱を波形として捉えられます。
時間を x 軸、高さを y 軸としてグラフ化すると、次のようになります。

y 座標の値を連続して記録するとデータ化できます。イヤホンやスピーカーはこの波形を空気振動として再現することで音を伝えています。
目盛りが細かいほど複雑な波形を表せます。これが「ハイレゾ」と呼ばれる高解像度音源です。
光も物理的には波であり、波長の違いが人間の見る色になります。
ただし、データとして扱いやすくするために単純化しています。動物によって知覚できる範囲が異なるため、同じ景色や音を感じていないこともあります。動物向けの AI を作るには一工夫必要そうですね。

すでに数値化されている経済

私たちの仕事の多くは、すでに数値化された世界で行われています。
お金を中心に、資産・給与・税金・労働力などが全て数値(コスト)として扱われています。
CO₂排出量も金銭に換算して取引されます。
このように「何でもお金に変える」ことは日常的なデータ化の一例です。


「学習する」とは

数値化されたデータはソフトウェアで評価可能になります。数字の動きは関数で表せます。まさに Excel のようなものです。
では、学習 とはどういう行為なのでしょうか。

Learning であること

人間も「学習」します。皆さんも今、機械学習を学習しています。
ここでいう「学習」と「機械学習の学習」は同じでしょうか?
元の単語は Machine Learning です。英語では「学習」に相当する単語が2つあります。

  • learn:教わったり習うことで知識やスキルを身につける
  • study:授業などの科目を学ぶ

「機械学習」は “Machine Learning” であり、“Machine Studying” ではありません。
これは機械学習の本質を端的に表しています。観察から何かを見出すこと、それを機械的に行うのが機械学習です。


人間の Learning 事例

機械学習の実際の適用では、過去のデータから売上を予測したり、メルカリの価格を予測するモデルを作ったりします。
では、これを人間がやるとしたらどのような作業になるでしょうか。

ニュートンは木から落ちるリンゴを見て、「宇宙も含めて物質は引き合うものである」という仮説を立てました。
この法則は、落下運動を時間軸と高さで観察し、ニュートンの運動法則と合わせてみると「なるほど、あってる」ということになります。

一連の流れを追ってみると次のようになります。

  1. 対象を観察する
  2. 分析したものから仮説を立てて数式をつくる
  3. 作った数式で正しいかを実験で確かめる

薬の効き目を確かめることも同じような流れです。
古典的な科学はこうした学習する営み(Learning)から生まれ、それを学問として体系的に学ぶ(Study)わけですね。
これを機械的に行っているのが機械学習です。


統計と補間、予想

物体の落下をグラフ化すると、二次曲線を描きます。
ボールを投げると、水平方向は一定速度で、垂直方向は加速・減速によって変化し、軌跡が放物線を描きます。 この座標の変化を何パターンか用意して機械学習すると、法則を見出します。前半の座標を与えると後半の座標を当てたり、最初と終わりを与えると中間を描く座標を導くことができます。その法則がニュートンの数式に合致しているかは、不確かですが、近似したものにはなるでしょう。


機械学習から得られる法則と古典科学の法則

ニュートンが考えた運動方程式は、今でも機械的な設計やゲームなどに活かされています。一方、万有引力の法則はその後、重力を時空の歪みとして捉えるアインシュタインの理論へと発展しました。観測できる限界や理論の拡張は、常に続いていきます。

宇宙の星の軌道や質量予測を精査することで、もしニュートンがより多くの情報を得られていれば、アインシュタインのような理論に到達していたかもしれません。
得られた情報内での予想を補間するのが「内挿」、外側を予想するのが「外挿」と言えます。 見えない宇宙の果ての状況も、法則によって予想が立てられるのです。
こうした、極大に一般化を目論んだ法則は、誰しも納得はしますが、誰にでも役立つとは限りません。


3 教師あり機械学習とは

誰でも役に立ちそうな、普遍的に感じる法則は、研究者が頑張って導いた数々の歴史に残ってるものや、薬の効き目や天気予報など、多岐にわたります。とはいえ、自分が知りたい、個人的な法則が他にあったら、それをどうやって見つければ良いか、それが教師あり学習です。


教師あり学習の教師とは

教師あり学習も、英単語を紐解いてみると、英語で"Supervised learning"と書きます。ここでまた齟齬がありそうなのが、"Supervised"を「教師あり」と訳しているとことです。「教師」は"Teacher"ですね、それではSuperviseとはどういう意味と捉えればよいのか考えます。
Superviseは、監督、監修して導く様を表します。Machineはここには入ってないですが、機械学習であることを考え、

監督して導く機械による機械的な観察による学習

と定義できるでしょう。異論も在ると思いますがまあまあ合ってるかなあ、と思います。何を導くのか、というと、「目的が明確な予測機」です。


機械学習を用いない予測機

コンピューターが発展していなかった時代の天気予報は、それまでの統計データから推理して予報をだしていたはすです。水田の稲の成長なども天候などから予測していたでしょう。こうした、統計由来の推論は永らく営まれてきました。
また、数式で予測を立てるのに似ているものに、補間があります。

PhongShading

この画像は、左側はカクカクしていますが、右はスムースな球体に見えます。カクカクしている面を球体に見立てて光の反射を補うと、右のような表現に変わります、カクカクした頂点の間を、作られた曲面によって補間しています。


個人的な法則

ニュートンの運動法則のような普遍的では無い、ちょっとした役立つ法則はいろいろあるでしょう。例えば、空の雲の様子を見て雨が降りそう、と考えたり、「今日ははこれくらい食べればお腹いっぱいになる」と思ってご飯をお変わりする、などです。空模様は明るさの変化を数値化したらもしかすると、数式が導けるかも知れません。お腹が空いてるかは、その日の運動量と食事の摂取量や時間で計れたら、これも数式にできるかも知れません。


4 まとめ:教師あり学習で求めるものは自分用予測器

多くの人が求める、株価予想や天気予報、または科学的探究によって得られる法則は、誰かが何処かで編み出し、実用的にやくだてれ、論文で出ることでしょう。しかしながら、自分が求めているものはそうしたものではない場合、従来では確率・統計などによって予測していました。難しい数式になるかもしれないものを自動的に得られるなら、とても便利です。
それを可能にするのが教師あり学習です。数式化された法則を、見出させる機械学習です。

GitHubで編集を提案

Discussion