コラム「どこかおかしいよ、データマイニング!」麻生川 静男


【第19回】データマイニング・夜話(その1)  


【第28回】データマイニング・夜話
(その十:子供の頃わくわくした事)


コラムTOPへ戻る

堅苦しい話がいくつか続いたのでちょっと肩のこらない、エッセー風のお話をしてみましょう。

私がニューロ技術をベースとしたデータマイニングビジネスを開始したのは、1990年でした。当時まだデータマイニングという単語も存在しなかったということは以前(第一回目)にも書きました。それと同時に、どの方面にこの技術(ニューロ)を適用すべきかという指針が見当たりませんでした。

つまり、ニューロが他のデータ解析技法(統計、ファジー、AIなど)と比較してどういうメリットがあるのか、またどういった分野に適用すれば効果がでるのか、私にはどうもはっきりしなかったのです。

当時ニューロといえば、大学などの研究機関では文字認識への応用が盛んに研究されていました。当時手書き文字認識システムは社会的に需要が高かったのです。しかし従来の技法では実用レベルに達するまでの文字認識率を得ることが出来なかったので、代替の方法としてニューロ技術が第一候補に考えられていたのです。

私たちが提携していたアメリカのニューロ技術専門の会社は小切手の手書き文字認識にニューロ技術を実用化していました。ご存知のように、当時(1990年)のアメリカでは、支払いのほとんどが個人の小切手でした。私も1982年にアメリカに行った時に、スーパーマーケットで、高々1000円(5ドル)程度の金額に小切手を切る人がまれではないのを見てびっくりしました。こういった小額の支払いから、数十万円の支払いまで、さらには、日本では銀行の自動引き落としが当たり前の、電気、ガス、水道などの料金支払いに至るまで、非常に多くの小切手が発行されます。手書きの小切手が銀行に集められ、人手で処理するのに膨大なコストがかかっていました。その上読み取り間違いもあるので、小切手の処理の自動化というのが各銀行の必達命題であったのです。

そもそも小切手には、金額を数字で書く欄と文字で書く欄の二つがあり、通常両方に記述します。ただ、その書き方にも多少決まりごとがあり、ドルの値は正確に書きますが、セントは適当に書きます。例えば、123ドル45セントだった場合、
  文字では: Hundred twentythree dollers
  数字では:123 45/100

文字認識ではこの内、数字の部分を正確に認識しなければなりません。しかし、手書き文字は人によってバラエティが多いので論理的なアルゴリズムで処理すると複雑なケース分けが発生し、その全てのケースに対処するプログラムを書かないといけません。しかし、それでも『想定外』の手書き文字には対処しきれなくて誤判断するケースが後を絶ちませんでした。方やニューロ技術で文字認識させるために実際の手書きサンプルを数多く集める必要があります。そのオーダーは数千であったように記憶しています。しかし、残念なことに、それらの文字を集めてソフトで学習をさせても、従来の技術よりは上回るものの、認識率はやはり100%になりません。

従って、運用システムではプログラムが数字を認識できない時は、元の画像としての手書きの文字を画面表示し、最終判断は人間(オペレーター)に委ねることになりました。これは、手書き文字(とりわけ数字)に対しては人間の方がはるかに高い精度で判別できるからです。

ニューロはこのようなエンジニアリング分野への応用の他にビジネス分野への応用も盛んに提案されていました。当時バブルがはじけた株式市場は今までにない株価の変動パターンが見られました。つまり、従来上昇一辺倒であった株価も1990年の年初から下落に転じ、その後もかなり大きな変動が見られました。それで、ベテランのトレーダーでも株価の予測が非常に困難な状態になったのでした。

そこで、私は、株価予測にニューロを使ってみました。株価というのは、非常に多くのデータ項目(パラメーター)が関与しています。例えば時系列のデータ(日々の株価、瞬間瞬間の株価、高値、安値、始値、終値、売買株数など)は膨大な量があります。これらの大量データから株価を予測しようとするのは人間にはきわめて難しいことなのです。つまり、私たち人間にとっては、単にデータ量(ボリューム)が膨大になると、それだけでもう手に負えなくなるのです。

実際いくつもの株価予測モデルを作りました。しかしながら、特に単一の株価の予測はいろいろ努力したにもかかわらずうまく行きませんでした。

この理由は株価の変動に寄与する変数全てが数値化されていないことであると言う事がわかりました。端的に言えば、文字情報によって株価がずいぶんと変動するにもかかわらず、それらは、数値化しにくいため、株価の予測モデルには入ってこないのです。ここでいう文字情報とは具体的には戦争勃発のような大事件や米国産牛肉の輸入禁止措置のような情報です。これらの情報で株価が大きく影響される銘柄がありますが、数値情報だけでは、どの銘柄がそれなのかが判然としません。また最近の某社のように、社長の逮捕や社員のスキャンダルも株価に大きく影響します。

結局一本一本の銘柄の株価予測は難しいので、次のようなポートフォリオ分析を考案しました。日経225銘柄のような代表的な銘柄を3分割します。過去1ヶ月の間に株価の上昇が一定率(例えば+5%)以上のもの、下降が同じく一定率(例えば-5%)以下のもの、そのいづれでもないものの3つに分割します。

こういう基準をそれぞれA、B、Cランクと名づけましょう。それぞれ過去の1ヶ月のデータから翌月にABCのどのランクに入るか、という予測モデルを作成しました。ここでは株価の時系列データ(例:高値、安値、終値)だけではなく、いろいろな観点から、各種の類似度を計算し、それを予測のパラメータの一つとして使うことにしました。

このようにして出来た予測モデルの評価はというと、次のような運用をすれば実用に耐えうることが分かりました。つまり、全ての日経225の銘柄の来月の値を予測させ、その内前月より、ランクが上がると予想された株(複数)を買い増しし、逆にランクの下がると予想された株(複数)を一部売却するという方法を採用します。もし、予測どおり、Aランクの平均上昇率が前月保持していた銘柄より上がるならば、理論上は日経225平均のインデックスを上回る運用実績を収めることできるのです。バブルの崩壊後のデータを数十ヶ月分使いながら、シミュレーション売買をして見ましたが結構いい成績を挙げることができたと記憶しています。もっともこのような運用をするためには日経225の全銘柄を購入する必要がありますので、私たち素人には向いていない仕組みでした。

さて、こういった全く方面の異なったプロジェクトを実際に経験してみて、気がついたことがあります。それは、同じ技術(ニューロ)を使いながら、評価が正反対なのです。文字認識に使った時は、精度が悪いと悪評でした。一方株の予測に使ったときは、人間より成績が良いと評判でした。

これはなぜでしょうか?全く同じ技術であっても、評価が人間の能力より上なのは、人間は多項目(多次元)の大量データは扱えないのでデータの全体像をつかむのがほとんど不可能なのです。それに反して手書き文字(数字)は人間の扱える範囲にあるので正しい判断を下すことは簡単なのです。一方ニューロにとっては多項目・大量データも少量データも全く同一の内部処理なので本質的な性能は変わりません。結局、技術は同じでも適用用途によってその技術の判断が全く異なることもある、ということを身をもって体験しました。

またこれとニューロを適用してはいけない用途も見えてきました。それは、完全さが要求される分野です。例えば、ロボットの腕(アーム)制御を考えてみましょう。ロボットの腕を制御するためには各部の重さや剛性を正確にモデル化する必要があります。しかしその計算が難しいため、モデル化をしないで、実際にロボットを動かしてみて、位置情報、速度情報、加速度情報をセンサーなどで計測し、それを基にして、ニューロでロボットの腕の運動モデルを構築します。このようなニューロモデルを使うと『ほとんどの場合』ロボットの腕を思ったように操作することができます。ここで『ほとんどの場合』と言ったのは、ほんのわずかの場合には、全く予想もしない動きをすることがあるのです。それはニューロ自身の本質的な判断機能が確率論的であるからです。したがって、完全に規定の範囲内の動きが求められる、ロボットの腕の制御などの用途にはニューロは使ってはいけないということになります。
続く...

TOPへ


Copyright © 2006 Zetta Technology Inc. All rights reserved.