証券アナリストジャーナル読後メモ:機械学習とは何か?
https://www.saa.or.jp/dc/sale/apps/journal/JournalShowDetail.do?goDownload=&itmNo=34507
証券アナリストジャーナルを2010年頃からずっと購読している。著名な学者そして経営者の貴重な講演や論文を閲覧できることができ、大変勉強になっている。年会費18,000円は維持コストとして高い、という声も周囲でよく聞くが、月にならせば月額1,500円である。月一回の外食をやめればいい程度のコストで、この水準の論文や講演が読めるのは圧倒的にコストパフォーマンスが良い、と常々思っている。
以下は2017年の記事と少し古いが、「機械学習(マシンラーニング)とは何か」がよくわかる記事のまとめである。これを読むだけでは箇条書きの羅列なので、わかりにくい部分もある点ご容赦いただきたい。
自分はこの記事を読んで、なぜ人工知能によるローン審査は実用化が難しいのかを当時理解できた。それは単純に、ローンの審査を人工知能が行なってしまうことで可読性が失われ、仮にローンを謝絶する場合でもその理由が全くできないためである(説明可能性の喪失)。この点につき、今のモデルは可読性が認められるのかも知れないが、人工知能活用における根本的な課題(可読性が失われること)は今も残っているはずである。
1.機械学習と統計の違いとは
機械学習とは、「統計的推論」のことで統計学との違いは以下の通り。
統計学:データ解析を通じて対象とする現象を理解することに重きをおく。可読性の高い単純なモデルー線形モデルを用いて、予測・意思決定の性能だけでなく、その背後のメカニズムを科学的に分析する。
機械学習:完全に工学的アプローチ。「高精度な予測・意思決定を実現すること」に重きをおく。性能向上につながるのであれば、線形モデルに固執せず、ブラックボックス性の高い複雑なモデルを利用する。この時、モデルの可読性は完全に失われ、どのようにして予測、意思決定がなされるかを解釈することは不可能となる。
予測や意思決定に関して強い透明性や背後のメカニズムを明らかにすることが求められるタスクに、機械学習を用いる意味は全くない。
機械学習を適用する前に、透明性を捨てて予測や意思決定の性能を重視する意味があるか、熟考する必要がある。
2.機械学習のステップ
機械学習のステップ:①特微量の設計、②モデルの構築、③モデルパラメータの学習、④モデルの評価である。
①特微量の設計について:
入力データとして、構造化データのみでなく、画像・テキスト、音声、時系列などの非構造データも取り扱う。
非構造データは計算機で直接読み取ることができず、データに含まれる特徴を失わぬよう、ベクトルに変更する。この変換後ベクトルを「特微量」「特微量ベクトル」と呼ぶ。
低次元、かつ情報を十分含む特微量の設計が機械学習の肝。②モデル構築について:
特微量:入力、予測値:出力 とする関数予測モデルを構築するが、線形モデルと階層モデルがある。
線形モデル:入力する特微量の線形和で予測値を出力。
階層モデル:入力する特微量ベクトルに多段階的に非線形変換を施し、予測値を出力。③モデルパラメータの学習について:
機械学習の目的は、手持ちのデータではなく、手持ちのデータに含まれない未知の入力に対応する出力ラベルを予測すること。
未知のデータに対する予測能力の確保のことを「汎化」と呼ぶ。
「汎化誤差」とはモデルの出力と未知のラベルとの差である。
学習誤差とはモデルの出力と手持ちのデータの出力ラベルの差である。
学習誤差と汎化誤差はデータ数が無限大の極限では一致するが、データ数が有限である時に一致する保証はない。
汎化誤差を最小化するためには、モデルの複雑さを状況に応じてコントロールする必要がある。過学習:モデルの複雑度が大きくなると手持ちデータに過剰に適合して汎化が不十分となる。
汎化誤差を最小にする学習の実現には、データ数に応じて適切な複雑度を持つモデルを選択しなければならない。
オッカムの剃刀(ある事柄を説明するために、必要以上の仮説を課すべきではない)が、機械学習にも当てはまる。
3.機械学習の急所:正則化
正則化とはモデルの複雑さを制御する方法である。
あらかじめ複雑なモデルを選択し、その複雑さに対してペナルティをかけながら学習する方法であり、このペナルティを正則化と呼ぶ
もっともよく使われる正則化はパラメータのノルムの大きさを制限すること。パラメータの絶対値が大きくなると入力の微小な変化に対してモデルの出力が大きく変動してしまう。データに対するセンシティビティを下げることが必要。
正則化による学習を行うには、正則化をどのくらいの強さにするか、モデルの複雑度にどのくらいペナルティを課すかを決めなければならない。
4.ニューラルネットワークとは
ニューラルネットワークとは、多段的に線形演算と活性化関数と呼ばれる非線形変換を交互に適用した階層モデルである。
ニューラルネットワーク設計のポイントは、データが持つ特徴を意識したモデリングを行うことである。
画像の場合、他の信号(音声など)との最大の違いは「エッジ」(異なる物体間の境界線)である。エッジの検知には「局所的な」画素の変化を捉える必要がある。そのため、局所的な変化の検知に優れた演算がよく用いられる。
文書の場合、一つの単語の前後だけでなく、離れた単語同士の関係性を考える必要がある。大域的な関係性を考慮するネットワークが良い性能を発揮する。
高い階層の持つニューラルネットワークの場合、学習時にネットワークの一部のパラメータが大きくなり、モデルの一部が学習で止まってしまう。
データが少ない場合は過学習を生み出しやすい。
5.強化学習とは/説明可能性とは
強化学習とは、確率過程の同定を行わず、適当な意思決定則を用いてデーター行動履歴と報酬を収集、そのデータをベースに効用関数が大きくなるように意思決定則を導出すること。システムの確率過程について知らなくても最適な意思決定則を見つけることができる。
強化学習の大きな欠点は、学習をするために多くのサンプリングが必要であり、大量なサプリングが必要。データの入手が困難な問題には適さない。
説明可能性について:市場のダイナミクスを効率よく予測できたと仮定しよう。その予測のメカニズムは果たして人間に理解できるようなものなのか?人間に理解できる程度の論理で市場のダイナミクスを説明できるのか?市場のような複雑な世界と対峙していくにあたり、透明性の追求は限界がある。
この記事が気に入ったらサポートをしてみませんか?