ラベル データサイエンス の投稿を表示しています。 すべての投稿を表示
ラベル データサイエンス の投稿を表示しています。 すべての投稿を表示

2020年5月15日金曜日

使える AI 使えない AI

コロナの影響で派手な催しもできず AI / IT バブルがすっかり鳴りを潜めた感がありますが、本当のところはどうなんでしょうか? IT なんて不要不急の代名詞かと思いきや AI 系は影響を受けていないようです。よっぽど医療関係のほうがダメージが大きいです。


わからないものです。医療のほうが不要不急だったとは。ただ区別しないといけません。医療は個人のニーズで、AI / IT は企業のニーズです。たまたま私はそのふたつを掛け持ちしているので比較してしまうのですが、企業活動は個人活動を凌ぐ力、強さがあるようです。

AI にお金払っている個人います?いませんね。パソコン相変わらず賢くありません。このブログも賢くないかな漢字変換で効率悪く作っています。お金出して ATOK 入れたほうがいいのは分かっていますが、人間がカバーして良しとしてしまいます。

ところが、企業は AI にお金払います。AI が全部できる訳ではないです。本当に限られたシーン、適切なユースケースだけです。ただボリュームが大きくなると人間の 1/10 以下のコストで業務をさばきます。24時間365日さばき続けます。10倍、1/10 というのは、パラダイムシフトが起きる目安で、以前のニューラルネットや AI ブームが終わってしまったのは、せいぜい 3倍、1/3 どまりだったからです。

さてタイトルの “ 使えるAI 使えないAI ” 決め手は認識率だけではないです。ユースケース設計です。認識率が 仮に 80% でも、サンプリング調査であれば サンプル数を 25% 増やせば必要なデータは得られますね。ちょっと机上計算をしてみましょう。

・1 サンプル に10円かかる調査 で 1000サンプルなら 1万円、1250サンプルなら 12,500円
・1サンプルを人間がデータ化するのに 10円、AI だと 1円だとします。
 1000サンプルを人間がデータ化するには、1万円
 1250サンプルを AI がデータ化するには 1250円
結果、人間だと2万円、AI だと13,750円です。2万円と1万4千円ではインパクトないですが、2億円と1億4千万円だとしたら、 AI に切替ない経営陣は責任を問われます。

使える AI はユースケースに利があります。利があるユースケースをターゲットにして不要不急のコストをかけずに市場を拡大しています。AI  もまた資本主義の申し子、おそるべし資本主義!資本主義の辞書に自粛という言葉はないようです。

永島志津夫

全社のシステムを少ない人数で見ていれば時に見落としもあるかもしれません。
オフィスエヌ ショートレビュー5万円から。
連絡先 office.nagasima#gmail.com (#を@に変えてメールをお願い致します)


2020年3月4日水曜日

データ解析 〈2020年インフルエンザ流行終息!新型コロナはいつ?〉

新型コロナウィルスに関心が集中する一方で、インフルエンザの流行は終息しようとしています。年明け以降、患者数が急激に減少しシーズントータルで例年の半分程度となりそうです。およそ500万人がインフルエンザに罹らず済む見込みです。日本におけるインフルエンザ発症者の死亡率は約1万分の1なので500人の命が救われたに等しいことです。


こちらの患者数推移のグラフをご覧ください。東京都感染症情報センター インフルエンザの流行状況
今シーズンは例年より早く11月頃からインフルエンザの流行が始まりました。しかも、2009年に大流行した新型インフルエンザ AH1N1pdm09 の再流行で、患者数も急激に増加しました。
年末までは感染拡大が心配されていたのですが、年明け以降は急速に患者数が減少したのです。今シーズンの患者数推移が特異であることは、過去の推移との比較でも良くわかるかと思います。
一方、北米では2月時点で2600万人以上が罹患という状況です。AH1N1pdm09の怖さを物語るものです。ではなぜ日本で感染を抑え込むことができたのでしょう?コロナを契機とした予防対策でしょうか?人混みを避けることはインフルエンザに対する確実な予防策です。でもそれだけでしょうか?

暖冬傾向にあったことにも理由を求めることができるかもしれません。空気の乾燥は上気道粘膜を乾燥させ、ウィルス感染の初期フェーズ “細胞への吸着” の可能性を高めます。低温は体力を奪い、感染から発症までの可能性を高めます。

東京のコロナウィルス患者数が人口比で少ないことは気象条件が感染を左右していることを表しているのかもしれません。そうならばこの先の見通しを立てることもできます。もっとも患者が疎らな状況で結論を導くことは難しいです。3月初め現在の都道府県別患者数で、検定にかけられるような無作為抽出性を主張できそうにはありません。報道されているように偶発的な事象が患者発生の原因になっていると考えるほうが自然です(たまたま、あるイベントがあったために○○県では患者が発生したなど)。
予防対策の勝利なのか、天の恵みのおかげなのか、どうも判然としません。例えば次の情報から仮説を立てることはできるでしょうか?
都道府県別情報 インフルエンザ 新型コロナ
インフルエンザと新型コロナの流行に地域的な重なりを見ることはできますが・・難しいですね。

ひょっとしたら来週手掛かりが訪れるかもしれません。
3/9-14の週は千代田区の最低気温は10度を上回る高温予報です(3/4時点の10日予報)。
予報通り高温で推移したとして、東京都のインフルエンザ、新型コロナの新規患者発生数
がどうなるか?貴重なデータが収集できるかもしれません。

時流のテーマを題材に歯切れの悪いデータサイエンス、サイエンスにもなっていないお話しをしてしまいました。ただ実際、データサイエンティストが扱うテーマもこんな感じです。データに走る前に状況、基本理解に努めます。感染症の流行と終息要因の仮説として気温に注目している段階です。機械的に割り振りができるものは既にシステムに組み込まれています。結論を急がない、人間領域ではあえて機械と違う心構えでよいのではないでしょうか。
※週末は薬剤師業務をしており小児科、内科の患者さんと接しております。現場感からこのような投稿を上げた次第です。
永島志津夫


全社のシステムを少ない人数で見ていれば時に見落としもあるかもしれません。
オフィスエヌ ショートレビュー5万円から。
連絡先 office.nagasima#gmail.com (#を@に変えてメールをお願い致します

2020年2月11日火曜日

記号処理とニューラルネット 後半 〈Python AI ニューラルネット その7〉

ニューラルネットに記号処理・記号学習を組み合わせたら、というお話の後半です(前半はこちら)。欲張って中間層を50セルにし、第二位と誤答データだけで学習させたネットの結果(記事はこちら)を記号学習させました。結果は98.5%となりました。

中間層50セルで誤答データのみで再学習、epoch 1-17 が1つ目のニューラルネット、それ以降が2つ目のもの


記号学習は記号列生成と重み付け(学習)の2つのステップがあるのですが、今回は単純なので生成は端折りました。

記号列です
正解|第一位|第二位|誤答学習による第一位
ニューラルネットの表現では入力層が 10 + 10 + 10 、 出力層 が 10 、 この組み合わせが 10,000  ( 10 * 10 * 10 * 10 ) あるイメージとなります。

学習アルゴリズム
各記号列の重み付けは 10 * 10 * 10 * 10 = 10,000 のカウンター配列で表現します。学習データの結果に該当する配列要素をカウントアップしていきます。

評価アルゴリズム
テストデータに対し評価を行います。第一位誤答時に、第一位、第二位、誤答学習ネットによる第一位の記号列に相当するカウンター配列から最もカウントの多かった正解* を選びます。numpy.argmaxで一発ですね!

以上です。何と単純なアルゴリズムでしょう。くどいことを言えばAICを参照して冗長なパラメータをまとめてもいいのですが、アルゴリズムの単純さをそのままにしました。

これでもダメなケースはアフィン変換で伸ばしたり、縮めたり、回したり、動かしたりなのですが、計算コストがかかります。なので、簡単なアルゴリズムである記号処理を先に適用して良いかと思います。また記号処理はバイアスをかけられる利点があります。* 最もカウントの多いものを選ぶ代わりに、答えの候補のカウント値や順位を参照します。

MNISTのデータだとコンテキストはないのでバイアスの実験にはなりません。面白そうなサンプルがあったらまたブログにしますね。
永島志津夫

2020年2月7日金曜日

記号処理とニューラルネット 前半 〈Python AI ニューラルネット その6〉

ニューラルネットに記号処理・記号学習を組み合わせたら、というお話です。前回、“多層化が認識の本筋ではない” ことに触れました システムの費用対効果 〈Python AI ニューラルネット - MNIST その5 その続きになります。


まず、テスト結果を見てみましょう。

中間層50セルのテストデータ評価

出力 0 1 2 3 4 5 6 7 8 9 合計
誤答 54 25 59 70 62 39 57 46 61 64 537
正答 962 1,114 967 953 932 808 919 961 912 935 9,463
合計  1,016 1,139 1,026 1,023 994 847 976 1,007 973 999 10,000

出力の3や9の誤答率が高いですね。どのように間違えているか見てみましょう。

同、出力別正解対応表

 出力
正解
0 1 2 3 4 5 6 7 8 9 合計 
0

2 2
4 7 2 1
18
1

2 2
1 5 2 9
21
2 11 1
7 10
9 9 16 2 65
3 1 1 16

14 1 11 10 3 57
4 1 2 4


10 2 3 28 50
5 11 1 3 25 3
14 5 15 7 84
6 11 3 3
10 6
1 5
39
7 3 7 25 7 5



20 67
8 5 3 3 16 6 8 11 6
4 62
9 11 7 1 11 28 6
8 2
74
合計  54 25 59 70 62 39 57 46 61 64 537

これを見ると、誤答パターンがあるのに気付きますね。

出力 = 3では誤答70例中、正解 =  5, 8 で41例と過半数を占めます。“3のような5”、“3のような8” の悪筆が比較的多かったとも言えます。出力 = 3で間違えたら 5 と再回答すれば 25 / 70 ≒ 36% の確率で正解します。

出力層第二位の結果に注目して詳細を見てみましょう。出力層第二位の結果を含めると正解率は向上します。
システムの費用対効果 〈Python AI ニューラルネット - MNIST の続き〉

二位出力別正解対応表(一位出力=3で誤答)
  二位出力
正解
2 4 5 6 7 8 9 合計
0

1

1
2
1

1
1

2
2
1 2
1 3
7
5

25



25
7



3 2 2 7
8 1
1 1
13
16
9

1

3 7 11
合計 1 1 31 1 5 22 9 70

二位出力=正解のケースは誤答総数70例中、48例( 25 + 3 + 13 + 7) です。なので二位出力を再回答すれば 48 / 70 ≒ 69% の確率で正解します。では全てのケースで二位出力を再回答すればよいのかというとそうでもありません。

二位出力別正解対応表(一位出力=9で誤答)
  二位出力
正解
2 4 5 6 7 8 合計
2




2 2
3

1
1 1 3
4
1 2 1 10 14 28
5
1 2
1 3 7
7 1 5 6
3 5 20
8
1

1 2 4
合計 1 8 11 1 16 27 64

最も多い正解は 4 で 28例です。4と再回答すると 28 / 64 ≒ 44% の確率で正解します。ところが二位出力=正解のケースは 8例しかありません。 正解確率は 8 / 64 ≒ 13% とかえって悪くなります。 “9のような4” 、 “9のような7” は単純なニューラルネットには難し過ぎるようです。
そこで二位出力が2,4,5の時は7と答え、6,7,8の時は4と答えると 37例が正解になります。正解確率は 37 / 64 ≒ 58% です。

このような再回答ロジックにより正解率97.4%(誤り率2.6%)に改善できます(元の正解率94.6%(誤り率5.4%))。なお、 第二位再回答では正解率96.9%(誤り率3.1%)です。

実はここまでが前置きになります。今回のお題は記号処理とニューラルネットです。このような再回答ロジックを “人間が” プログラムで組むことは簡単ですが、果たしてニューラルネットで表現したり、学習することはできるのでしょうか?

長くなったので2回に分けます。次回に続く。
永島志津夫