スポンサーサイト

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

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

3.5では「出力層の設計」の説明があります。
私は始め、出力層は自身の値を返す(つまり、恒等関数)のみだと考えていました。

つまるところ、隠れ層(中間層)で行う操作で出したい結果をまとめられると考えていたのです。
ソフトマックス関数を隠れ層として追加する考えです。しかし、これは非効率的でわざわざ中間層を1つ増やしていました。
このことから、わざわざ層を増やすよりも、出力層を使い分けることの方がきれいにまとまっているのです。

恒等関数の紹介は本に書かれている通りで、入ってきた値をそのまま返します。
数学でも恒等的と表現して使うことがあり、その場合も同様の使い方です。

ではソフトマックス関数とはどのようなものなのでしょうか。

式で表すと上のようになります。
良く分からない exp という文字を無視して考えます。
分母にあるMを横に倒した文字はシグマ和(と私は勝手に呼んでます)といって、繰り返される足し算を省略して表す記号です。
つまり、この式の意味は各成分を全ての成分を足した数で割っているということ。

で、結局何してるの? って話ですが・・・

ようは各成分が占める割合を%で表示したいということです。
%で表せたので、分類問題での各比率を出し比べられます。

では無視していた exp について考えましょう。
グラフにするとわかりやすい法則があるので、以下2つをグラフで表します。
・y=exp(x)
・y=x



曲線で上がっているのが y=exp(x) です。この曲線の特徴は2つあります。

・ y=x に比べて急激に増える。
・yの値が0より小さくならない。

この特徴は非常に重要なものです。

1つ目は各成分の違いがより明確になることです。差が広がれば、その分割合も変わってきます。
2つ目は負の値がなくなることです。実は%で表示する時に各成分が全て正の数(負の値ではない)である必要があります。

このような特徴をもつ簡単な関数の1つが exp なんですね。
スポンサーサイト

コメントの投稿

非公開コメント

プロフィール

yamoto.tvp

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

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

この人とブロともになる

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