著者アーカイブ 杉浦

著者:杉浦

アンケートにかかるバイアス

 この記事の話は、アンケートの回答者は本当に知りたい情報の情報源なのかを知ることによってより正確にアンケートを行うことができる、という話です。
 こんな話があります。ある調査会社は固定電話によって次の選挙で誰に投票するか世論調査を行いました。調査結果はAさん、もしくはBさんが当選するだろうと結果を示しました。しかしながら、実際の選挙ではCさんが当選しました。この原因は固定電話による世論調査に応じる人々は有権者のうちわずかであるということです。この話が一昔前の話ならば、固定電話は高価であり、固定電話のみによる調査では有権者のうち富裕層の意見ばかりを集めてしまったのでしょう。この話が最近の話ならば、固定電話を持たない家が増えたため、固定電話のみによる調査では有権者のうちの若年層の意見がぬけてしまったのでしょう。
 この回答者の集団と知りたい対象の集団のずれを疫学では選択バイアスと呼びます。また、母集団(知りたい情報を持つ対象群)から標本(アンケート回答者)を抽出する際にバイアスがかかっている、とも言います。
 選択バイアスがかかったアンケートを試みてしまった場合、前述の例のような失敗が起こることになります。他の例として、動物園や水族館のの出口にのみにただおいてある様なアンケートがあげられます。これは記入が任意かつ無報酬かつ自由な時間を使用させるアンケートになり、とても高い評価やとても低い評価が回答の多くを占めやすいという失敗が起きやすいです。このような失敗が起きる原因はアンケートを書きたいだけの動機がある人ばかりがアンケートを書く、そのような人とは強い感情を持つ人である、強い感情による評価とはとても高い評価ととても低い評価である、ということにあります。
 選択バイアスの対策として層化というものが試みられています。これはありうるであろうバイアスを埋めるように複数の集団からアンケートを取るようにするという方法です。選挙ならば、人種、財産、宗教、地域などなどを別々に分け、それぞれからアンケートを集計し、その結果をまとめるというものです。起きうるバイアスが正しく予想できる場合、この方法によってバイアスを打ち消すことが可能です。しかしながら、この方法は分けた集団がそれなりに大きいサンプル数を含んでいない場合、ランダムな誤差が大きくなるという問題があります。このランダムな誤差とバイアスの誤差のバランスをとるためにも、アンケートの回答者がどのような方々なのか、知りたい情報源となるのはどのような方々なのかを知ることが大切になります。

著者:杉浦

ディープラーニングのできる多彩な表現

少し前の画像関係におけるディープラーニングの成果のニュースでは、数十万枚の画像データから学習を行った、というようなふれこみがありました。(最近は画像に上手く回転、移動などの変換をかけてデータの情報量を増やすことによって比較的少ない枚数による学習を行うことができるようになりました。数十万枚でも数千枚でもそれほど学習効率は変わらないはずです)
ディープラーニングにおいて、数十万枚のデータの学習による結果の精度は、数万枚のデータの学習にかかる時間よりも魅力的でした。この記事の話はディープラーニングがなぜそれだけ多くのデータから学び続けられるのか、という話になります。

ディープラーニングはビッグデータと呼ばれるExcelではとても扱いきれないぐらい巨大なデータを用いて学習することができます。これだけ膨大なデータを学習に活かすことができるディープラーニングは多彩な表現が可能になっています。ディープラーニングとは巨大なニューラルネットワークによる機械学習のことです。ニューラルネットワークの持つ表現の仕組みから、多彩な表現が可能な理由の一つを述べます。

ニューラルネットワークは下図の黒丸一つ一つで場合分けを行い、矢印先の黒丸一つ一つにその結果を伝え、伝えられた結果から場合分けが行われます。

この場合分けの伝達によって、場合分けの組み合わせ爆発ともいえるような状態を作れます。
例えば、8個の場合分けから成る層(上図の黒丸の縦列のこと)が14層並んでいるならば、場合分けを8^14回まで行えるようなものです。ここで行えるようなもの、というのは厳密には違うということと用いる意味の薄いであろう場合分けはあらかじめ無視し、処理しないということができるからということです。画像認識を例にすると、画像上における近隣の情報との関係が遠方の情報との関係よりも重要になるので、遠い画素との場合分けは省略したほうがお得です。

このように場合分けを多くすることで、この画素ならばこの線、この線ならばこの部品、この部品ならばこの物体という演繹を広く行うことができ、精度の高い結果を出力することができます。

著者:杉浦

ディープラーニングの得意なこと、不得意なこと

この記事の結論は、ディープラーニングは、限られた情報空間内における予測、識別がとても得意であり、学習した情報に類似のない未知の情報に対する予測、識別が不得意、ということです。(y=xという式を予測したいとき、学習データがx=0からx=100までの範囲しかないならx=1000の場合の予測は無茶苦茶になりやすい、みたいな)
近年、ディープラーニングとして多数の層に組まれたニューラルネットワーク(以下NN)が注目されています。ディープラーニングという技術はNNの延長線上にあり、利点を伸ばし、欠点を小さくしながらもNNと同じ利点、欠点を引き継いでいます。
NNは確率的場合分けによる多値分類手法といえます。ここでいう分類とはaはカテゴリAに属する、bはカテゴリBに属する、…といったものです。確率的場合分けと確率的でない場合分けの違いを述べます。たとえば、AとBを場合分けするとします。確率的場合分けはAの確率70%、Bの確率30%と一度出力し、最も高い確率はAなのでAと分類します。確率的でない場合分けは確率を介さずにAと分類します。この場合分けを行う関数が活性化関数と呼ばれます。活性化関数にはステップ関数、シグモイド関数等の関数があります。
ステップ関数

0か1かのみの関数です。縦軸が0ならばA、1ならばBといった具合です。0%、100%という確率を表してるとも言えます。
シグモイド関数

0から1までを滑らかに表す関数です。縦軸が0.3ならばAの確率30%といった具合です。このシグモイド関数のような関数を用いることで確率的場合分けを行うことができます。関数の形からわかる様にこの関数単体で可能な分類は二値分類のみです。
多値分類とは分類結果の種類が3種類以上の場合の分類のことです。先ほど紹介した活性化関数を複数介することで複数種類の分類を行うことができます。下図の黒丸一つ一つが活性化関数です。左端の入力を上からx,y,zとします。活性化関数の出力である矢印はいずれも単一の出力である同じ値のことを示しています。活性化関数の一つであるシグモイド関数は出力:1/(1+exp(ax+by+cz))となるような関数です。このa、b、cはパラメータです。

ネットワークに学習をさせるということは、あるデータがこの関数らを介してどこに分類されるか、それが正しい分類かを試し、より正しく分類できる関数になるようにパラメータを変化させることです。上図では最終出力が二つあります。この最終出力は様々です。それぞれAである確率、Bである確率の様な単なる分類結果とすることもありますし、同じ入力から全く別の二種類の情報を得ようとすることもあります。
学習データに完璧に対応したネットワークが完成した場合、学習に用いたデータと同様のデータを入力した時には正しい分類を行うことができます。ディープなNNを構成するディープラーニングで用いるモデルは柔軟なモデルであり学習データに完璧に対応したネットワークが構成されやすいです。学習を行っていないデータが入力されたときはどうなるか。ネットワークは入力されたデータが学習に用いたデータに類似したデータの場合、正しい分類を行います。一方で学習に用いたデータと類似していないデータの場合、あてずっぽうともいえる的外れな分類を行いやすいです。このためディープラーニングは、学習したデータとその近辺の予測、識別が得意、学習した情報に類似のない未知の情報に対する予測、識別が不得意、ということになります。

余談:ディープラーニングが画像認識を得意とする理由の一因は画像の変化としてありえそうなパターンである拡縮回転、光源等による規則的な色調変化を広くカバーできるためです(学習データを拡縮回転、規則的な色調変化すればそれでありえそうな異なる画像を学習したのと同じことになる。ディープラーニングは学習データを増やしても学習データに対応できる柔軟性がモデルにある)。