Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
初めに 高速フーリエ変換(FFT)は通常の離散フーリエ変換(DFT)と比較して計算速度も速くて非常に便利ですが、データ数が2のべき乗個のでないと計算効率が良くないという欠点があります。 Scipyのfftpackのfft場合、2のべき乗個でなくても計算はしてくれるのですが、大量のデータを計算した時に体感でもかなり速度が低下したことがわかります。 ちなみに理論的にはFFTの計算量はNlogN、DFTはNの自乗の計算量になるらしいです。詳しくはwikideiaのFFTのページを参照ください。 理論はともかく、今回2のべき乗のデータとそうでないデータを作成して実際に計算速度を比較してみました。 環境は scipy version 1.0.0 numpy version 1.12.1 CPU core i5 7200U となっています。Jupyter Notebookのマジックコマンド%timei
目的 交差検証について調べたりコード化してみる そもそもの発端としては 前回の訓練データだと90ぐらいのスコアになったのをアップロードしてみたらちょこっとしかUPしてなかったということである。 以下のようなろくでもない検証にしかしてなかったのでダメだろうとは思っていたが ここまで差が出るとはちょっとびっくりであった。 なので、調べてみることにした。 [過剰適合] https://ja.wikipedia.org/wiki/%E9%81%8E%E5%89%B0%E9%81%A9%E5%90%88 [交差検証] https://ja.wikipedia.org/wiki/%E4%BA%A4%E5%B7%AE%E6%A4%9C%E8%A8%BC ググってみた。 「モデルの説明変数は必要以上に増やせば増やすほど学習データのシグナルだけでなくノイズにまでフィットしてしまう」 訓練データに最適化しすぎ
ハイパーパラメータのチューニング 前回の続き 交差検証を調べていたら以下の記事に遭遇 https://qiita.com/tomov3/items/039d4271ed30490edf7b これの後半にモデルに対するパラメータのチューニングの仕方が載っていたので、それを参考に今回は**「ハイパーパラメータのチューニング」**をやってみることにする。 ググる https://blog.amedama.jp/entry/2017/09/05/221037 いくつかググってみたのだが、ここが自分には一番わかりやすかった。 つまるところ、それぞれのモデル?を作成する際のパラメータについて、 いっぱい試したいからそれを設定できるようにしたぜってことの様子。 なので、これだけ理解しても無駄だった。 それぞれのモデルに食わせたいパラメータを理解しないと意味がないと理解。 とりあえず決定木とSVMのパラメ
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 最近は機械学習関連の書籍やチュートリアルが充実してきており、モデルをとりあえず作ってみることはとても容易になっていますが、そうしてできたモデルと製品投入できる品質のものとの間の隔たりは小さくありません。そこを埋めるために最低限やっておきたいことのまとめです。 考慮すべき点のそれぞれについて深く掘り下げるというよりも、現状を俯瞰して足りない視点を補うために利用することを想定しました。 チェックすべきポイントはカテゴリに分けると以下のようになります。 テスト(検証) 交差検証 学習曲線 データセット 特徴量の選定 サンプリングバイアス デー
Traceback (most recent call last): File "bmi-plot.py", line 12, in <module> fig = plt.figure() File "/usr/local/lib/python3.5/dist-packages/matplotlib/pyplot.py", line 533, in figure **kwargs) File "/usr/local/lib/python3.5/dist-packages/matplotlib/backend_bases.py", line 161, in new_figure_manager return cls.new_figure_manager_given_figure(num, fig) File "/usr/local/lib/python3.5/dist-packages/ma
昨日自分のはてなブログで「東証2部最強やなという話」を書きました。この記事はTOPIX指数、東証2部指数、マザーズ指数のデータをダウンロードして加工し、各々の価格データを指数化したものと標準偏差を比べ見て、東証2部指数が最強やなみたいな記事を作りました。(決して投資を推奨するわけではありません。そうして、TOPIX,マザーズ指数に投資する方法はたくさんありますが(投資信託、ETF、先物など)、東証2部指数に投資する方法は筆者が知る限りありません。) 最強やなというところで使ったグラフは以下のものでmatplotlibで書きました。 そのコードを以下では書いていきます。 まず価格データに関しては、SBI証券よりダウンロードしました。TOPIX、東証2部指数に関しては2000年からのデータをcsvでできました。マザーズ指数に関しては、算出が2003年9月12日ということで、その日からのデータし
第廿夜は、本書から逸脱するが、新たなNetworkモデルに拡張するために、基本に戻ってCifar10のフィッティングについて学びなおす。 ### やったこと (1)そもそもCifar10のフィッティングについて (2)そもそも今回のモデルでCifar10はフィッティングできるのか (3)VGGモデルを変えて、Cifar10のフィッティング精度を見る ### (1)そもそもCifar10のフィッティングについて いきなりですが、以下を参考にしました。 【参考】 ①[ChainerによるCIFAR-10の一般物体認識 (2) ](http://aidiary.hatenablog.com/entry/20151114/1447469049) ②[mitmul/chainer-cifar10 ](https://github.com/mitmul/chainer-cifar10) コードはほとん
第廿一夜も、本書から逸脱するが、昨夜の延長としてVGGモデルを利用して、強い方策ネットワークを目指す。 ### やったこと (1)VGGモデルを利用する (2)LesserKai vs Policy vs VGG_Policyの総当たり戦 (3)さらなる追求 ### (1)VGGモデルを利用する ほぼ前回のCifar10のモデルから想像できると思いますが、モデルは以下のようなものです。 from chainer import Chain import chainer.functions as F import chainer.links as L from pydlshogi.common import * ch=192 class PolicyNetwork(Chain): def __init__(self): super(PolicyNetwork, self).__init__(
顔検出 PyPI mtcnn 0.1.1 Multi-task Cascaded Convolutional Neural Networks for Face Detection, based on TensorFlow github MTCNN face detection implementation for TensorFlow, as a PIP package. Youtube Face detection with MTCNN Python3.4 +でのTensorFlow用のMTCNN顔検出器の実装 これは、FacenetのDavid Sandberg(FaceNetのMTCNN)からMTCNNの実装を参考にして書かれています。 これは、Zhang、Kらの論文に基づいている。 (2016)[ZHANG2016]。 そのBENCHMARKを示しており、どの程度実用的な速度がでる
と言うわけで、RTX2080を買ってみました 計算速度を比較するためにVGG16のファインチューニングを 下記の設定でやってみました。 GTX1080Tiは違うパソコンでやったため参考でお願いします GTX1080TiとRTX2080との速度比較ですが RTX2080のほうが11%ほど早い結果となりました。 GTX1080Tiの端末に新しく仮想環境を作成しRTX2080と各種ライブラリを 同じバージョンにしたところGTX1080Tiのほうが3%ほど早くなりました(泣 機械学習をするだけであればメモリが3GB多く、値段が4万円安い GTX1080Tiのほうが良さそうですね・・・ ※△1 CUDAを9.0->9.2の計算結果も掲載 ※△2 GTX1080Tiの結果を追加 ※△3 GTX1080Tiのライブラリのバージョン等を同じに ※△4 GTX1070のノートとGV100追加 計算内容 ・ト
事前にインスールするもの(python3系) numpy, pandas, scipy, matplotlib, numba, chainer, sklearn をpip3で。 他に tkiinterを、sudo apt-get -y install python3-tkで gpu関連 1秒ごとにgpuの使用状況を表示 nvidia-smi -l 1 gpuを稼働するには、コードもgpu対応のものに書き換えないといけない。 https://qiita.com/ikeyasu/items/246515375b34e9fb4846 GPUで実行するには Chainクラスはto_gpuメソッドを持ち、この引数にGPU IDを指定すると、指定したGPU IDのメモリ上にネットワークの全パラメータを転送します。こうしておくと、前進計算も学習の際のパラメータ更新なども全部GPU上で行われるようになりま
目的変数の分布 学習データでは口座開設をしなかった人が口座開設者の約8倍であるため、キャンペーンの結果口座開設に至る人は10%程度とやはり低めです。そのためどのような条件の人が口座開設に踏み切っているのかを見極める必要がありそうです。 説明変数の分布 年齢(age) 顧客の年齢を10歳刻みで分割しました。ヒストグラムを見ると20~60歳の人の割合が高いことがわかります。一方で20歳以下と60歳以上の人達は顧客数は少ないものの口座開設率は高いことが読み取れます。 また、20歳以下の若者については大学生になりアルバイトを始める際に口座を開設するだろうと考えられるので、職種(job)も含めた分布を見てみます。 # 各年齢、職種に対する口座開設者の割合を求める # 10歳毎にビニング age_bining = pd.cut(trainX['age'],list(range(10,100,10)))
前回の記事ではYOLO V3のKeras版をWatson Studioで動かして、学習済みモデルを使用した物体検出をやってみました。今回はこのモデルを自前の画像で学習させて任意のモノを検出するカスタム物体検出に挑戦します。大きな流れとしては以下のようになります。 教師データの作成 検出したい物体をアノテーションツールで学習させて教師データを作成します YOLOモデルの学習 Watson StudioのDLaaS(Deep Learning as a Service)機能を使ってYOLOモデルを学習します 物体検出 作成したモデルを使ってカスタム物体検出を実行します 今回も学習のためのコードは以下のものを参考にしています。 https://github.com/experiencor/keras-yolo3 1. 教師データの作成 今回は以下のような「IBM Watson」のアバターを新旧の
動機/対象 現在美女たちを機械学習させてみようと思い奮闘中なのですが、scikit-learnのニューラルネットワークライブラリではいまいち満足する結果が得られなかったので、TensorFlowに乗り換えちゃえyo!って感じです。美女を見分けられい機械はだだの機械だ:OpenCV, Python3による画像からの顔抽出 そこでTensorFlowの勉強としてまず、公式チュートリアルをやってみよう!と思いましたが、英語、、、メンドくさい。。。 -> Qiitaに載っているチュートリアルの翻訳を見ながらやればいいんだ! -> (おそらく)前のバージョンのチュートリアルの解説しか出て来ぬ。。。 -> 仕方ないから英語読むか。 よって対象は私と同じTensorFlowって美味しいの?系初心者です。解説も完全な翻訳ではなく、端折ったり、付け加えている部分があります。 なおTensorFlowのチュー
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く