blog画像が表示されないページは、元画像を間違えて削除してしまっているためです。データが残っていないので、想像力で補ってください。(3)まだ続いている、自分でニューラルネットのネットワークを書く話。チュートリアルを見始めたけど、ロジスティック回帰なるものが出てきて、わからないなりにやったところまでが前回だ。パラメータが1つの問題が線形回帰とか単純回帰とか呼んで、パラメータが増えると多重線形回帰になる。多重線形回帰の成果というか結果というかが2値の場合を、ロジスティック回帰と呼ぶ、という認識でいる。結果がAかAじゃないか、で、Aなら1.0、Aじゃないなら0.0、あとはよりどっちに近いかという値になる。チュートリアルは2変数なので、回帰モデルはこうなる。x_22元1次方程式、というやつですな。散布図を見ると、左下が0のグループ、右上が1のグループのようだ。図形的な解法だと、各グループの重心を求め、重心間に直線を引き、それと直交する直線で重心間の距離が等しくなるような直線を求めることになるだろう。いった求め方をせず、点のデータからその直線になるようなWを求めるのがこのチュートリアルになるはず。この節の一番下に破線が追加された散布図があるが、この破線がそれですな。このチュートリアルでは、散布図を見ると確かに直線で分離できそうだから2元1次方程式でよいだろう。Simple2dの場合はサイン波からデータを作っているので、直線で分離するのは無理だろう。やったとしても、x軸に平行な原点を通る直線になって、波の付近は全然ダメなはずだ。いう意味では、Simple2dはロジスティック回帰に適さない課題と言うことになるのか。そんなのは結果論であって、モデルがどういう風になるかわからないからディープラーニングだの何だのを使って勝手にやってもらおうとしているんじゃないか。なると、簡単な話で「CNTKでロジスティック回帰の計算はできるけれども、ロジスティック回帰はディープラーニングとは関係がない」ということか。ネットワーク図だって、全然層になってないし。今ひとつ自信はないが、そういうことにしておこう。チュートリアルのソースが、ラベルのモデルマッピングがないとかエラーが出たので、Simple2dのを付け足したものを置いておく。上にあるテキストファイルは結果で、これはチュートリアルサイトの結果とも一致しているから、間違ってないのだろう。https://drive.google.com/folderview?id=0B2_3hJpJ5Ui2Ymt0ZEM5NEtuZFE&usp=drive_web&tid=0B2_3hJpJ5Ui2QWZ5Mm5NV29USEEさあ、次こそは自分でネットワークを書いてみたいぞ。よそのサイトを見ていたら、面白そうなことをしていた。その1中身はわからないけど、私もこういう、自分で集めたデータで何かしてみたいのですよ。件のコメント:コメントを投稿コメントありがとうございます。申し訳ないですが勝手に削除することもあります。コメントを投稿できるのは、このブログのメンバーだけです。