事例紹介:哺乳類判別

哺乳類の判別に挑戦

Trial Toolを使ってみよう!

Wide Learning™の学習⼿順や活用方法などを理解するために、動物の情報を使って哺乳類を判別できるか、本サイトで提供している Wide Learning™ Trial Toolを使って試してみましょう。


哺乳類の特徴を分析する

哺乳類の特徴は何でしょうか。犬,猫,馬,牛は哺乳類ですが、足が4本あれば、哺乳類だ、と言えるでしょうか?

いいえ、カエルやトカゲのように4本足でも哺乳類ではない動物もたくさんいます。足が4本あるという特徴はあまり役に立たなそうです。

では、卵生(=卵から生まれる)ではないことは哺乳類の特徴でしょうか。サソリは卵生ではありませんが哺乳類ではありません。しかし、サソリのような例外は少なく、卵生ではないという特徴は役に立ちそうです。ほかにも、体毛の有無、羽の有無、陸生か水生か、肺で呼吸するか、など、動物の特徴はたくさんありますが、哺乳類かどうかを判別するのにどのくらい役に立つでしょうか。

1つの特徴だけでも判別できそうな場合もあれば、1つだけでは判別できなそうな特徴でも2つ以上を組み合わせることで判別できるようになることもあるかもしれません。これを自分の頭の中で考えて答えるのは簡単なことではありません。


どれが役に立つ特徴なのか

Wide Learning™を使うと、動物の様々な特徴をまとめたデータをもとに、それぞれの特徴が哺乳類の判別にどのくらい役立つかを計算し、判別に役立つ特徴を自動的に発見することができます。さらに、発見した特徴を使い、ある動物が哺乳類かどうかを判別し、その判別の根拠となった特徴を示すこともできます。

上のイラストで分かるように、特徴になりそうなものはたくさんありますが、どれが役に立つ特徴なのか、考えるのは大変です。

今回、デモ用に準備したデータを使って、Wide Learning™で哺乳類の特徴を見つけてみましょう。

Wide Learning™ Trial Toolの使い方についてはこちらTrial Toolを確認してください。どなたでも無料で利用することができますが、⼀部機能に制限がかかっておりますので、研究や商用利用したい方はお問い合わせフォームよりご連絡ください。

Wide Learning™ Trial Toolを使って哺乳類判別を行うためには、下記の2つのデータが必要ですので,リンク先のファイルをダウンロードしてご利用ください。

このデータは、University of California, IrvineのCenter for Machine Learning and Intelligent Systemsが公開しているデータセット)を、今回の事例紹介のために一部改変したものです。

哺乳類判別の学習用データ:Wide Learning™に学習させるためのデータ(animals_train.csv)

哺乳類判別の予測用データ:Wide Learning™に予測させるためのデータ(animals_test.csv)

:Dua, D. and Graff, C. (2019).
UCI Machine Learning Repository.
Irvine, CA: University of California, School of Information and Computer Science.

Step1: 学習用データを準備しよう!

学習用データのアップロード

Wide Learning™を利用するには、AIに学習用データをインプットして学習させる必要があります。先程ダウンロードした哺乳類判別の学習用データをWide Learning™ Trial Toolにアップロードして中身を確認してみましょう。


アップロードした学習用データの中身を⾒てみよう

学習用データをアップロードすると、そのデータの内容が表の形式で表示されます。1つの行が1つの種類の動物のデータを表します。この学習用データには、哺乳類である動物が40種類,哺乳類ではない動物が48種類、合計88種類の動物がいます。


統計情報を⾒よう

Trial Toolでは、アップロードした学習用データの内容を棒グラフにして見ることができます。

ためしに、「1-3. 学習用データの確認」をクリックした後、左側の「項目」をクリックし,さらにその右側の列の「毛」をクリックしてみましょう。すると、「体⽑がある動物」と「体毛がない動物」がそれぞれ何種類いるかを示す棒グラフが表示されます。


役立ちそうな項目と、役立ちそうにない項目

今度は「羽があるかどうか」で調べてみましょう。左側の「羽」をクリックしてください。

さて、哺乳類判別の学習用データを見ると、哺乳類かどうかを判別するのに役立ちそうな項目と、役立ちそうにない項目があることが分かりました。

しかし、今は、哺乳類かどうかを判別するのに役立ちそうかどうかを「なんとなく」決めています。

それぞれの項目は、「どのくらい」哺乳類かどうかの判別に役立ちそうでしょうか。また、「羽がないこと」は哺乳類かどうかの判別には役立ちそうにありませんが、ほかの項目と組み合わせたらどうでしょうか。

このようなことを自分の頭の中で考えることは簡単ではありませんが、Wide Learning™では、哺乳類であるかどうかを判別するのに役立つ項目やその組み合わせを自動的に導き出すことができます。

Step2:重要な項目の組み合わせを確認しよう!

重要な項目の組み合わせを生成

「重要な項目の組み合わせを生成」というボタンをクリックしてください。(生成には少し時間がかかります)

生成が終わると、Wide Learning™が重要(哺乳類かどうかの判別に役立つ)と判断した項目の組み合わせが表の形式で表示されます。

1つの行が1つの組み合わせの情報を表します。一番左の「重要な項目の組み合わせ」の列が、Wide Learning™が見つけた重要な項目の組み合わせを表します。


もう一度、学習データを確認

ここで、もう一度、学習データの個々の項目の統計を見てみましょう。

「STEP1 学習データを準備しよう!」をクリックし、さらに「1-3. 学習用データの確認」をクリックしてください。

さきほど確認した1つ1つの項目の統計情報を示す画面が表示されます。ここで、左側の「項目」をクリックし、「羽」が「なし」の場合、「背骨」が「あり」の場合、「肺呼吸」が「はい」の場合のグラフを見てみましょう。


組み合わせることで判別できるようになる項目を発見

「羽がない」、「背骨がある」、「肺呼吸する」のそれぞれの特徴だけでは、哺乳類かどうかを判別することはできなそうです。

しかし、この3つの特徴をわせると、さっき確認したように、40種類が哺乳類である一方で、哺乳類ではない動物は7種類しかおらず、哺乳類である可能性が高くなることが分かります。

Wide Learning™は、このように、単独では判別が難しい項目でも、いくつか組み合わせることで判別できるようになる項目を発見してくれます。


哺乳類ではない動物が多い組み合わせを調べる

「STEP 2 重要な項目の組み合わせを確認しよう!」をクリックして、重要な項目の組み合わせ一覧の画面に戻りましょう。今は、哺乳類である動物の数の多い順に並んでいます。

ここで「NEG(Negative)の出現数」を2回クリックしてみてください。すると、Wide Learning™で発見した重要な項目の組み合わせのうち、哺乳類ではない動物が多い組み合わせから順に並べ替えることができます。

こうすることで、哺乳類ではない動物の判別に役立ちそうな項目の組み合わせを確認することができます。

それでは、発見した重要な項目の組み合わせをもとに、AIに学習をさせてみましょう。「重要な組み合わせに重みをつける」というボタンを押してください。

Step 3: 学習結果を確認しよう!

判別するためにどのくらい重要か=重みを数値で表す

学習が終わると、先程確認した重要な項目の組み合わせに対してどのくらいの大きさの重みがついているかを見ることができます。

ここで、「重み」とは、その項目の組み合わせが、哺乳類かどうかを判別するためにどのくらい重要な条件になるかを数値で表したものです。

この重みがプラスで大きな値である場合、その組み合わせは、哺乳類であると判別するための重要な根拠となることを表します。

一方、マイナスの重みがついた組み合わせは、哺乳類ではないと判別するための重要な根拠となります。

表の右上の「NEG」をクリックしてください。すると、重みがマイナスの組み合わせを確認できます。


個別の動物の学習結果を確認する

「3-2. 個別の学習結果」をクリックしてください。

ここでは、学習用データの中の1つ1つの動物について、重みがプラスの組み合わせやマイナスの組み合わせをそれぞれどのくらい持っていて、どちらがどのくらい多いかを確認することができます。


個別の項目「ツチブタ」を調べる

例えば、左の表の「ツチブタ」の行の左側のラジオボタンにチェックを入れてみてください。

すると、右側にドーナツグラフと表が表示されます。

ドーナツグラフは、ツチブタのデータが持つ重要な項目の組み合わせとその重みの割合を表します。

ピンクは「哺乳類である」と判別する根拠となる重要な項目の組み合わせ、ブルーは「哺乳類ではない」と判別する根拠となる重要な項目の組み合わせを表します。


個別の項目「鯉」を調べる

左の表から「鯉」を選んでみましょう。今度は、青の方が圧倒的に多いドーナツグラフが表示されました。鯉が持つ重要な項目の組み合わせのほとんどは、哺乳類ではないと判別するために有効な組み合わせとして学習されているようですね。

ほかの動物も確認してみてください。

ピンクと青の割合に差はあるものの、どの動物についてもだいたい正しく学習できているようです。

それでは、このAIを使って、新たに予測してみましょう。「次のステップに進む」というボタンをクリックしてください。

Step 4: 予測用データを準備しよう!

学習完了。AIに予測をさせてみよう!

予測を⾏うには、Wide Learning™ Trial Toolに予測用データをアップロードする必要があります。

方法は学習用データのアップロードと同じなので、もう⼤丈夫ですね。

最初にダウンロードした哺乳類判別の予測用データをアップロードして中身を確認してみましょう。

予測用データのアップロードが成功したら、学習用データのアップロードの時と同様に、予測用データの統計情報などを確認することができるようになります。

確認の説明は省略しますが、1つだけ、学習用データの場合と違うところがあるので注意してください。それは、「哺乳類かどうか」を表す正解ラベルがないことです。この正解ラベルを予測することが、ここから先のステップの目的です。

それでは、「予測を開始」のボタンをクリックしてください。

Step 5: 予測結果を確認しよう!

予測用データの中身を確認しよう

予測結果の確認画面は、「3-2. 個別の学習結果」の画面と似ています。

違いは、「No.」の列の右側に「結果」と「スコア」の列があることです。

この「結果」が予測の結果で、「POS(Positive)」が「哺乳類である」ことを、「NEG(Negative)」が「哺乳類ではない」ことを表します。

「スコア」は、それぞれの動物が哺乳類であるかどうかを判別するためにAIが計算した値で、0.5を超えると「哺乳類である」と判別します。


イルカの場合

まず、イルカを見てみましょう。


ハゲワシの場合

ハゲワシを見てみましょう。ハゲワシは、哺乳類ではないと判別する根拠となる項目の組み合わせの重みが多く、スコアが小さくなっています。


カモノハシの場合

カモノハシを見てみましょう。カモノハシは、スコアが0.5をわずかに超えており、哺乳類であると判別されています。

実際、カモノハシは哺乳類です。体毛があることや、羽がなく、背骨があり、肺呼吸することなどが、哺乳類であると判別する根拠となっていることが分かります。

「NEG」をクリックして、哺乳類ではないと判別する根拠となる項目の組み合わせを見てみましょう。すると、カモノハシは、卵生であることや歯がないことなど、哺乳類としては非常に珍しい特徴を持つ動物であることが分かります。それでも、哺乳類であると判別する根拠となる項目の組み合わせが多いため、AIはカモノハシが哺乳類であると正しく判別できました。

以上で説明は終わりです。みなさんのデータでも、試してみてくださいね。


Trial Toolを使用してみる

会員登録不要、無料でご利用いただけます。
さあ、Wide Learning™に触れてみよう!