タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

machinelearningとmathに関するgom68のブックマーク (4)

  • 機械学習に本気で取り組むためにやった数学周り 前半戦結果 - きのこる庭

    自分と同じようなバックグラウンドで「機械学習周辺の数学まわりの勉強をしたい」という人の助けに少しでもなれればと思い、半年間の勉強の軌跡を公開することにした。 ● 前提 ・数学の勉強と言える勉強は高校数学で言う所の数II・Bまでしかやってこなかった。 ・数学が超得意だったかというとそういうわけではなく、まあ普通なライン。 ・大学は情報系で文理一緒だけど、正直大学数学らしい数学はあまりやってこなかった。 ・社会人になって以来ずっと数学コンプレックスで「大学の時もっと理系の勉強をしておけばよかった」と後悔する日々だった。 ・「とにかくツールとか沢山触りまくって慣れた方が良い」という意見も沢山頂いていたのだけど、 – やはり専門の文献を読むとブワーッと数式が出て来て「うっ」となる自分が情けなく感じる経験をした – このまま勉強しないで年をとった後に「あの時やっておけば」という後悔はしたくなかった

    機械学習に本気で取り組むためにやった数学周り 前半戦結果 - きのこる庭
  • ニューラルネットの活性化関数 その2

    記事「ニューラルネットの活性化関数 その1」の閲覧数がそこそこあるので、近年の活性化関数も記しておきます。 (1) Rectified linear unit (ReLU) (2) Maxout activation functions (Maxout) 以下、簡単に解説しますが、不正確な表現も含みますので、正確な解釈は論文を読んでください。 (1) Rectified linear unit (ReLU) について 活性化関数は、 f(x) = max(0, x) で、x > 0 の時は f(x) = x、x <= 0 の時は f(x) = 0 となります。 導関数は、 x > 0 の時は f'(x) = 1 です。x <= 0 の時は f'(x) = 0 となるので、結合荷重は変化しません。 こんな簡単な活性化関数で大丈夫なのかと思われるかもしれませんが、隠れ層のユニットの数がそこそこ

  • ニューラルネットの活性化関数 その1

    ニューラルネットの活性化関数 (activation function) としては次のようなものがある。 標準シグモイド関数 (standard sigmoid function): y = 1 / (1 + exp(-x)) 【グラフ】 双曲線正接関数: y = tanh(x) 【グラフ】 abs を使った関数: y = x / (1 + abs(x)) 【グラフ】 それぞれの導関数 (derivative) は次のとおり。 y * (1 - y) 1 - y * y 1 / pow(1 + abs(x), 2) または pow(1 - abs(y), 2) 上記の活性化関数とその導関数は次の論文から引用した。 A Better Activation Function for Artificial Neural Networks, David Elliott, 1993 http://d

  • Softplus関数

    今日、Caffeというナウいニューラルネット実装を読んでいたら次の行で???となりました。 https://github.com/BVLC/caffe/blob/v0.9/src/caffe/layers/bnll_layer.cu#L20 数式で書くと(logは自然対数) \[f(x)=\begin{cases} x+\log(1+e^{-x}) & \text{if}\,x > 0, \\ \log(1+e^x) & \text{otherwise}. \end{cases}\] もっとオシャレに書くと \[f(x)=\max(0, x)+\log(1+e^{-\vert x\vert}).\] これが数値計算的なテクニックなのか、近似も含んでるのか、僕が知らないactivation関数なのかパッと見判断つかなかったのですが、微分してみたら両方シグモイド関数になりました(で、よく見たら

    Softplus関数
  • 1