【統計分析】機械学習・データマイニング18
レス数が1000を超えています。これ以上書き込みはできません。
機械学習とデータマイニングについて何でもいいので語れ
人工知能考察は未来技術板の技術的特異点スレで語れ
※ワッチョイ
■関連サイト
機械学習の「朱鷺の杜Wiki」
http://ibisforest.org/
DeepLearning研究 2016年のまとめ
http://qiita.com/eve_yk/items/f4b274da7042cba1ba76
■前スレ
【統計分析】機械学習・データマイニング17
http://mevius.5ch.net/test/read.cgi/tech/1502032926/
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured Juliaって使いにくいんだよな
matlabのコマンドウインドウをそのままpython対応にしてほしいわ tensorflowからkerasに移行したけどもっと早くに変えとくべきだったわ
kerasの楽さになれたら戻れんな chainerはtrainerに投げるまでのパッケージが何段階もあって面倒
kerasはモデル作ってコンパイルしてフィットするだけだから分かりやすい >>915
TFは別格にしても、pytorchもかなり流行ってきてるな >>914
そんなことはみんな知ってるけど、信者が荒れるから避けてきてるんだよ
>>915 >>916
FB が頑張ってるからな kerasは抽象化進んでるからこまい部分いじろうとしたらtf モデルだけkerasで作って、訓練はtfに投げるっていう手もある >>917
ワッチョイにしてから問題ないよ〜
>>918 >>919
そういう使い方いいな あるモデルの予測性能に低下が見られた場合
トレーニングに使ったデータが既に手元にない時は
何をもとにチューニングをすれば良いのでしょうか >>921
トレーニングに使ったデータを用いた予測と
直近のデータに差が生じた。
=>トレーニングに使ったデータでは差が出る
=>直近のデータでチューニングする
じゃないの? 学習モデル無いのにどこをどうチューニングするんだろう オンライン学習でいいんじゃないの
トレーニング用のデータはない、新しいデータもない場合は無理な話だけどバリデーション用のデータがあるから性能評価できてるんだろうし サポートベクター回帰について質問があるんだけど、
ここでいいの? >>927
新しいデータがないとすると
チューニングが必要かどうかも
分からないと思うんだけど オンライン学習を使わない場合は
モデルを継続的にメンテナンスするのに
モデル作成時とそれ以降のトレーニングデータを
延々と保持し続ける必要があるということ?
実務ではどうやっているのだろう 時系列的に変化してゆくものなら
初期モデルを保持する必要はないでしょう
初期状況がスタートになるデータと、
そうでないデータがあるなら
両者保持してそれぞれに適用する。
後者は動的に変化させてもいいし初期を引きずる
必要もない。
ま、置かれた状況に寄りということになるでしょうね。 ロバスト性の維持を必要とするかしないか
今のAIはその辺りの思考は適当かもしれない 例えば手書き文字認識で最初に1万件のトレーニングデータで判別モデルを構築
その後新たに2万件のデータが入手できてそれをモデルに学習させるという場合
合わせて3万件のデータで適切なパラメータを探してテストしてモデルを構築することになるのかな
これはモデルを新しく構築するのと変わらないように思えるけど
つまり「学習≒モデルの新規作成」ということなのかな
これを続けるといずれはリソース不足になるけど
それを防ぐために最新の3万件を使ってモデルを構築するしくみにすると
切り捨てた古いデータから得られた知見はモデルに反映されないということになるのかな サポートベクター回帰のことで質問。
目的関数や判別関数のなかにΣ(a-a*)っていう項がある。
a*は何を指していて、どうやって計算すればいいのだろうか。
ひょっとして、回帰曲線より上にあるデータに関してはaを計算し、
下にあるのはa*を計算するっていう風にするのかな?
もしそうだとすると、学習中は回帰曲線が変化していくのに合わせて、
aかa*かを変えていくってことなのかな?
実際の数式は、例えば↓のP.11
ttp://datachemeng.com/wp-content/uploads/supportvectorregression.pdf >>935
オンライン学習だね
ディープ系だとあとから追加された教師データの影響が限定的な気がする
あとから追加された教師データで別のモデル作って、旧モデルとのアンサンブルを蒸留したほうが実用的には良い気がする >>935
単純に最新の2万件だけとかにすると
同じデータばっかり連続して入ってくると
馬鹿になってしまう いつのまにかkerasがCNTKに対応してたんだけど、やっぱりwindowsだとCNTKのほうが相性よかったりするんだろうか >>940
CNTK の Keras 対応はまだベータのままだと思うよ >>936
どや顔で答えるけど複素共役
重み係数に実数じゃなくて複素数使用することで重みの大きさだけじゃなくて、通信遅れみたいな取得波形のズレ具合みたいなものも相関取れる しもた
どや顔してまちがえてしまた
ただの同じ種類の変数やん。 >>944
重みというか、重みに関係するラグランジュ乗数だよ。
各学習データに乗数が2つあると考えるのかな?
あと、ついでに、この乗数を計算する更新式を知らないかな?
SVMの学習に使う更新式は見つかるんだけど、SVRの更新式が見つからない。 これらは筆者独特の説明のためにαとα*に分けただけ
本来はα-α*=A、α+α*=A'とでもおけばよい
ついでに言うとどうでもいいことだがこれらは本来のラグランジュの未定乗数法の定数ではない
筆者は何か定義を間違えてるのでは? リンク先の資料ではなく
他の参考書なりネットで落ちてる他のものを見たほうがいいと思うけど。
基本的には重みを変化させて評価関数が小さくなるように重みを更新したらいいだけ。その方法は勾配法なり何でもよい というか後半は二次形式になるから評価関数を偏微分して=0とし、重みに関する行列つくって逆行列求めて終わり >>946
他の資料をいくつも見てるけど、数式は同じだよ。
だから、筆者独自の考えではないと思う。
>>947
評価関数を最小にするよう重みを求めるのは分かるんだけど、
そのための常套手段というか効率のいい手法があれば教えて欲しい。
ないのかな。
>>948
俺の頭が追いつかなくて、全然理解できない。
逆行列を計算することで、最適解が解析的に得られるってこと?
色んな資料を見てると、そうではないようなんだよ。
あるいは、数学的には可能なんだけど、計算量が膨大なのかもしれない。 >>949
いやだからリンク先の資料は説明のための式変形だってば。意味を見いだすためだけの式展開。
方法は単純に中点法なりランダム法とかでよい。ただの凸関数だし。
適当に重みを2パターン用�モして2点の評価関数を計算。さらに重みをそれぞれの中点求めてその値での評価関数も計算。一番評価関数が小さいものを更新。それでいける。
そもそも評価関数が重み定数の二次形式になってるから、最適解は一つしかなく、評価関数を重みベクトルの行列で表すとry >>950
そこまでわかってるやつなら機械学習しなくても
直接方程式解いて最適解求めるプログラム書いた方が早くね >>952
逆行列を求めるっていうのは、↓の式(7)を求めることに相当する?
ttp://cl-www.msi.co.jp/reports/svm.pdf >>955
じゃあ、>>954の方針でやってみるよ。
いろいろありがとう。 逆行列を計算する方法知ってるかいな?次元は知らんけど ちげえよ。
ニューラルネットの性能のほうが圧倒的になった今、もはや過去の産物が必要とされないから そもそもカーネル法は単体の技術じゃない。
他の手法と併用出来る応用性の高い技術。応用先はサポートベクトルマシンに限らない。 ディープラーニングにもカーネル法は当然応用できるが、単純にただ併用するだけでは意味がない。
恐らくもうすでに誰かがやってると思われるが、その結果だけでカーネル法ダメダメと決めつけるのは勿体ない。
もう一工夫取り入れると‥‥ ってところまで誰かやってくんないかな〜。
業種が違うから表に出せる機会がない 理論的、究極的にはにはそういう前処理すら必要ないのがニューラルネットだけどね
その操作が本当に判別に有効ならそういう処理を行う層が学習されるだけだし ニューラルネットは前処理いるじゃねえの?今は違うのか? >>968
昔も今も変わらない。
>>967の方が、なにか大きな勘違いをされているだけ 空間を一度別空間に写像してから‥
なんてイメージが付いちゃってるから>>967みたいな発想になるんだろうね。
ほんと勿体ない ニューラルネットだけ別スレにしたほうがいいんだけどな
>>962
ド素人 www
>>963
同意。 究極的にはって書いたけどそれでも違うの?
理論上は無限層重ねたNNはいかなる関数近似もできると思ってたけど 仮にNN中で汎化性能維持するのにカーネル法使うにしても「もうひと工夫」がなにしたいのかもわからん状態じゃなんとも… >>977,978
それはぜひご想像してください。
というか、以前のスレ追いかければ言いたいことは追えるかと
>>979
3層というか‥ そういえば皆さん中間層1つのNNって何層NNって読んでるの
全結合処理に重点おいて2層って言う人と、ノードに重点おいて3層って言う人がいる印象 タイトルに初心者スレと入れた方が良いね
というか次スレはいらねぇだろ >>977
適切にデータが用意されていれば(前処理されていれば)
という条件の元 >>983
俺も同じ疑問を持った。まぁ実験すると言ってるだけだしw 今更ながらランダムフォレストを勉強中なのですが、木の深さと木の数はどのくらいの値にすれば良いのでしょうか?
また、木の数を増やしていくのと、木の深さを上げていくのではどっちがオススメですか?数十万個のデータから決定木を生成したいのですが >>988
分類か回帰かで違うみたいだけど、普通分類なら深さは制限しない。
木の数を増やしていくと汎化性能は上がるけど、その分計算時間がかかるようになるので
OOBエラーなんかを見ながら木の数を決定するのが一般的かなぁ。 このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 148日 2時間 21分 7秒 レス数が1000を超えています。これ以上書き込みはできません。