AI 学習サービス Aidemy (アイデミー) の、3 か月コース「AIマーケティングコース」を
一部体験させていただけることになりました!
なので、そこで学んだことを、皆さまにもシェアできればと思い、授業メモを取ることにしました。
(もちろん、私のこの個人メモを見るよりも 実際の Aidemy さんの動画教材 を見た方が 1024 倍勉強になります)
(前回の記事:『AI 学習サービス Aidemy 受講メモ 04 「機械学習の流れの全体像」』)
(次回の記事:『AI 学習サービス Aidemy 受講メモ 06「機械学習におけるデータ分割方法」(ホールドアウト法, k-分割交差検証, LOO)』)
今日の話題- 機械学習にデータはどれくらい必要なのか?
(『2.1.3 データはどれくらい必要なのか?』より)
今日は「機械学習にデータはどれくらい必要なのか?」について勉強しました。
トピック:
- データの枚数がどれくらい必要なのか?
- ディープラーニング以外の機械学習
- ディープラーニングの場合
- そもそもデータが無い時は?
- データを作る
- APIを利用
- 転移学習 を利用
元動画、元教材
すべて Aidemy (アイデミー) さんの コンテンツです。
形式 | リンク |
---|---|
動画 | 『2.1.3 データはどれくらい必要なのか?』 |
テキスト | 『2.1.4 データの学習』 |
YouTube 動画 | 『データはどれくらい必要なのか』 |
1. 機械学習にどれくらいのデータが必要なのか
(『2.1.3 データはどれくらい必要なのか?』より)
機械学習にどれくらいのデータが必要なのか。
それは「ケースバイケース」(場合による)という答えになる。
とはいえ、ある程度予想をつけることはできる。
1-1. Deep Learning 以外の場合
(YouTube 動画|『データはどれくらい必要なのか』より)
機械学習にどれくらいデータが必要なのか、という話で、
まず、deep learning 以外の場合。
Scikit-Learn (サイキット ラーン) という有名な機械学習ライブラリの
「アルゴリズム・チートシート」というものがある。
(「チートシート」というのは虎の巻的なやつ。これを見れば大丈夫的な。)
https://scikit-learn.org/stable/tutorial/machine_learning_map/index.html
使用するデータの内容と目的に応じて、どのアルゴリズムを使えばいいのか教えてくれるもの。
データが 50 個以上あることは前提
Scikit-Learn の#機械学習 アルゴリズムチートシート、
とても学びなのが、
スタート時点で「学習データが 50 以上?」
Yes →「カテゴリ予測がしたい?」(続く)
No →「もっとデータ集めてこい」で、どのアルゴリズム選ぶにしろ
最低 50 以上必要っぽいということhttps://t.co/1fawcH4alq pic.twitter.com/IFjWWkeCQC— ちょまど🎀ITエンジニア兼漫画家 (@chomado) July 11, 2020
Microsoft のアルゴリズムチートシート
機械学習のアルゴリズムチートシート、Microsoft も出しています。
2019 年のものなので、わりと新しめかも。
→『Azure Machine Learning デザイナーの機械学習アルゴリズム チート シート』
機械学習勉強中。
機械学習でどのアルゴリズムを選択するべきか、を考えるときに
有名なのが
Scikit-Learn のアルゴリズムチートシート (https://t.co/1fawcH4alq) だけど、Microsoft も新しめのチートシート出してるんだね
→ https://t.co/6dbg7b8j8Y
. pic.twitter.com/cBVZkEV4K3— ちょまど🎀ITエンジニア兼漫画家 (@chomado) July 11, 2020
1-2. Deep Learning の場合
(YouTube 動画|『データはどれくらい必要なのか』より)
Deep Learning の場合、もっと多くのデータ必要となる。
たとえば分類問題の場合、目安は 1 カテゴリ 1,000 枚以上。
先生「だから、たとえば、『0 から 9 までの数字の画像認識』というテーマであれば、1万枚の画像データと正解ラベルがある、というのがひとつの目安になるわね」
めっちゃ多いなあ。。。。
2. そもそもデータが無いときは?
先生「わかってるわ。そんなにデータが無いって言うんでしょう?データが無いときも、まだ諦めるのは早いわ。どうすればいいか、3 つ手法を紹介しましょう」
(YouTube 動画|『データはどれくらい必要なのか』より)
- そもそもデータが無い時は?
- データを作る
- API を利用
- 転移学習 を利用
2-1. データをつくる
(YouTube 動画|『データはどれくらい必要なのか』より)
データが足りないのだからデータを作りましょう、という話。
主に次のふたつの方法がある:
- SNS などから取得
- web スクレイピングの利用
ただ、個の場合、web 上にあるデータに限られるし、商用利用に制限のあるケースがあることに注意
2-2. API を利用
(YouTube 動画|『データはどれくらい必要なのか』より)
学習データを集めてモデルを作るんじゃなくて、学習済みモデルを利用させてもらおうという話。
Microsoft Azure Cognitive Services など、
クラウドベンダーが学習済みのモデルを API 経由で提供していて、
ユーザがその API を叩くと、推論結果を返してくれる。
それを利用する。
カスタマイズができない場合が多い
2-3. 転移学習 を利用
(『2.1.3 データはどれくらい必要なのか?』より)
学習済みモデルに、独自に新しいデータを加えて
新しい学習済みモデルを作る手法
少ないデータで高い正解率を実現できるので、ディープラーニングによる画像診断などで主流
転移学習の例
画像認識研究のための研究用標準データセットである ImageNet (1400万枚を超える画像に何が写っているかを、2万種以上のラベルで示したものがネットで無料で公開されている)
を学習した VGG 16 モデル (ImageNet を学習済みの 16 層からなる CNN (Convolutional (畳み込み) Neural Network) モデルで、有名な学習済みモデルのひとつ) に、
自分で用意した犬の画像と猫の画像、それぞれ 50 枚程度を使って、
「犬猫判別機」というオリジナルの学習モデルを作ることができる。
(deep learning は 1 カテゴリ 1000 枚以上のデータが必要だって話だったし、これが 50 枚程度で済むなら、かなりお手軽だよね)
ImageNet (image-net.org)
まとめ
機械学習にどれくらいのデータが必要なのか、という問いの答えは「ケースバイケース」。一概には言えない。
だから、膨大なデータが必要な機械学習にこだわらず、いろいろな手法を検討するということが最も大事
花あやめ (Iris) の例
次は、『2.1.4 データの学習』に進みます。
(画像:『Data Science Example – Iris dataset』より)
機械学習では 「Iris(あやめ)」 というサンプルデータセットがよく使用されます。
これで品種分類 (classification) をしている人がたくさんいます
(図『2.1.4 データの学習』より)
Next Step
次は機械学習と統計学の違い、データの分割方法などについて勉強します
(次回の記事:『AI 学習サービス Aidemy 受講メモ 06「機械学習におけるデータ分割方法」(ホールドアウト法, k-分割交差検証, LOO)』)
今はまだ機械学習「概論」を学んでいる段階だけど
概論が終わったら、いよいよ統計学みたいな「「数学」」の世界に入っていくのだろうと思うと
ついていけるか不安になってくるなあ…(と同時に未知への好奇心!)とはいえそういう数学的なことは Python の機械学習ライブラリが隠蔽してくれるのかな
— ちょまど🎀ITエンジニア兼漫画家 (@chomado) July 11, 2020
[…] (前回の記事:『AI 学習サービス Aidemy 受講メモ 05 「機械学習にデータはどれくらい必要なのか?」(転移学習, アルゴリズムチートシート)』) […]
[…] 機械学習にどれくらいデータが必要なのか […]