Skip to main content

機械学習week3 logistic regression の const function

動画1

既に学習したcost function J(θ)を別の表し方をしてみる
単に、i番目の特徴量xとi番目の結果であるyの組み合わせの関数を定義してるだけ
次に、linear regression のコストファンクションは、logistic regression には合わないので、それ専用のコストファンクションを考えていく。

ちなみにlinear regression のコストファンクションが上手くない理由は以下。

$h_\theta(x)$ が $\frac{1}{1+e^{-\theta^Tx}}$ なので、これは1次関数ではない。今まではこれが1次関数だった。その場合には convex つまり極小値が1個しかないグラフになった。

$h_\theta(x)$ が $\frac{1}{1+e^{-\theta^Tx}}$ の場合には non-convex つまり極小値が複数あるものになるので、上手くgradient descent が機能しない。



logistic regression の場合の cost function

まずy=1のときと、y=0のときでファンクションが違う

左の図が $-log(h_\theta(x))$ だ。
なぜこうなるかというと、log(z)が左の青い図
-がついて反転するのでピンクと赤の部分になる
さらに、zの部分に $h_\theta(x)$ が入るわけだが、 $h_\theta(x)$ はシグモイド関数の中に入ってる関係上、0〜1までの値しか取らないので、結果としてピンクのエリアになる。これが $-log(h_\theta(x))$ の図

y=0のときは以下



Comments

Popular posts from this blog

1日目 シャンポリオン・シュリーマン・チャレンジとは

ト ロイ遺跡を発見したシュリーマン。彼は語学の天才だったということになっております。武器商人としてクリミア戦争で莫大な資産を築いた彼は、現在のトルコ、エーゲ海の東側で発掘を始めます。 そんなシュリーマンが古典語を学ぶために何をしたか。なんと、フランス語に翻訳された本と、古典語の本を並べて、両方暗記する。辞書は引かない。文法もやらない。という方法で学習したそうです。 本当でしょうか? 気になります。 そこで私も、イタリア語の村上春樹を手に入れましたので、これと英語版の村上春樹を並べて、スペイン語を勉強したいと思います。名付けて、シャンポリオン・シュリーマン・チャレンジ。 シャンポリオンはもちろん、あのヒエログリフを解読したフランス人です。彼は、ロゼッタストーンに併記された三つの文字、ヒエログリフ、それから古代エジプトでもヒエログリフよりも一般に使われていた文字、最後にギリシャ文字、この三つの文字を頼りに、ヒエログリフを解読しました。 今回、村上春樹の日本語と英語とスペイン語版を並べて、暗記する、というのを行なっていきますので、これはまさにシャンポリオンのヒエログリフ解読ではないかと!雰囲気的に!ということで、シャンポリオンシュリーマンチャレンジと名付けたいと思います。 さしあたって1日目のシャンポリオンシュリーマンチャレンジ、感想としては辞書を引きたい。文法書を読みたい。です。意味のわからない言葉の羅列を覚えるの、かなり厳しいですね。わかるようになる気配がない。 明日も頑張ろ〜🦀

13日目 豆腐屋で湯葉を買いたかった

豆腐 シャンポリオンチャレンジは続けております。 さて、今日は豆腐屋に行きました。桃山豆腐さんです。 https://www.google.co.jp/amp/s/s.tabelog.com/tokyo/A1305/A130501/13113038/top_amp/ 湯葉を買いたかったのですが、間に合わず。いつもお邪魔しております日本酒バー、丙午さんで出されてる湯葉は、ここのお店のものということです。非常に美味しい。また来よう。 明日もがんばろ〜🦀

week3

y=1の場合とy=0の場合と、2つの別れたものを書いてきたが、これを上記のようにまとめることができる。 なぜなら、y=1の場合には、式の後ろの方にある(1-y)が0になってきえて、前半だけになり、y=0の場合には前半の-yが0なので前半が消える。yは0もしくは1しか取らないので、結果、組み合わせる前と同じことになる。 そしてなんとコストファンクションを解くために偏微分すると、リニアプログレッションのときと全く同じ式になる。 コレは全く同じかといえば、同じではない なぜなら、リニアのときは $h_\theta()$ は単なる一次式だったが、logistic regression の場合は、一次式をシグモイド関数g()にぶっこんだ値だから。そこが異なる。 そして、結果的に同じコストファンクションの計算になるので、やることは同じ