【統計分析】機械学習・データマイニング15 [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2017/04/16(日) 21:03:36.56ID:l3DYSGb3
機械学習とデータマイニングについて何でもいいので語れ
人工知能考察は未来技術板の技術的特異点スレで語れ

■関連サイト
機械学習の「朱鷺の杜Wiki」
http://ibisforest.org/
DeepLearning研究 2016年のまとめ
http://qiita.com/eve_yk/items/f4b274da7042cba1ba76

■前スレ
【統計分析】機械学習・データマイニング13
http://echo.2ch.net/test/read.cgi/tech/1487433222/
【統計分析】機械学習・データマイニング14
http://echo.2ch.net/test/read.cgi/tech/1489636623/
2017/06/09(金) 14:52:38.25ID:FN8zGhq/
chainerできない奴に人権はない
2017/06/09(金) 15:04:28.66ID:9MmjmiaM
過激chainer信者
2017/06/09(金) 16:27:41.64ID:PX5MZeqq
うん
2017/06/09(金) 16:43:09.72ID:dQJndTGp
連呼、chainerリアン、だったりして
717デフォルトの名無しさん
垢版 |
2017/06/09(金) 18:41:50.44ID:FfMCBI1H
kerasの作者で確定
2017/06/09(金) 20:24:21.63ID:hjkAo8D/
>>713
そんな奴いないだろ
719デフォルトの名無しさん
垢版 |
2017/06/10(土) 04:11:56.58ID:aCPEFL12
これから流行るのはマストドン×機械学習だ!
2017/06/10(土) 08:04:04.99ID:RyxmwN8/
チャイナ
2017/06/10(土) 17:31:27.80ID:+Q6T419w
>>712
清水はクズなので
2017/06/10(土) 17:40:40.70ID:+Q6T419w
>>712
ちなみの今回の件は清水が勝手に割り込んできて勝手に炎上してるだけ。
相手のライターさんは清水以上の有名人。

清水はもともとクズ扱いされていたけど、今回のダメージは酷いんじゃないかな。
2017/06/10(土) 17:50:01.42ID:n0C7kBwu
みんな暇もてあましてんなぁ
2017/06/10(土) 18:44:28.72ID:wL8YIIaF
chainer始めようと思うんだけど、公式以外に参考になるサイトない?
2017/06/10(土) 22:39:06.70ID:wL8YIIaF
いつもchainer連呼するのに、chainerの有益サイトくらい貼れや


教えてくださいお願いします
2017/06/11(日) 00:56:40.45ID:33AK9sIV
>>725
サンプルコードを読むのが一番早いと思うけど。
具体的にはどのへんについて知りたいの。
ニューラルネットそのもの?それともchainer独自の仕様とか?
2017/06/11(日) 16:12:47.72ID:4QA65TrY
chainerできるのは自分だけだという前提
2017/06/11(日) 17:17:46.93ID:Q5yKyADs
脳内chainer信者
2017/06/11(日) 17:42:40.91ID:UVXhqKIr
Chainer信者→毎日MNIST
730デフォルトの名無しさん
垢版 |
2017/06/11(日) 18:55:12.85ID:7PvmoOJK
斎藤の本に、行列の積のことを行列の内積と書いてあるのですが、なぜですか?

NumPyのライブラリの関数名がdotだからですか?
2017/06/11(日) 19:37:47.47ID:Fx0RZqRZ
>>730
同じく不思議に思った
732デフォルトの名無しさん
垢版 |
2017/06/11(日) 21:31:11.55ID:7PvmoOJK
ソフトマックス関数の出力の和は1であるから出力を確率と解釈できる。

みたいなことが書かれていることがありますが、

y_1, y_2, …, y_n が出力であるとき、

s = Σ y_i

z_1 := y_1 /s
z_2 := y_2 /s

z_n := y_n / s

を新たな出力とすれば、 z_i の和が1になるからいつでも確率として解釈可能です。

なぜ、出力を確率として解釈できるということをソフトマックス関数の特長である
かのような書き方をするのですか?
733デフォルトの名無しさん
垢版 |
2017/06/11(日) 21:34:45.75ID:7PvmoOJK
分類問題では活性化関数にソフトマックス関数を使うとか誰が決めたんですか?

合理的な説明は可能ですか?
734デフォルトの名無しさん
垢版 |
2017/06/11(日) 22:12:15.42ID:pPVT/Kwx
好きなの使えよ
735デフォルトの名無しさん
垢版 |
2017/06/11(日) 22:20:07.05ID:7PvmoOJK
斎藤の本

from PIL import Image

def img_show(img):
pil_img = Image.fromarray(np.uint8(img))
pil_img.show()

img = x_train[0]
label = t_train[0]
img = img.reshape(28, 28)
img_show(img)

とMNISTのデータを画像として表示しています。

これを Jupyter Notebook 上に表示させるにはどうすればいいですか?
2017/06/11(日) 22:21:27.50ID:koOlr8gl
別にソフトマックス関数がmustと決まってる訳じゃない
結果的に上手くいってるからそれが流行ってるだけ。
2017/06/11(日) 22:25:18.87ID:koOlr8gl
統計力学のカロニカルアンサンブルのモデルを考えれば、同じ次元のパラメータを確率的に影響度を分類する手段として、ソフトマックス関数はありかなと思うけどね。
2017/06/11(日) 22:38:42.08ID:Y8lrc0jl
>>730
あれは普通に間違いだと思う
2017/06/11(日) 22:46:16.02ID:7PvmoOJK
>>736-738

ありがとうございます。
2017/06/11(日) 22:47:48.71ID:7PvmoOJK
>>735

matplotlibの場合は以下のコマンドをかけば Jupyter notebook 上に画像が表示されるようになります。

%matplotlib inline

PILの場合も同様のやり方はないでしょうか?
2017/06/11(日) 23:06:02.66ID:7PvmoOJK
>>735

強引なやり方として、

def img_show(img):
■■■■pil_img = Image.fromarray(np.uint8(img))
■■■■pil_img.show()

を以下のように変更して、 Jupyter notebook 上に画像を表示させています。

def img_show(img):
■■■■pil_img = Image.fromarray(np.uint8(img))
■■■■pil_img.save('temp.bmp')
■■■■img = imread('temp.bmp')
■■■■plt.imshow(img)
■■■■plt.gray()
■■■■plt.show()
2017/06/11(日) 23:46:24.97ID:EXopzZNl
カロニカルアンサンブルw
743デフォルトの名無しさん
垢版 |
2017/06/12(月) 09:36:48.45ID:ebImylz6
>>709
思った人が作る世界
744デフォルトの名無しさん
垢版 |
2017/06/12(月) 09:39:25.56ID:ebImylz6
chainer 2.0 って古い資産使えるん?
745デフォルトの名無しさん
垢版 |
2017/06/12(月) 10:46:14.31ID:yuw+moiO
斎藤の本

p.94

def cross_entropy_error(y, t):
■■■■if y.ndim == 1:
■■■■■■■■t = t.reshape(1, t.size)
■■■■■■■■y = y.reshape(1, y.size)

■■■■batch_size = y.shape[0]
■■■■return -np.sum(np.log(y[np.arange(batch_size), t])) / batch_size

これ間違っていますね。

y.ndim == 1 のときに、

cross_entropy_error(np.array([0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1], 3)

みたいな使い方ができないはずです。
746デフォルトの名無しさん
垢版 |
2017/06/12(月) 10:50:06.62ID:yuw+moiO
cross_entropy_error(np.array([0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1], np.array([3]))

とすればOKですが、不自然です。

(x_train, t_train), (x_test, t_test) = load_mnist(normalize = True, one_hot_label = False)

とすると、

t_train は、 [[3], [1], [4], [1], [5], …] ではなく、 [3, 1, 4, 1, 5, …] みたいなデータになるからです。
747デフォルトの名無しさん
垢版 |
2017/06/12(月) 10:52:56.23ID:yuw+moiO
それと、p.91では、使っていた delta をp.94では忘れていますね。
2017/06/12(月) 13:56:09.59ID:BSCpnBT3
だいたいそのインデント代わりの四角なんやねん、クッソ見にくいわそれだけで氏ね
2017/06/12(月) 13:58:32.69ID:BSCpnBT3
つーかこういう系の書籍に誤植があるのなんて珍しくもなんともないだろ、いちいち騒ぐことじゃない
750デフォルトの名無しさん
垢版 |
2017/06/12(月) 14:21:36.69ID:yuw+moiO
斎藤康毅のディープラーニングの本に意味が分からないコードがありました。

p.111

def f(W):
■■■■return net.loss(x, t)

net は simpleNet というクラスのインスタンスです。

このコードがさっぱり分かりません。

W がなぜ引数にあるのでしょうか?
2017/06/12(月) 14:34:19.68ID:S3o3Jf5d
インデントの■はそのまま貼り付けると大変なことになるから俺はいいと思う
752デフォルトの名無しさん
垢版 |
2017/06/12(月) 14:51:29.93ID:yuw+moiO
def softmax(x):
■■■■if x.ndim == 2:
■■■■■■■■x = x.T
■■■■■■■■x = x - np.max(x, axis=0)
■■■■■■■■y = np.exp(x) / np.sum(np.exp(x), axis=0)
■■■■■■■■return y.T

■■■■x = x - np.max(x) # オーバーフロー対策
■■■■return np.exp(x) / np.sum(np.exp(x))

def cross_entropy_error(y, t):
■■■■if y.ndim == 1:
■■■■■■■■t = t.reshape(1, t.size)
■■■■■■■■y = y.reshape(1, y.size)
■■■■■■■■
■■■■# 教師データがone-hot-vectorの場合、正解ラベルのインデックスに変換
■■■■if t.size == y.size:
■■■■■■■■t = t.argmax(axis=1)
■■■■■■■■■■■■
■■■■batch_size = y.shape[0]
■■■■return -np.sum(np.log(y[np.arange(batch_size), t])) / batch_size
753デフォルトの名無しさん
垢版 |
2017/06/12(月) 14:52:31.32ID:yuw+moiO
def numerical_gradient(f, x):
■■■■h = 1e-4 # 0.0001
■■■■grad = np.zeros_like(x)
■■■■
■■■■it = np.nditer(x, flags=['multi_index'], op_flags=['readwrite'])
■■■■while not it.finished:
■■■■■■■■idx = it.multi_index
■■■■■■■■tmp_val = x[idx]
■■■■■■■■x[idx] = float(tmp_val) + h
■■■■■■■■fxh1 = f(x) # f(x+h)
■■■■■■■■
■■■■■■■■x[idx] = tmp_val - h
■■■■■■■■fxh2 = f(x) # f(x-h)
■■■■■■■■grad[idx] = (fxh1 - fxh2) / (2*h)
■■■■■■■■
■■■■■■■■x[idx] = tmp_val # 値を元に戻す
■■■■■■■■it.iternext()
■■■■■■■■
■■■■return grad
754デフォルトの名無しさん
垢版 |
2017/06/12(月) 14:52:48.36ID:yuw+moiO
class simpleNet:
■■■■def __init__(self):
■■■■■■■■self.W = np.random.randn(2,3) #標準正規分布による 2x3 の行列

■■■■def predict(self, x):
■■■■■■■■return np.dot(x, self.W)

■■■■def loss(self, x, t):
■■■■■■■■z = self.predict(x)
■■■■■■■■y = softmax(z)
■■■■■■■■loss = cross_entropy_error(y, t)

■■■■■■■■return loss
755デフォルトの名無しさん
垢版 |
2017/06/12(月) 14:54:09.40ID:yuw+moiO
x = np.array([0.6, 0.9])
t = np.array([0, 0, 1])

net = simpleNet()

f = lambda w: net.loss(x, t)
dW = numerical_gradient(f, net.W)

print(dW)


★★★★★★★★★★★★★
★↑の f が理解できません。★
★★★★★★★★★★★★★
756デフォルトの名無しさん
垢版 |
2017/06/12(月) 14:57:27.95ID:yuw+moiO
まず、

仮引数の w が使われていません。

仮引数に渡していない、 net, x, t を使っているところもよくわかりません。
グローバル変数ということでしょうか?

その関数 f を numerical_gradient に渡しています。
757デフォルトの名無しさん
垢版 |
2017/06/12(月) 15:03:35.02ID:yuw+moiO
スコープについて正確に理解していないからよく理解できないのかもしれません。
758デフォルトの名無しさん
垢版 |
2017/06/12(月) 15:05:03.31ID:yuw+moiO
numerical_gradient 内のこれ↓ですが、 x はダミーの引数ですね。

fxh1 = f(x) # f(x+h)
759デフォルトの名無しさん
垢版 |
2017/06/12(月) 15:07:56.32ID:yuw+moiO
グローバル変数の net というのは、関数の中で呼び出されている関数の中でも
使えるんですか?
760デフォルトの名無しさん
垢版 |
2017/06/12(月) 15:09:49.85ID:yuw+moiO
あ、できますね↓

glvar = "abc"

def myfunc1():
■■■■myfunc2()

def myfunc2():
■■■■print(glvar)

myfunc1()
761デフォルトの名無しさん
垢版 |
2017/06/12(月) 15:11:05.87ID:yuw+moiO
しかし、この斎藤っていう人、こんあひどいコードをよく恥ずかしげもなく公開できますね。
762デフォルトの名無しさん
垢版 |
2017/06/12(月) 15:11:58.06ID:yuw+moiO
なんでこの斎藤っていう人の本は高評価なんですか?

こんなひどいコード見たことがないです。正直言って。
763デフォルトの名無しさん
垢版 |
2017/06/12(月) 15:12:31.37ID:yuw+moiO
意図的に人を混乱に陥れようとしているかのようです。
764デフォルトの名無しさん
垢版 |
2017/06/12(月) 15:22:22.17ID:yuw+moiO
def f(W):
■■■■return cross_entropy_error(softmax(np.dot(x, W)), t)

↑こう書けば、x, t がグローバル変数ですが、理解可能だったと思います。
765デフォルトの名無しさん
垢版 |
2017/06/12(月) 15:37:37.83ID:yuw+moiO
もっと先でどうなっているのか知りませんけど、

コードの再利用を絶対しなければならないとかいう強迫観念があるかのようですね。
2017/06/12(月) 15:49:25.68ID:8oNahNJi
松坂君はアスペなのでスルー
767デフォルトの名無しさん
垢版 |
2017/06/12(月) 16:20:19.77ID:aPAWwdD7
レス飛んで見えない…
768デフォルトの名無しさん
垢版 |
2017/06/12(月) 18:38:50.85ID:yuw+moiO
def numerical_gradient(f, x):
■■■■h = 1e-4 # 0.0001
■■■■grad = np.zeros_like(x)
■■■■
■■■■it = np.nditer(x, flags=['multi_index'], op_flags=['readwrite'])
■■■■while not it.finished:
■■■■■■■■idx = it.multi_index
■■■■■■■■tmp_val = x[idx]
■■■■■■■■x[idx] = float(tmp_val) + h
■■■■■■■■fxh1 = f(x) # f(x+h)
■■■■■■■■
■■■■■■■■x[idx] = tmp_val - h
■■■■■■■■fxh2 = f(x) # f(x-h)
■■■■■■■■grad[idx] = (fxh1 - fxh2) / (2*h)
■■■■■■■■
■■■■■■■■x[idx] = tmp_val # 値を元に戻す
■■■■■■■■it.iternext()
■■■■■■■■
■■■■return grad
2017/06/12(月) 18:56:22.69ID:3CfNjtZc
ideone にでも貼って
2017/06/12(月) 19:03:49.53ID:kXyAwoZw
日記帳かな?
2017/06/12(月) 20:14:17.83ID:NCHMgwiC
■の交差点に当たる部分が黒っぽく見えるヤツは脳に障害があるから気をつけろ
772デフォルトの名無しさん
垢版 |
2017/06/12(月) 20:20:13.35ID:yuw+moiO
錯視が見えない人のほうがやばいのではないでしょうか?

↓新井仁之さん作の錯視です。

夏ワナー夏ワナー夏ワナー夏ワナー夏ワナー
夏ワナー夏ワナー夏ワナー夏ワナー夏ワナー

ーナワ夏ーナワ夏ーナワ夏ーナワ夏ーナワ夏
ーナワ夏ーナワ夏ーナワ夏ーナワ夏ーナワ夏

夏ワナー夏ワナー夏ワナー夏ワナー夏ワナー
夏ワナー夏ワナー夏ワナー夏ワナー夏ワナー
2017/06/12(月) 20:49:15.33ID:UFnpQy8S
>>771
黄色に見えるんだが、まずい?
2017/06/12(月) 22:03:20.22ID:d5p6YbPE
ID:yuw+moiOは今日の一位
2017/06/12(月) 22:10:40.76ID:7Z19E2p7
ここまでスレを私物化するとは恐れ入った
2017/06/13(火) 00:04:52.44ID:Mtdqriu6
出版社に聞けば良い
2017/06/13(火) 01:30:08.30ID:DE8cfelx
ID:yuw+moiO
は問題点とその解決策を知っているのに
それをネタに以前から機械学習スレに寄生して自己アピールしている輩。
本の誤植をする暇あったら自分で話題を振った人工脳、囲碁ソフトを最後まで貫徹しろ
2017/06/13(火) 01:52:16.95ID:Qub3huW8
こいつ定期的に湧いては毎回捨て台詞残して去ってくガイジよな?
779デフォルトの名無しさん
垢版 |
2017/06/13(火) 07:08:16.37ID:vTvJ85fe
そうそう、ここはお前の日記帳ちゃうからな定期
2017/06/13(火) 07:14:38.89ID:mB5PsSmf
ここはchainerをマンセーするとこみたい
781デフォルトの名無しさん
垢版 |
2017/06/13(火) 08:50:19.28ID:2/vIeE6p
chainerのモデルをc言語に変換する機能を早く作ってくれ
782デフォルトの名無しさん
垢版 |
2017/06/13(火) 16:46:55.59ID:C1RmxyOE
>>781
chainerのモデルを機械語にへんかんする機能を早く作ってくれ。
2017/06/13(火) 17:19:48.06ID:o8sz+Rrs
Cならtiny-dnnとか使ってみてはどうだろうか
784デフォルトの名無しさん
垢版 |
2017/06/14(水) 22:18:18.87ID:FFtrTT0/
ニューラルネットの作図何使って書いてる?
いいのあったら教えてくれ
2017/06/14(水) 23:13:46.17ID:7OziKzZZ
作図ってなんやねん
ANNなんて作図もクソもないやろ
2017/06/15(木) 00:00:11.41ID:73QUpRhJ
>>784
ビジオ
2017/06/15(木) 01:36:53.25ID:oYl2jhaA
『入力⇒機械学習⇒出力』

って書けば十分
2017/06/15(木) 17:45:58.79ID:CH6c1rSc
正論
2017/06/15(木) 17:51:51.86ID:ePr3c3Am
異論
2017/06/15(木) 23:28:36.01ID:9syGziw3
定説です
2017/06/15(木) 23:40:54.67ID:ChQ2CBhk
風説
2017/06/16(金) 00:07:33.45ID:C40LWxzu
いちいちニューロンと結びつけて話す必要はない
793デフォルトの名無しさん
垢版 |
2017/06/16(金) 06:02:19.10ID:InJ7BRbF
時系列データって深層強化学習で処理できんの?
2017/06/16(金) 13:37:27.48ID:YhgtDNjG
<<-C%%->>
OZHEZ-[[[\\%5%==GLAMB]]]
E=4.323111111111111111111111111111111121
0.4E5Z<<<OBROB%/++11/$end
2017/06/16(金) 16:26:19.45ID:I/6vJIh0
ICONIP
いきたいけど旅費がない
萌芽の発表は7月だし
2017/06/16(金) 16:33:36.33ID:KtCc4FWk
発表もしないのにいけるのか、ゆとり
797デフォルトの名無しさん
垢版 |
2017/06/16(金) 16:48:21.80ID:ixzzoI9b
斎藤康毅のゼロから作るDeep Learningはどの本を元に書いたのでしょうか?
798デフォルトの名無しさん
垢版 |
2017/06/16(金) 18:38:29.18ID:1eQLQexT
http://www2.nhk.or.jp/hensei/program/p.cgi?area=001&;date=2017-06-16&ch=21&eid=28823&f=758
今朝ポナンザの山本一成さんがNHKに出てた
799デフォルトの名無しさん
垢版 |
2017/06/16(金) 18:41:12.93ID:1eQLQexT
↑上のリンクから再放送依頼できるけど

アーカイブに今晩バックナンバー載りそう
http://www.nhk.or.jp/kaisetsu-blog/400/
2017/06/16(金) 21:00:01.03ID:vkemD3MD
>>771
黒?白(灰色)の間違いじゃないの
2017/06/16(金) 23:30:43.54ID:GEzsUpdW
>>800
なるほど確かに脳に障害がありそうだ
2017/06/17(土) 07:16:47.10ID:/8BMQ3Rn
>>797

これだろ
ttp://nnadl-ja.github.io/nnadl_site_ja/index.html
2017/06/17(土) 09:45:56.10ID:K9qvepHC
>>801
そうなの?正常な脳にはどう見えるのかな
2017/06/17(土) 13:16:08.56ID:n6TLE+k2
しっかし、アホみたいな本が増えたな。
ニューラルネットワーク=バックプロパゲーションで解かないとダメみたいなアホがホントに増えた
805デフォルトの名無しさん
垢版 |
2017/06/17(土) 20:03:30.75ID:8t/ZpRhM
バックプロップ以外に実用性があるものってなに?
2017/06/17(土) 20:51:18.42ID:Xcjg2E/o
バックドロップかな。防犯に最適。
2017/06/17(土) 21:21:33.08ID:jNo4H0U+
まあANN入門するような人には分かりやすくていいんじゃない?
2017/06/17(土) 21:40:55.39ID:YTZvAUVb
人工勾配とか?
2017/06/17(土) 22:16:18.94ID:ncuWnJKs
ニューロファジーはオワコン?
2017/06/17(土) 22:18:41.30ID:Ya2yzLrD
ファジーは確率論そのものだからな
完全に吸収されハッテン的に解消された
2017/06/17(土) 22:28:09.02ID:d6cunnJW
誰もやってないのならやってみたら
2017/06/18(日) 13:35:07.62ID:1x/qQ/cP
kerasの日本語ドキュメントはバージョン1のまま
WARNING出て気付いた
keras使う人は最初から英語ドキュメント見て書いたほうが良い
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況