トップページ⇒tech
986コメント330KB

ニューラルネットワーク

■ このスレッドは過去ログ倉庫に格納されています
00011NGNG
について教えてよ
0153デフォルトの名無しさん2007/01/28(日) 19:12:42
>>148
ベイズ推論マシンと考えれば十分な理解だろ。
0154デフォルトの名無しさん2007/01/29(月) 01:14:12
>>152
151の本意はわからないが。
ニューラルネットワークの講義とかうけてみたけど似たような説明を受けたよ
そもそも理解しようという態度が皆無なんじゃないかな
0155デフォルトの名無しさん2007/01/29(月) 01:25:57
>>153
それじゃ現実の脳の動作は解明できない
双方向に結合したダイナミクスこそが命
0156デフォルトの名無しさん2007/01/29(月) 02:58:54
現実の脳の解明がNNの理解に必要とでも? 別物。
0157デフォルトの名無しさん2007/01/29(月) 09:05:40
あくまで脳の働きをまねただけだからな。
遺伝的アルゴリズムを理解するのに遺伝学は必要ないのと同じ。
0158デフォルトの名無しさん2007/01/29(月) 19:42:19
>>156 逆
実際の脳を解明するためのモデルというのもNNの役割の一つ
っつーか原点
0159デフォルトの名無しさん2007/01/30(火) 12:36:12
>>152
キミは典型的な「おこちゃま」。ガキは大人の言うことを従っていればいい。
0160デフォルトの名無しさん2007/01/31(水) 08:33:27
>>157
遺伝学を知ってる方がGAの理解や開発で助けになるし、
GAによって生物の遺伝の仕組みに対する研究も行なわれてる
0161デフォルトの名無しさん2007/01/31(水) 11:57:20
単なる重み付き選択だろ。
0162デフォルトの名無しさん2007/02/01(木) 22:57:19
>>161
単なるだが、画期的とも言うw
その仕組みを毛嫌いしているのが大量にいるのも事実。
0163デフォルトの名無しさん2007/02/09(金) 04:17:56
ニューラルネットワークはネットワークによる情報処理を論理的にしか
解釈しないからこそ使えねーなんて考える香具師ばっかりになるんだろう。
単純な演算素子のような使い方ならいくらでも活用可能だろ。

この辺が何も進まないのは自動学習にこだわりすぎている点であって、
ファジィーのような使い方の応用をすればいいだけ。
単純モデルばかりで万能のように考えるのも的外れなんだよな。
半導体でFPGAとかをプログラムする前に完成しているように誤認する
奴とかは、途中に複雑な設計が必要なことを全く理解できていないよな。
0164デフォルトの名無しさん2007/02/10(土) 01:53:10
>>161
ランダム(シミュレーション)はどう選択するかが全て
それで効率や結果が大きく変わってしまう
それを「単なる」というのは何も分かってない証拠
>>163 同意
0165デフォルトの名無しさん2007/02/13(火) 13:56:53
四則演算専門のチップ上にニューラルを構成するのと
ニューラルチップ上に、四則演算をする為の命令を構築するのとでは
どっちが高速なの?
0166デフォルトの名無しさん2007/02/13(火) 18:11:18
四則演算専門のチップ上に構成するニューラルネットワークによるだろ
0167デフォルトの名無しさん2007/02/13(火) 21:33:24
>>165
やりたい事が書いてないのにどちらが高速かなんて分かるわけがない
それにニューラルチップと言っても色々あるし
0168デフォルトの名無しさん2007/02/13(火) 21:38:03
そんないろいろあったか?
0169デフォルトの名無しさん2007/02/14(水) 06:26:20
>>168
モデルをちょっと変形すれば、いくらでも。
0170デフォルトの名無しさん2007/02/16(金) 06:45:27
ネットワークそのものが情報処理の座なのに、量子コンピュータとか
DNAコンピュータとか訳のわからんことをいうのが時々います。
こんなキチガイを無視するのは簡単だが、無知な奴はこれを信じてさらに
増殖してしまいます。どうにもならんのか。
0171デフォルトの名無しさん2007/02/16(金) 23:16:32
無視すればすむ話なので、増殖したとしても何の問題もありません。
0172デフォルトの名無しさん2007/02/17(土) 11:42:40
171は典型的な無視ができないDQN君?
0173デフォルトの名無しさん2007/02/18(日) 01:54:49
172は典型的な無視ができない(ry

173は典型的n(ry
0174デフォルトの名無しさん2007/02/19(月) 07:23:28
メタだな
0175デフォルトの名無しさん2007/02/25(日) 09:36:10
ダメだな
0176デフォルトの名無しさん2007/03/19(月) 12:49:06
>>170
たしかに量子コンピュータなど考慮するほど優れているものではないのは
間違いないが、今後も同じとは限らない。
0177デフォルトの名無しさん2007/03/21(水) 06:14:40
良子は精子を象さんします、ぱふぱふ
0178デフォルトの名無しさん2007/03/26(月) 09:50:32
>>176
日本語おk

量子コンピュータなど糞以下。現実がそれを証明している。
0179デフォルトの名無しさん2007/03/26(月) 22:14:09
ここで聞いていいのか知らんけど、
だれかSVM(サポートベクターマシン)分かる人いない?

ttp://www.neuro.sfc.keio.ac.jp/~masato/study/SVM/index.htm
ここを見て実装しようとしてるんだが、正規化のやり方と意味が分からなくて。
0180デフォルトの名無しさん2007/03/27(火) 00:02:32
とりあえず何も言わずに http://www.amazon.co.jp/dp/0521780195 でも読んでみたら?
訳書もあるし http://www.amazon.co.jp/dp/4320121341
0181デフォルトの名無しさん2007/03/27(火) 12:16:03
>>180
その本さ、凄く簡単そうに見えるんだけど
肝心の事が書かれて無いと言うか、詳細が無いので・・・
軽く読めるけど、全く為にならんし、実装しようと思ったら逆に凄い労力かかったよ・・・。

もっとマシな本ないんかなぁ・・・
01821802007/03/27(火) 12:45:38
>>181
え?そう? SMO や (dual objective などによる) 収束判定に関しても
詳説してあるし,自分は (SVM の最低限の実装なら) 特に問題なかったけど?

>実装しようと思ったら逆に凄い労力かかったよ・・・。
具体的にどこに労力がかかったのかkwsk
0183デフォルトの名無しさん2007/03/29(木) 22:30:40
>>170
今の時間軸でしか考えられないダメプログラマが付いて行けなくなるからって、僻むのはおよしなさい。
君たちは短命ながらもよく動いてくれたよ^^
0184デフォルトの名無しさん2007/03/31(土) 15:08:35
>>183
またおまえか
0185デフォルトの名無しさん2007/04/01(日) 16:33:37
非ノイマン系はプログラムするという概念を持ち込んじゃダメ。
基本的にネットワークなんだから、プログラムなどの枠で縛ったら
何もできなくなる。
0186デフォルトの名無しさん2007/04/01(日) 19:42:07
時間軸でしか考えられないプログラマか…
そういうプログラマが大半なんだがら、逆に言うと、量子コンピュータが普及しないって考え方も出来ると思うがな。
出来ないプログラマが死滅するより可能性は高そう
0187デフォルトの名無しさん2007/04/02(月) 19:07:08
>>186
量子コンとかあれほど研究されているのにアルゴリズムが増えないのは
考え方に問題があるのではなく、単に使えない技術が誇張されすぎただけ。
世の中の技術は科学、つまり理屈で出来ている、仕組みという理屈が通じない
世界が普及するわけがない。
0188デフォルトの名無しさん2007/04/02(月) 20:36:15
>考え方に問題があるのではなく、単に使えない技術が誇張されすぎただけ。
ソースor根拠希望
0189デフォルトの名無しさん2007/04/02(月) 23:47:23
>>187じゃないが
>あれほど研究されているのにアルゴリズムが増えない
が根拠じゃないの?
量子ビットで解ける有意な問題がほとんど無いという。
ただ、現状の公開鍵暗号システムを崩壊させられるだけでも十分にインパクトはあると思うけど。
0190デフォルトの名無しさん2007/04/03(火) 01:11:08
>現状の公開鍵暗号システムを崩壊
量子が突破するまえに従来技術で突破されるだろう。
0191デフォルトの名無しさん2007/04/03(火) 04:22:01
どの暗号システムかによる。
0192デフォルトの名無しさん2007/04/03(火) 21:48:33
>>190
素因数分解にしても離散対数問題にしても、解法が見つかるとはとても思えない。
ブルートフォースにしても、現状の1万倍速いCPUが出来ても
(相応に鍵長を増やすだけで)何の意味も無いことを考えると、
量子コンピュータや類似のアプローチ以外で突破は難しいと思う。
0193デフォルトの名無しさん2007/04/04(水) 23:52:44
>>192
それは秀才がやれば難しいだろうけど、天才なら別の問題だろう。
0194デフォルトの名無しさん2007/04/11(水) 18:48:55
>>192
フレーム問題の中でしか思考できない奴には難しいとしか思えないんだろう。
自分で思考の壁を作っているし。
0195デフォルトの名無しさん2007/04/14(土) 23:47:22
ダメな奴は何をやってもだめ。
01961922007/04/16(月) 13:00:53
>>193-195
その通り過ぎて返す言葉も無い。
やっぱり壁作りすぎかなぁ。
最近、先行研究のサルベージ→問題点をぐちぐち→でも自分も解決できないループが...
0197デフォルトの名無しさん2007/04/18(水) 09:47:36
>>196
ガンガレw

大体に天才と言われる香具師の発想は、誰が見てもコレはキチガイとしか
いえないという発想です。常識を超えるには非常識にならないとw
0198デフォルトの名無しさん2007/05/04(金) 15:01:51
>>179-182
いまさらですが、リンクしておきます。

SupportVectorMachine(SVM)とその周辺
http://science6.2ch.net/test/read.cgi/sim/1152969662/
0199デフォルトの名無しさん2007/05/11(金) 17:36:34
このスレ面白いな。
いろんな分野の人間が話してて、レスもすごい玉石混交w。
0200デフォルトの名無しさん2007/05/28(月) 06:20:20
>>196
先行研究者が行ったことを繰り返しても、同じ結果になるだけである。
ループから飛び出るには理屈を越えた視点から客観視するしかない。
これは知識そのものが敵=壁なのである。
絶対ありえない、そんなオカルトのような、という点から模索し
理に叶う部分を模索すれば、先駆者が見つけられなかったありえない部分を
模索することになる。

シャーロックホームズ言葉に以下のような発言があるらしい。
彼の言葉が理解できないようなら諦めてくれ。
>彼が言うには情報が多ければ多いほど本当に必要はその中に
>隠れてしまい自分の判断を鈍らせる。
>本当にいる情報をその中から得るにはまず自分の先入観に
>とらわれない思考方法が必要だと言っている。
>そして先入観こそが我々を間違った解へ導く最大の敵とも。
>先入観にとらわれず自分にどのような情報が必要なのかを
>把握しておかなければならない。
>それらの中から絶対にありえない情報資料を削除し残ったものが
>我々の求めている解なのだと。
0201デフォルトの名無しさん2007/06/19(火) 19:00:06
Web上で実行する類似画像検索にニューラルを適用しようと思うんですけど、
既に先行研究があったりします?
あと、現実的な速度で出来るものなのでしょうか?
手書き文字の認識につかったりはしますけど・・・
0202デフォルトの名無しさん2007/06/22(金) 19:52:49
たくさんあると思う
image retrieval/database と neural network で検索するといろいろある
例えば http://citeseer.ist.psu.edu/kulkarni99content.html からたどれる
0203デフォルトの名無しさん2007/07/24(火) 06:18:40
まぁ、googleの検索みたいに高速検索にはつかえたもんじゃねぇけどな。
精度を落としてでも、何か結果を出せて、google並みの速度を出すなら
画像を文字列の問題に落として、DPマッチングでもさせた方が良い
0204デフォルトの名無しさん2007/07/24(火) 09:23:39
精度を落としたら意味無いじゃないか?
むしろGPGPUなんかでハードウェア・アクセラレーションする事を
前提にして今は基礎固めするのが研究としては真っ当だろう。

ニューラルネットを実用化する際に今の汎用CPUだけでやろうと
言うような不必要な制限を設ける理由が俺には良く分からんよ。
0205デフォルトの名無しさん2007/08/09(木) 22:48:18
ニューラルネットは、機械語のようなものであって。それより高い次元で
構築できるようなエージェント搭載の高級記述言語みたいので設計する時代に
ならないと、単純モデルを繰り返しやっているだけのなるのではないか?
実際の脳は神経網が多層構造や複雑な回帰と相互依存の形が存在する。
それが沢山の神経網集団を繋ぎ、個々ではたいした動作はしないが
全体として複雑な機能を実現しているんだろ。
おまいらがやっているのは単純モデルの摸倣にしかすぎない。
0206デフォルトの名無しさん2007/08/09(木) 23:18:48
で?
0207デフォルトの名無しさん2007/08/09(木) 23:26:08
毎回、で?とか言うやつは学術系の板に来るなよなって思う。
VIPで理解しやすい話だけやってろ。
0208デフォルトの名無しさん2007/08/10(金) 03:37:48
>>205
1つの神経細胞のモデルについてはMcCulloch-Pittsのモデルのような
粗い近似で良いのだろうか
…といったことを人工知能分野の先生に言われた
0209デフォルトの名無しさん2007/08/10(金) 14:33:05
>208
マカロック・ピッツのモデルでダメだと言う根拠は見つかっていない。
非線形入出力を持ち学習能力のあるネットークであれば
細かい要素は関係ないと言う考え方が主流。

つまりネットワークの規模と構造、学習規則のみに
意味があると言う考え方だな。
0210デフォルトの名無しさん2007/08/12(日) 13:32:09
>>209
脳の仕組みを研究すれば脳を摸倣できると思い込んでいる奴が多すぎるよな。
0211デフォルトの名無しさん2007/08/12(日) 14:01:56
マーが言ったようにレベルが違うからねぇ
0212デフォルトの名無しさん2007/08/13(月) 21:32:07
>>211
レベルではなく、次元だろ。

人工知能が云々デマカセな表現をしていたり、
脳の仕組みに注目しているマヌケ君は
異次元の概念も自分の支配化におきたいだけの希望的な思い込みにすぎない。

自己構築する情報処理を、仕組みという理屈で組み立てる情報処理で
置き換えることは考えるだけ無駄。
奴らは環境と情報処理装置の環境を無視して閉じた世界でしか
物事を計れない。
環境が大事だという基礎的なことすら受け入れようとしない。
環境に最適化して育つものと、管理する側で都合のいいものを作るもの
では考え方として次元が違うんだよな。
0213デフォルトの名無しさん2007/08/14(火) 20:06:12
マーの「ビジョン」を読んでから家
次元という言葉を数学と無関係に使うような奴はここには要らん
0214デフォルトの名無しさん2007/08/22(水) 20:24:38
>>213
日本語でおk
0215デフォルトの名無しさん2007/08/22(水) 20:39:56
>>212
日本語でおk
0216デフォルトの名無しさん2007/08/28(火) 16:32:05
>>214
ウリナラげ起源ニダ
0217デフォルトの名無しさん2007/08/29(水) 21:19:48
http://www.isl.titech.ac.jp/~hasegawalab/
自己増殖型ニューラルネットワークっておまえらどう思う?


いろんな人に話を聞いてみると
・学習が大変
・収束が不安
・制御できない
っとか色々不便だっていう話を聞いたんだが、お前らの意見を聞かせてくれ。
0218デフォルトの名無しさん2007/08/29(水) 23:39:03
そんなもん聞いてどうするんだ?
0219デフォルトの名無しさん2007/08/29(水) 23:58:41
せっかくだからネタふってみた
ニューラルネットワークについて話すスレだからいーじゃん
0220デフォルトの名無しさん2007/08/30(木) 13:03:04
ふむ,ネタと言うことなら
Numenta Releases Windows Version of NuPIC
ttp://www.numenta.com/about-numenta/press/2007-08-29.php
なんて話もあるな
0221デフォルトの名無しさん2007/08/31(金) 01:38:02
>>217
ようわからん
何がふえたんだ?
0222デフォルトの名無しさん2007/09/01(土) 23:49:56
自己増殖
ってくらいだから,ニューロンの数が自動的に増えるんじゃまいか
0223デフォルトの名無しさん2007/10/24(水) 19:31:38
ニューロン欠落防止のため

保守
0224デフォルトの名無しさん2007/11/15(木) 22:10:23
卒論でニューラルネットワークをしています。
誤差逆伝搬法で、対象データの予測をしており、精度を上げる研究をしてるんですが、
その環境が、
  入力数:15
  出力数:1
  教師データ数:32
なんです。
半年間やってみた結果、どう考えても「入力数に対してサンプル数が足りなさすぎる」という結論に至りました。
そのことを教授に伝えたのですが、できるはずの一点張り。
こちらが学生なので、そのデータで学会に論文を出していると自信満々に自慢する始末でした。
あまりにくやしいので、そのデータが間違ってることを証明してやるとタンカを切ったのですが、
なにぶん学習し始めて一年の学生では、どのように間違っていることを指摘すればいいのかわかりません。
現在論文を片っ端から読んでヒントを探しているのですが、
手がかりやヒントを知っておられる方いましたら、是非とも教えてください。
それと、私事をだらだら書いてすみませんが、どうかよろしくお願いします。
0225デフォルトの名無しさん2007/11/15(木) 22:20:32
てことは単層パーセプトロン?
ソースとサンプルデータ晒してみ。
0226デフォルトの名無しさん2007/11/15(木) 22:41:48
>>224
それ何の識別器?
15の特徴量はそれぞれ何?
現時点である程度識別する事はできてるの?
教授の「できるはず」って何をすれば何ができるはずっていう事?
精度を上げる事?だとしたら改良点は何?
0227デフォルトの名無しさん2007/11/15(木) 22:54:57
サンプルデータは次のようになってます。一つの行が1セットで、最初の15が入力、最後の1つが出力(教師信号)です。
0.743,0.500,0.455,0.727,0.455,0.818,0.636,0.091,0.455,0.636,0.818,0.318,0.500,0.045,0.318,0.700
0.486,0.000,0.682,0.682,0.136,0.500,0.591,0.136,0.409,0.500,0.682,0.545,0.591,0.409,0.318,0.500
0.714,0.469,0.636,0.545,0.545,0.455,0.364,0.545,0.636,0.636,0.545,0.364,0.545,0.727,0.545,0.600
0.714,0.594,0.136,0.727,0.636,0.909,0.727,0.455,0.727,0.455,0.727,0.409,0.227,0.045,0.227,0.200
0.829,0.781,0.727,0.636,0.727,0.545,0.636,0.727,0.727,0.818,0.727,0.591,0.591,0.500,0.682,0.400
0.771,0.313,0.636,0.727,0.364,0.727,0.909,0.000,0.364,0.818,1.000,0.318,0.591,0.045,0.227,0.700
0.771,0.531,0.000,0.818,0.545,1.000,0.818,1.000,0.636,0.636,0.909,0.500,0.773,0.227,0.318,0.400
0.429,0.281,1.000,0.727,0.545,0.455,0.727,0.636,0.818,0.727,0.727,0.591,0.318,0.864,0.682,0.500
0.771,0.313,0.545,0.545,0.909,0.455,0.455,0.636,0.636,0.545,0.545,0.773,0.500,0.318,0.318,0.500
0.486,0.438,0.727,0.909,0.545,0.545,0.455,0.727,0.727,0.636,0.818,0.500,0.500,0.227,0.500,0.300
0.857,0.563,0.000,0.909,0.000,0.455,0.818,0.000,0.273,0.636,0.727,0.318,0.318,0.227,0.136,0.600
0.714,0.375,0.455,0.727,0.727,0.818,0.455,0.455,0.545,0.273,0.000,0.045,0.682,0.045,0.136,0.300
0.200,0.844,0.182,0.909,0.000,0.545,0.636,0.636,0.273,0.545,0.727,0.955,0.409,0.318,0.682,0.200
0.800,0.469,0.364,0.636,0.727,0.636,0.727,0.545,0.545,0.636,0.909,0.864,0.136,0.136,0.500,0.600
0.800,0.281,0.636,0.455,0.818,0.909,0.545,0.727,0.909,0.273,0.364,0.455,0.818,0.545,0.273,0.600
0.829,0.438,0.364,0.545,0.000,0.727,0.545,0.455,0.636,0.545,0.455,0.227,0.773,0.227,0.227,0.500
0.714,0.500,0.182,0.818,0.000,1.000,0.636,0.273,0.545,0.727,0.545,0.227,0.955,0.318,0.318,0.600
0.600,0.344,0.909,0.818,0.273,0.909,0.455,0.182,0.455,0.545,0.818,0.227,0.682,0.409,0.409,0.300
0.629,0.500,0.273,0.818,0.000,0.818,0.818,0.273,0.364,0.727,0.455,0.864,0.500,0.409,0.227,0.300
0228デフォルトの名無しさん2007/11/15(木) 22:57:59
続き
0.657,0.500,0.818,0.727,0.455,0.636,0.182,0.182,0.091,0.455,0.636,0.682,0.409,0.136,0.682,0.200
0.829,0.813,0.091,0.636,0.000,0.545,0.455,0.636,0.545,0.545,0.727,0.773,0.591,0.773,0.591,0.500
0.629,0.391,0.818,0.818,0.273,0.727,0.727,0.364,0.364,0.455,0.545,0.773,0.591,0.318,0.682,0.500
0.800,0.094,0.909,0.636,1.000,0.636,0.727,0.545,0.182,0.455,0.455,0.227,0.682,0.591,0.227,0.400
0.629,0.391,0.818,0.727,0.727,0.909,0.909,0.545,0.727,0.455,0.818,0.409,0.864,0.591,0.318,0.300
0.857,0.656,0.727,0.545,0.636,0.455,0.364,0.818,0.636,0.273,0.636,0.773,0.500,0.318,0.409,0.500
0.829,0.438,0.455,0.545,0.818,0.727,0.364,0.636,0.545,0.727,0.545,0.318,0.864,0.227,0.591,0.000
0.657,0.594,0.727,0.455,0.545,0.818,0.636,0.727,0.636,0.636,0.727,0.591,0.682,0.682,0.682,0.400
0.914,0.438,0.364,0.364,0.273,0.727,0.818,0.455,0.455,0.455,0.545,0.318,0.591,0.227,0.227,0.500
0.829,0.656,0.636,0.636,0.455,1.000,0.545,0.364,0.545,0.636,0.818,0.409,0.591,0.045,0.227,0.500
0.314,0.281,0.091,0.727,0.364,0.909,0.545,0.364,0.364,0.545,0.636,0.500,0.773,0.045,0.227,0.500
0.686,0.219,0.455,0.455,0.727,0.591,0.500,0.227,0.591,0.591,0.591,0.455,0.727,0.182,0.364,0.000
0.629,0.281,0.636,1.000,0.909,0.455,0.818,0.182,0.455,0.364,0.727,0.227,0.500,0.045,0.318,0.300
以上です。
プログラムは、熊沢逸夫著「の学習とニューラルネットワーク」という本のバックプロバゲーション部分をJavaで書き直した物で、
普通のデータ(XORを試しました)であれば、正常に学習、予測することは確認しています。
0229デフォルトの名無しさん2007/11/15(木) 23:07:30
ソースコードは?
0230デフォルトの名無しさん2007/11/15(木) 23:10:56
>>226

> それ何の識別器?
> 15の特徴量はそれぞれ何?

入力は個人の性格や能力を15の分野に分け、0〜1に正規化した物で、それを元にある問題の解答率を出力とします。
実験手順は、
・32個のサンプルデータのうち、24個を学習に使い、誤差逆伝搬法で学習する。
・十分に学習できたところで、残りの8個を推測する。
・残りの8個の真の値(教師信号)と、ネットワークで推測した出力の誤差で、ネットワークの正確さを評価する
といった感じです。

> 現時点である程度識別する事はできてるの?
できます。現在のところ、どんな初期値にしても推測がほぼ±0.2に収まります。またXORで正常にプログラムが働くことを確認しました。

> 教授の「できるはず」って何をすれば何ができるはずっていう事?
その教授曰く、自分のプログラム(MATLAB)ならできるとのこと。
曰わく、「そのプログラムは教授が長年蓄えた知識でさまざまな工夫がされている」らしく、
その技術はお前に教えたからできるはず、ということらしいです。
しかし、つっこんで聞いてみるとたくさんの学習をさせて、たまたま予測が良かったものをすべて足し併せて平均を取っているだけのようです。

> 精度を上げる事?だとしたら改良点は何?
推測値と真の値との差を0.1以内に納めろ、ということでした。
もっとも、7月にはすでにプログラムが完成しており、うまくいかないというと場当たり的なアドバイスをもらうだけでしたが。


個人的には、ニューラルネットワークはたまたま予測が上手く言った物を足し合わせてそれを解としてしまえるような、
適当な物ではなかったはずなのですが・・・。
教授曰わく統計的にはうまくいくらしいですが、本当にほかの現場でも同じような手が取られているのか疑問です。
0231デフォルトの名無しさん2007/11/15(木) 23:20:27
>>229
汚いソースコードで恐縮ですが、うpしときました。
http://www.uploda.org/uporg1113870.zip.html

中のframeworkパッケージがメインで、Tableを使ってプログラムします。
重ねてすみませんが、プログラム自体は特別な処理はしていません。
02322242007/11/15(木) 23:27:59
要約しますとこんな感じです。

・入力数15、出力数1、サンプルデータ32の成績推測で、予測が±0.1以内に収まらなければならない。
・自分で組んだ誤差逆伝搬法とttp://www.geocities.jp/retort_curry119/NN.htmここのBP法では±0.2が限界。
・教授は確率が良かったネットワークを足し合わせて平均してる。

どうしたいのか

・この研究の前提としてサンプルデータが少なすぎることを指摘したい
・もし上の主張が間違っているのであれば、正しいネットワークの学習法を知りたい(その場合は潔く頭を下げに行きます
02332242007/11/15(木) 23:45:05
こちらのほうにプログラム全体のソースコードをアップしときました。
http://sund1.sakura.ne.jp/uploader/source/up14952.zip
基本的なテストはJUnitで書いてますので、tpフォルダ内のプログラムを見ればどう使っているのかがわかると思います。
0234デフォルトの名無しさん2007/11/16(金) 00:01:28
サンプルが少なすぎる事を証明したいならサンプルを増やして精度が上がることを示せばいいんじゃないの?
さらにサンプルを用意して比較するとか、
それが難しいなら教師信号を少ない数から学習させていって精度の向上具合をグラフにしてまだ上がりそうな事を示すとか。
まぁそもそも元のデータにノイズが入ってるとサンプルを増やしても精度は或る程度の誤差を持ったまま頭打ちになるけど。
02352242007/11/16(金) 00:09:15
> それが難しいなら教師信号を少ない数から学習させていって精度の向上具合をグラフにしてまだ上がりそうな事を示すとか。

それなら出来そうですが・・・、俺ならこのデータでも十分だ!、とか言いそうで怖い・・・。

> まぁそもそも元のデータにノイズが入ってるとサンプルを増やしても精度は或る程度の誤差を持ったまま頭打ちになるけど。

それは考えてませんでした。
サンプルデータの右端の列(出力の教師信号)を見てもらえばわかるんですが、
すべての値を0.1刻みに区切ってあるんです。つまり、サンプルデータ自体に±0.05の誤差を含むんでいます。
これで誤差を持ってることが証明できますね。ありがとうございます。
0236デフォルトの名無しさん2007/11/16(金) 00:48:31
>それなら出来そうですが・・・、俺ならこのデータでも十分だ!、とか言いそうで怖い・・・。
SVMって聞いたことある?サポートベクターマシン。
少ない教師信号でも未知データに対する精度がBP法より高いと言われてるから、
それと同程度ならBP法でも十分な学習ができたと判断していいんじゃないかな。
SVMライブラリはググればいくつか見つかる。
02372242007/11/16(金) 00:59:29
>>236
名前は聞いたことがあるのですが、実際にやってみたことはありませんでした。
そのSVMとBP法の予測を比較してみようと思います。
0238デフォルトの名無しさん2007/11/19(月) 10:47:51
というか、これ中間層の数いくつでやってるの?
中間層のユニット数増やせば、いくらでも誤差減らせると思うんだけど
今ためしに自分の書いたプログラムで中間層の数5でやってみたら1秒かからずにここまで誤差減らせたけど
0 0.682308 0.700000 16 0.576228 0.600000
1 0.484078 0.500000 17 0.310864 0.300000
2 0.620793 0.600000 18 0.305802 0.300000
3 0.213112 0.200000 19 0.196997 0.200000
4 0.417943 0.400000 20 0.496074 0.500000
5 0.713331 0.700000 21 0.537518 0.500000
6 0.400664 0.400000 22 0.377821 0.400000
7 0.492160 0.500000 23 0.333802 0.300000
8 0.531899 0.500000 24 0.491570 0.500000
9 0.280287 0.300000 25 -0.012757 0.000000
10 0.600956 0.600000 26 0.376582 0.400000
11 0.297781 0.300000 27 0.499210 0.500000
12 0.200848 0.200000 28 0.495079 0.500000
13 0.538449 0.600000 29 0.499226 0.500000
14 0.568660 0.600000 30 0.011226 0.000000
15 0.503874 0.500000 31 0.309703 0.300000
0239デフォルトの名無しさん2007/11/19(月) 12:27:23
>>238
>・32個のサンプルデータのうち、24個を学習に使い、誤差逆伝搬法で学習する。
>・十分に学習できたところで、残りの8個を推測する。
>・残りの8個の真の値(教師信号)と、ネットワークで推測した出力の誤差で、ネットワークの正確さを評価する
0240デフォルトの名無しさん2007/11/19(月) 12:47:56
全然読んでなかった
最初の24個を使って学習させて、残りの8個を推測させたら全くでたらめだった
0 0.173739 0.500000
1 0.736736 0.000000
2 0.313203 0.400000
3 0.843554 0.500000
4 0.302446 0.500000
5 0.441595 0.500000
6 0.831326 0.000000
7 0.853432 0.300000
02412242007/11/19(月) 17:49:57
>>240
わざわざ実行してもらってありがとうございます。

やはりここまででたらめな推測値が出るっていうのはサンプルに一貫性がないか、
データ数が全然足りないかのどちらか(もしくは両方)だと思うのですが、
この考えはあっているでしょうか?
0242デフォルトの名無しさん2007/11/19(月) 18:36:22
さあどうなんだろう?
ただ同じ構造のネットワークで24件だけでなく32件全てに当てはまる
パラメータは確かにあるわけだから、どんな初期値で24件の学習だけからでも
残りの8件をうまく予測するパラメータに収束させる方法があるのかもしれない

SVMとかいうのはどうなんだろうか
やってみた?
02432242007/11/19(月) 20:35:45
>>242
いえ、現在はサンプル数を増やしたときに、精度が上がることを証明する実験と、
中間報告の書類を書くのに手がいっぱいで、教えてもらいながら申し訳ないことに、SVMまで手が回っていません。
02442242007/11/20(火) 14:50:43
あれから学習データを段階的に増やしていき、予測精度が上がるかを実験してみたのですが、
残念なことにほとんど上昇が見られませんでした。
こうなると、もはや汎化能力の限界が0.2であるとしか思えないのですが、それを肯定するような実験結果も出せていません。
とりあえず、今からSVMでどこまでやれるか試してみようと思います。
02452242007/11/20(火) 15:52:57
なんだかスレを占有してしまっているみたいですみません。

現在、サンプルデータ数と重みの数について調べていたところ、このような記述がありました。

> 3.4 まとめ
> (1)汎化能力をもつには、学習データ数と重みの数の比率は少なくとも10以上は必要である。

3章 学習データと入力表現
ttp://cae.co.jp/ksrg/report/reportnn03.htm
の一番下

入力数15の場合、中間層ニューロン数が3でも、15 * 3 + 3 * 1 = 48の重みがあるので、
データ数:重みの数 = 32 : 48 となり、比率は1にも届きません。
やはりサンプル数が圧倒的に少ないと思うのですが、どうでしょうか。
02462242007/11/20(火) 22:29:16
>>224です。とりあえず納得できる理由が見つかったので、これで最後にしようと思います。

ネットワークの評価を調べてVC次元関連を見ていたところ、「次元の呪い」という事象があることを知りました。

次元の呪い - 朱鷺の杜Wiki
ttp://ibisforest.org/index.php?%E6%AC%A1%E5%85%83%E3%81%AE%E5%91%AA%E3%81%84

入力数15というのが、ここのいう高次元に当てはまるかというのはわかりませんが、
中で説明されている、球面集中現象は、私が求めていたイメージとぴったりでした。
あとはこれを元に中間発表を仕上げようと思います。

混乱していたときに、方向性を示してくださった皆さんには感謝しても感謝しつくせません。
長々とつきあってくださったみなさん、どうもありがとうございました。
0247デフォルトの名無しさん2007/11/20(火) 22:47:20
SVMはどうだった?
興味あるから最後と言わずもっと書いて欲しいな。
02482242007/11/20(火) 23:31:40
>>247
そういっていただけるのは非常にありがたいです。
それに、よく考えればここまでしていただいて、
ことの顛末(教授がどんなリアクションを取るか)を言わずに去るのは失礼というもんですね。

今さっきの言葉を翻すようですが、今週中に中間発表が終わりますので、
今週末ぐらいに中間発表の雰囲気と教授のリアクション、
それとできればSVMとの比較を短くまとめて上げさせてもらおうと思います。
0249デフォルトの名無しさん2007/11/21(水) 02:39:53
ん、15次元で高次元てのはいくらなんでも無理がある気が。
0250デフォルトの名無しさん2007/11/21(水) 12:35:25
>>249
そうかな?入力が10以上もあれば球面集中現象は起こりうると思うんだけど。
02512242007/11/27(火) 13:17:16
>>224です。先週末中に報告すると書いていたのですが、遅れてすみませんでした。

先週末に発表があったのですが、結果から書くと正しかったみたいです。
中間報告で主に、
・汎化能力を得るには最低でも数百が必要
・球面集中現象
・サンプルデータの誤差
などについて詳しく報告しました。
プレゼンが上手くなかったことと、ニューラルネットワークに明るい教授らが多くなかったこともあり、
特に質問はなかったのですが、「なぜいままで失敗に気づかなかったのか」という質問に対して、
「担当の教官が正しいと言い張っていた」と答えたところ、会場に笑いが広がりました(失笑ではなかった、と思います)
教授も同じ会場だったのですが、周りに混じって苦笑していました。

そのときに、ひとまず私の主張は認められたようで、それ以来教授との間は一応平静を保っています。
02522242007/11/27(火) 13:24:36
これでひとまず認められ、一矢報いることが出来たと思うので、私としてはこの件に納得できました。

今後は、大幅に遅れましたがニューラルネットワークの応用分野か、
もしくは今回の経験を元に、汎化能力を得るために必要な条件(サンプル数、最大誤差、重みの数など)を
研究しようと思います。
重ね重ね、力になってくださった皆さん、本当にありがとうございました。

蛇足ですが、SVMとの比較はまだ全く出来ていないので、実験できて次第こちらで報告させてもらおうと思います。
■ このスレッドは過去ログ倉庫に格納されています