【統計分析】機械学習・データマイニング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/06(火) 05:09:55.46ID:PApEiV6N
Radeonで機械学習はありえないなー
volta+cuda9で現行の9倍高速化されるのに
684デフォルトの名無しさん
垢版 |
2017/06/06(火) 05:24:12.68ID:lruMdzD+
>>682
windowsはビルゲイズがAI反対だから本気にならない。
2017/06/06(火) 09:17:18.50ID:96BnNSJM
株価の動きを掘ってみようかと思ったけど
現実に儲けるにはニュース聞いて判断とか出来なきゃ無理かな…?
2017/06/06(火) 13:18:39.84ID:I6XF/x6Z
感情分析とかなんかそのへんいろいろつかってやってみれば
687デフォルトの名無しさん
垢版 |
2017/06/06(火) 14:35:40.88ID:MkMa3+tG
その辺は有象無象の証券会社が組み込んでアルゴリズム取引しているだろ
688デフォルトの名無しさん
垢版 |
2017/06/06(火) 22:23:18.71ID:rHG/3LCd
外付けGPUならゲフォも使えそうな気がするがどうだろ
MacBookproで機械学習にGPU使えるならWindows捨てるわ
2017/06/06(火) 23:51:08.65ID:E9icPaPI
外付けGPUケースとか技術的に成熟してないだろ
まだ時期尚早
2017/06/07(水) 01:16:16.97ID:AB9ZJrzc
FPGA外付けでなんとかならんものかのう
2017/06/07(水) 03:56:38.83ID:4dMjulLj
>>689
アップルが採用したからすぐに成熟するよ
2017/06/07(水) 08:36:53.07ID:XkU4jG3W
そういや大学の研究員で機械学習やってる友人がchainerは2.系になって使いやすくなったって言うてたけど
このスレでは話題なしかw
俺含めてマジで口先だけの機械学習マンしかおらんねんなw
693デフォルトの名無しさん
垢版 |
2017/06/07(水) 09:15:52.65ID:ih3pf7WH
Scikit-learnとtensorflowしか使ってないわ。
そもそも画像あまり使わないから、ディープラーニングの出番があまりない。
2017/06/07(水) 12:58:42.76ID:ueFrvXn+
>>692
chainer 2.0 で検索しても使用記が殆どまったく出てこないのですが何故?
2017/06/07(水) 22:25:02.17ID:Ty4gS2I+
使用記書くためにやってるようなにわかしか使ってないんじゃない?
使用用途は画像以外にもあるだろw
例えばその友人は音声やってる
2017/06/07(水) 22:44:34.00ID:pUzYP2s+
まずは日本語の勉強したら?w
697デフォルトの名無しさん
垢版 |
2017/06/07(水) 22:52:04.10ID:fozuh9Ox
>>695
英語で書いてもいいんだよ?
2017/06/08(木) 05:32:51.34ID:7nKoS1C4
>>695
NLPはどうやって学習させたの?
2017/06/08(木) 10:31:04.91ID:R8++tLAO
>>697
あんまり煽んなよ?
英検3級の俺が火を吹くぞ?甘くみんなや
2017/06/08(木) 10:32:23.84ID:R8++tLAO
>>698
知らん、俺はなんちゃって機械学習マンやからなw
2017/06/08(木) 14:39:05.69ID:NnTJuSMU
日本の技術者はDNNやってる奴なんてほとんどいない
機械学習も認知はされてきたが、ExcelマンやSPSSマンが多いからな
技術後進国日本だから
2017/06/08(木) 14:59:27.39ID:oPuedIYN
ほんそれ
703デフォルトの名無しさん
垢版 |
2017/06/08(木) 15:56:43.36ID:1gfxrGAY
自分のレベルが低いだけなのに、なぜか日本全体がそうであるかのようにいう。
よくいるよね、こういう奴。
704デフォルトの名無しさん
垢版 |
2017/06/08(木) 16:19:25.67ID:6wZ5aesY
>>701
ここのchainer命のおっさんみたいにDNNでmnistいじってる人間は山ほどおる。
705デフォルトの名無しさん
垢版 |
2017/06/08(木) 18:08:48.88ID:kAL4WeSO
逆伝播降下法について教えてほしんだけどさあ
あるニューロンに2つ以上の信号が逆伝播されてくるときって、単純にその信号を足しちゃって良いもんなの?
2017/06/08(木) 19:01:41.21ID:G4v6KPrQ
>>705
数式を見れ
その通りだからわかるだろ?
2017/06/08(木) 20:46:14.78ID:59NuhaW+
偉そうにw
2017/06/08(木) 20:50:59.02ID:Ie+JXWe+
えへん
709デフォルトの名無しさん
垢版 |
2017/06/08(木) 21:22:54.75ID:dWf7F4Ta
chainerからc++に変換するツールってありませんか?
2017/06/08(木) 21:53:13.04ID:6XcAC6yC
>>705
足しちゃっていいよ
711デフォルトの名無しさん
垢版 |
2017/06/08(木) 23:03:58.36ID:kAL4WeSO
>>706
自明すぎることは書かないのか、色々見ても載ってなさそうだったよ

>>710
せんきゅー!足しちゃうぜ!
712デフォルトの名無しさん
垢版 |
2017/06/09(金) 13:43:20.83ID:DSrLGhUd
清水がネットで袋叩きされてる
なんでも変なライターに噛み付かれたとか

清水より実績も実力もない馬鹿が叩いてて頭くるわ
文系って害悪だな
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のモデルを機械語にへんかんする機能を早く作ってくれ。
■ このスレッドは過去ログ倉庫に格納されています