スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Pythonで機械学習の進捗 §3-4

前回の記事§3-1でさらっと流したシグモイド関数について触れていました。紹介の順番があべこべになってしまいましたが気にせずいきます。

3.4では「ニューラルネットワークの実装」を紹介しています。
本では一番隠れ層が少ない3層の場合を取り上げています。

一番単純な機構という前提で考えると、私はこの”ニューラルネットワークの仕組み”を”行列をたくさん掛けるもの”だと思いました。
そりゃ行列を使うと言っているのだから当たり前のことなのですが。
言葉のイメージとして、

ベクトル →  行列  → … → ベクトル
(入力値) × (重み) ×   = (出力値)

このようなことを考えました。
ここには簡略化のためにバイアスを含めていないです。

本では計算を効率的に行う為に行列で実装しています。
ですが、私はむしろニューラルネットワークの仕組みが行列でも表せることを示したことが素晴らしいと思います。
それはなぜか。機械学習を数学的に解析することができるかもしれないからです。
機械学習を解析? と思われるかもしれません。なので、機械学習について考えてみます。

機械学習はここ数年で飛躍的な技術の向上があり、何かと話題になりますが、先行研究は1900年代に既に存在していたそうです。その頃のCPUの性能は現在に比べて著しく低いものでした。なので、機械学習の仕組みそのものを手計算で簡単に再現でき、その良し悪しを解析できました。
しかし、ここ数年の技術向上により機械学習がブラックボックス化してしまい、使えばうまくいくがなぜなのか分からなくなってしまいました。なので、当然解析もできなくなっているのです。
ブラックボックスとは過程が見えない・分からないことです。

このブラックボックス化してしまった機械学習の仕組みを解析することは数学者の中で当面の課題にもなっています。

私は行列の部分に注目することで多少の解析を行えるのではないかと考えています。
個人的な課題としては、行列が時々刻々と更新されて変化していく部分があります。決まってしまえば観察のしようがあるのですが、変わっていく様子となると複雑な計算が増えそうな気がします。
スポンサーサイト

コメントの投稿

非公開コメント

プロフィール

yamoto.tvp

Author:yamoto.tvp
FC2ブログへようこそ!
大学の数学科に通うほど、数学が好きな私です。
趣味で勉強している”機械学習”などの進捗を載せています。

最新記事
最新コメント
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。