2020年4月23日木曜日

ビッグデータと機械学習

自動車と馬車の違いだって、厳密に説明するとしたら、それらの専門家でなければ不可能ですが、普通には、簡単に説明すれば良いことです。
「ビッグデータと機械学習の違い」、「機械学習とディープラーニングの違い」も、本当は易しく語って良いはずですが、今はまだ、これらについて、専門家しか語らないから、難しく思えるのです。
しかし、今や誰もが、ビッグデータと機械学習、そして、機械学習とディープラーニングを区別しつつ解っている必要があります。
そして、自動車を運転するためには、自動車の専門知識ではなく運転の仕方さえ知っていれば良いように、ビッグデータ、機械学習、ディープラーニングについても、これらを役立てる方法を知っていれば良いのです。

◆機械学習とディープラーニングの違い
まず、機械学習とディープラーニングの関係は、電車と新幹線の関係と同じです。
新幹線が電車であるように、ディープラーニングも機械学習です。
数学の「集合」で言うと、次のようになります。
※「a∊A」は、「aは集合Aの要素」という意味です。

新幹線 ∊ 電車・・・新幹線は集合「電車」の要素
ディープラーニング ∊ 機械学習・・・ディープラーニングは集合「機械学習」の要素

高級な電車が新幹線であるように、高級な機械学習がディープラーニングなのです。
逆の言い方をしても、この2組(電車と新幹線、機械学習とディープラーニング)はよく似ています。
つまり、新幹線も電車ですが、電車が新幹線とは言いません。
同じく、ディープラーニングも機械学習ですが、機械学習がディープラーニングとは言わないのです。

◆ビッグデータと機械学習の違い
ビッグデータと機械学習は、目的は同じですが、根本的に違うものです。
共に目的は、沢山のデータを使って推測を行うことです。
では、重要な違いは何でしょうか?
ビッグデータでは、データを数学的手法で分析して推測します。
よって、ビッグデータ分析は、データサイエンティストと呼ばれる専門家でなければ不可能です。
一方、機械学習では、AIがデータを分析し、推測しますので、AIにそれを行わせる人間に必要なスキルは、その前段階の作業をするだけです。
前段階の作業とは、データを整理することです。
よって、機械学習は誰でも使えます。
確かに、前段階のデータ整理のやり方は習得する必要がありますが、それほど難しくはありません。
ビッグデータの場合も、前段階のデータ整理は当然ありますが、それは、後のデータ分析と一体であり、難しいものです。

◆ビッグデータと機械学習のデータ量
データ量に関しては、通常、ビッグデータの方が機械学習より、ずっと(あるいは、桁外れに)多く必要です。
一概に言えませんが、ビッグデータでは、ゴミのようなデータも捨てずに取り入れ、普通には想像もつかないような多量のデータを使うことがよくあります。
しかし、機械学習のデータは、出来る限り整理された「きれいな」ものを選び、とんでもない量のデータを扱うことは、普通ありません。
それで、どちらの推測の方が精度が高いかと言いますと、それは、あくまでデータサイエンティストの能力や、AIの性能によります。
また、いずれを使うべきかは、場合によります。
例えば、データ量があまり多くない場合は、機械学習が有利、あるいは、機械学習しか使えません。
しかし、莫大なデータ量のビッグデータが、恐るべき正確な予測をすることもあります。

◆ビッグデータと機械学習の融合
すると、こんなことを思いつくかもしれません。
ビッグデータのデータを、データサイエンティストが分析すると同時に、機械学習させるということです。
確かに、それが良い場合があり、実際に行われています。
そして、その結果、同じような推測結果になる場合もあれば、かなり、あるいは、全く異なる推測結果になる場合もあります。
ただ、機械学習では、扱えるデータ量に限界がありますので、純粋にビッグデータ分析を行う場合と比べ、データの選別を行う場合が多いでしょう。
けれどもそれは、ビッグデータの良さを損なうかもしれません。

◆一般の人が使う道具
ビッグデータと機械学習の使い分けが必要ですが、ビッグデータは、極めて多量のデータを必要としますし、分析に専門的なスキルが必要になります。
つまり、専門家のものであり、誰でも出来る訳ではありません。
しかし、機械学習は一般の人でも使えるものであり、実際、誰もが使う必要があるものです。
よって、我々は、機械学習のやり方を身に付けるべきと思います。

ブログオーナーKayのAI書籍です。
数学講師Mr.Φとの共著です。

足し算、掛け算、素数判定、モンティ・ホール問題、東大入試数学出題分野予測、シュレディンガーのエイリアン、囚人のジレンマ等、面白い問題の回答をAIに推測させます。
これらのデータを作成出来るExcelマクロのシミュレーションプログラムが無償ダウンロード出来る特典付です(東大入試のみ別方法でデータ作成しましたので含まれません)。

2020年4月9日木曜日

『楽しいAI体験から始める機械学習』トピック(4)

~野球がちょっと上手い気楽な近所のお兄さんから野球を教えてもらうようにAIの作り方を学べないか~

野球のようなスポーツでも、楽器演奏のような芸術でも、あるいは、プログラミングのような技術でも、多くの人達が好ましく思う習得法は、専門のコーチがいる学校の部活や専門の学校に通うことと思います
しかし、そういったものの場合、画一的なやり方が押し付けられる傾向があり、それに順応しない場合は、落ちこぼれます。
そして、それに順応しないことは、必ずしも能力がない訳ではなく、エジソンもアインシュタインも学校では落ちこぼれでした。

正統な学習や訓練でない方法でなくても道は多く、その方が柔軟に学べ、想像力を育てる場合も多いのではないかと思います。
例えば、野球が得意でない小学生が、運良く近所のちょっと野球の上手い気楽なお兄さんから手取り足取り教えてもらって、格段の上達をする場合もあります。
実を言うと、全く野球音痴の小学生だった私が、元は野球部員だった近所のお兄さんに教えてもらうと、その分かり易さや、楽しさは素晴らしく、あっという間に上達したものでした。
ただ、あまりにこだわりの強いお兄さんなら、あまり教わりたくない場合が多いですが(笑)。

私のAI書籍『楽しいAI体験から始める機械学習』も、ちょっと野球の上手いお兄さんから野球を教えてもらうような感じでAIの作り方を身に付けられると良いと思います。
普通の機械学習やディープラーニングの書籍では、決して扱わないような単純な例を取り上げ、それを自分で手を動かしてやってみると、AIの作り方が解るように書きました。
一度でよく解らなくても、内容が簡単ですので、何度か繰り返すと解ってくるのではないかと思います。

数学がかなり出来、プログラミングに自信があるなら、TensorFlow(代表的な深層学習フレームワーク)とPython(プログラミング言語)を使う本格的な技術書で学べるのだと思うのですが、ほとんどの人には、そんなことは不可能ですし、そんなことが出来る人だけがAIをやれば良いのではありません。
また、技術者でないなら、AIの表面的な概要が分かれば良いというのでもありません。
AIを作るために本当に大切なことは、
問題を予測問題として捉え直すセンス」
で、これは、理系文系はあまり関係ありません。
そして、今後の世界では、AIが使えること、AIを自分で作れることが、おそらく、非常に有利になってくると思います。
『楽しいAI体験から始める機械学習』だけで全てOKとは言いませんが、他に、普通の人がAI開発に取り組むきっかけになる適切な本がありませんでしたので、書いてみました。

『楽しいAI体験から始める機械学習』
技術評論社
Kay著、MrΦ著
2020年5月11日発売

本書内のほぼ全ての実習のためのデータ作成が出来る、VBAシミュレーションプログラムが組み込まれたExcelファイルを出版社サイトからダウンロード出来る特典付です。

2020年4月5日日曜日

『楽しいAI体験から始める機械学習』トピック(3)

私は、『楽しいAI体験から始める機械学習』で、AIや機械学習に関する、高度な技術や理論を提示する意図はありませんでした。
教科書を教えるように書くことではなく、Excelが使える(あるいはこれから使えるようになる)普通の人が、どうすれば、自分でAIを作れるようになるかを考えました。

AIは、思考するのではなく、推測する道具と言って良いのではないかと思います(よって、AI自身が地球を征服しようとはしません)。
だから、それぞれの人が、身近な問題をAIに解かせるには、その問題をいかに推測問題に捉え直せば良いかが自然に身に付くよう、普通に考えられる、そして、面白いテーマを考えました。

機械学習の実習の定番に、手書きの数字(0~9)をAIに読ませるというものがあります。
つまり、フリーハンドで書いた数字が、0から9のどの数字であるかをAIに推測させるというものです。
これは、沢山のサンプルを学習することで、AIは正解率を高めていきます。
ただ、そんな問題、面白いでしょうか?
それをやって、すぐに何かに応用出来るでしょうか?
確かに、理論を勉強するには適した題材だと思います。
しかし、私は、理論よりも、自分でAIに推測させることを楽しむことで、自分の問題をAIに推測させるコツを掴んで欲しいと思います。
そのために、厳密には正しくないやり方もあったかもしれませんが、試行錯誤してAIの使い方が身に付くよう、ちょっと乱暴なこともやらせています。
ロジスティック回帰、サポートベクタマシンといった難しい言葉は一切使いません。

とはいえ、この本で使ったソニーNNCによって、有名なデータサイエンス企業Kaggleが提供する、タイタニック号の乗客名簿から生存者を予測するコンテストにも参加し、ある技術系有名雑誌の専門家が複数で競って出したよりも高い成績を出し、Kaggle参加者の中でも、割合に上位にランキングされました(しかも1発で)。
これも、この書籍に収めようとして、一度書いたのですが、Kaggleにデータの掲載許可を求めたところ、一応、契約を結んで欲しいという返事があり、時間がかかりそうなこともあり、また、これに関しては、既に、上に述べた雑誌や書籍、あるいは、数多くのブログで取り上げられていましたので、本には載せないことにしました。
(書籍出版後、このブログに掲載することも検討します)

『楽しいAI体験から始める機械学習』

出版社:技術評論社
著 者:Kay、Mr.Φ
出版日:2020年5月11日

AIは誰でも作れる時代。
まず、あなたから。

第3回終了

2020年4月1日水曜日

『楽しいAI体験から始める機械学習』トピック(2)

モンティホール問題をご存じでしょうか?
1990年頃と思いますが、アメリカの、モンティホール氏が司会を務めたテレビ番組で行われたゲームから起こった問題です。
そのゲームは、こんなものです。

3つのドアがあり、そのどれかに豪華景品が隠れています。
例えば、Bに豪華景品があるとします。

A(ハズレ)
B★アタリ★
C(ハズレ)

プレーヤーはAを選んだとします。
すると、モンティホール氏は、Cを開けます。Cはハズレです。

A(ハズレ):プレーヤーの選択
B★アタリ★
C(ハズレ):モンティホール氏が開放

ここで、モンティホール氏は、プレーヤーに最後の選択を迫ります。
「AのままでもOK。でも、Bに変えてもいいですよ」

アタリは、AかBですので、五分五分です。
プレーヤーは悩みます。
プレーヤーはどうする・・・って、どうしようもありません。ヤマカンで選択するしかありません。

ところが、驚異的に頭が良い女性(IQ228という説がある)がいて、「Bに変えるのが正しい」、つまり、いかなる時も最後で選択を変えるべきと断言しました。
それで、豪華景品を得る可能性は2倍になります。

「そんなアホな!」と思ったあなたはアホではありません(彼女ほどの天才ではないかもしれませんが)。
だって、この天才女性が、その発表をした後、10000人もの人が彼女を「アホだ」と批判し、その中には、プロの数学者、博士も沢山いたのです。
彼女が正しいことが解るのに、かなりの時間がかかりました(今でも解ってない人が大半ですが)。
でも、彼女は正しかったのです。

さて、私の本で、このモンティホール問題を扱いました。
ただし、難しい数学でどうこうするのではなく、AIに解かせてみた訳です。
AIは、足し算を学習した時と全く同じようにモンティホール問題を学習し、足し算の原理を自分で理解したように、モンティホール問題の原理を自分で理解したのです。
それも、割とあっけなく。
AIにとっては、足し算もモンティホール問題も同じであるかのように。
そして、AIは、「選択を変えなさい」と、ちゃんと教えてくれました。

それを、あなたも、無料WindowsアプリであるソニーNNC(高性能な機械学習用アプリ)で出来るよう、丁寧に解説しました。
共著者のMr.φさんは数学講師らしく、数学で解説するというオマケ付ですが、そちらは納得出来るかどうかは分かりません。
そして、このモンティホール問題をシミュレートするExcel  VBAプログラムを組み込んだExcelファイルを、出版社サイトからダウンロード出来るようにしました。
このプログラムで、AI(ここではNNC)に与えるデータを柔軟に作ることが出来ます。

2回目終了。