Pythonで処理した結果をExcelで出力したい、ってシチュエーション、あるよねっ!…あるよねっ!そんなときはopenpyxlというライブラリを使うとできます。まずはライブラリをインポート import openpyxl 編集するには、まずワークブックを準備します。(名前は…
コードを書いていて、うまく動くか確認しているとき、「ここまでのコードがちゃんと書けてるかを確認したい!ここから先は動かなくていい!全部走らせると時間がかかるの!」というときに使っています。sysというライブラリをインポート import sys 止めたい…
おつかれさまです。Tensorflowを使い始めたので、これまで書いてきたディープラーニングのプログラムを書き直してみたいと思います。今回は線形回帰のこの問題をトライ。照らし合わせながら新しいコードを確認してもらえると幸い! shachicode.hatenablog.co…
おつかれさまです。ディープラーニングの勉強を始めて、フレームワークには頼らずnumpy全力少年でいろいろなパターンの問題にトライしてきましたが、CNNの画像認識でPCのスペックが足りずにとんでもなく時間がかかってしまうという問題にあたってしまいまし…
おつかれさまです。アメリカの生活と仕事が忙しくなってしまい、ずいぶん沈黙していました。ディープラーニングなり、プログラミングの勉強は続けているものの、まとめて記事にする暇がなく、知識とかノウハウがぶん投げジャーマンDDT状態になってしまってい…
おつかれさまです。ちょっとディープラーニングのネタからは離れて、少しPythonについての体験記をまとめたいと思います。…すいません、GPUの次の手が思いつかず、とりあえず道草くってるような感じです。 Python歴 Pythonに関して、私は独学マンです。ただ…
おつかれさまです。前回までで作成したCNNのプログラムを実際に走らせてみます。 CNN:順伝搬計算 - 社畜エンジニア発掘戦線 CNN:逆伝搬計算 - 社畜エンジニア発掘戦線 条件は「ミニバッチ数:100」、「学習率:0.01」、「イテレーション回数:3000」でとり…
おつかれさまです。前回はCNN(畳み込みニューラルネットワーク)についてアルゴリズムと順伝搬計算を行うコードを書いていきました。今回は、その誤差から微分値を計算し、逆伝搬でパラメータを更新してみたいと思います。 CNN逆伝搬計算の概要 今回のニュ…
おつかれさまです。今回からCNN(Convolution Neural Network:畳み込みニューラルネットワーク)にトライしていこうと思います。なんせこのCNN、アルゴリズムがとてもややこしいし、時間もかかるので、何回かに分けてまとめていく予定です。データセットは…
おつかれさまです。前回に続いて、もう少しだけ関数化の練習をしてみたいと思います。今回は、隠れ層を追加したニューラルネットワークの構築に使ったアルゴリズムを関数化してみます。まぁ、ほとんど前回やっちゃったんですけどね。 MNIST手書き数字の画像…
おつかれさまです。処理を関数にして外部のファイルにまとめてしまって、コードの流れをすっきり見やすくさせよう、という試みです。 関数の外部モジュール化 - 社畜エンジニア発掘戦線 練習として、これまで作ったプログラムを使って、その中に書かれている…
おつかれさまです。これからCNN(畳み込みニューラルネットワーク)にいろいろとトライしていこうとしていますが、少し問題があります。それは、アルゴリズムが複雑で、コードに落とすとめちゃめちゃ長くなる、ということです。ダラダラと長く書かれたコード…
おつかれさまです。入力と出力のみから構成されるシンプルなニューラルネットワーク、そしてそれに隠れ層を追加したニューラルネットワークで正解率の比較を行いました。しかしながら、結果は同じくらいの正解率にとどまり、あまり違いが見れませんでした。 …
前回はMNISTの画像識別を行うためのニューラルネットワークに隠れ層を追加して学習を行いました。訓練の結果は80%そこそこであんまり向上した感じがなかったですが、とりあえずテストデータで精度を評価してみます。コードの流れは前回評価したときと同じで…
手書き文字を識別するためのニューラルネットワークを構築するベースができてきました。前回は「入力」と「出力」だけのシンプルなネットワークでしたが、今回はこれに隠れ層を追加してみたいと思います。基礎問題では、隠れ層と言えば「非線形」がキーワー…
前回はシンプルなニューラルネットワークを構築し、MNISTの訓練データを使って学習を行いました。その正解率(精度)は80%を超える結果となり、おおすげぇ、と満足しています。しかしながら、ここまでは訓練データを使った正解率です。7万枚の画像のうち、6…
データセットの準備が整ったところで、実際にMNISTの画像をニューラルネットワークを使って分類してみたいと思います。今回はあまり複雑なことをせずに、「画像の入力」と「数字の出力」の2層でネットワークを作成してみます。考え方、コード作成の流れはこ…
おつかれさまです。今回より、ディープラーニングの発展問題として手書き数字の認識問題にトライしたいと思います。問題と言っても、"how to"が多くて問題にしてると効率が悪いので、ここからは高校数学スタイルはやめて、流れにそってコードを書いていきた…
おつかれさまです。 ディープラーニングの基礎問題もひと通り終え、いよいよ発展的な問題に取り組んでいこう、というところです。まだまだnumpyだけでチャレンジしていこうとは思っているんですが、いずれはフレームワークを使う日が来るかと思います。昨今…
おつかれさまです。これまでPYTHONISTAを使ってディープラーニングの基礎問題をトライしてきました。これらの問題を通してディープラーニングの「デ」ぐらいは理解できたんじゃないかな〜と自負している今日このごろです(すいません、まだまだ初心者です)…
おつかれさまです。非線形分類問題では隠れ層を用いて直線では分類できないような2クラスの分類をトライしました。 →②非線形分類問題(パラメータの更新) - 社畜エンジニア発掘戦線出力層で確認できる結果としては、確かに2クラスの分類ができていましたが…
第二問 設問1.「原点を中心とした半径4の円」と「原点」にガウシアンノイズを付加したデータセット作成せよ 設問2.活性化関数にソフトマックス、損失関数にクロスエントロピーを用いて出力y1、y2と損失量Eを求めよ 設問3.損失関数を各層のパラメータで…
第一問 設問1.「原点を中心とした半径4の円」と「原点」にガウシアンノイズを付加したデータセット作成せよ 設問2.活性化関数にソフトマックス、損失関数にクロスエントロピーを用いて出力y1、y2と損失量Eを求めよ 設問3.勾配降下法でパラメータを600…
第四問 設問1.ガウシアンノイズを付加した入力x1、x2が(x1, x2) = (5, 5), (0, -5), (-5, 5)となるデータセットをワン・ホット表現を用いて作成せよ 設問2.活性化関数にソフトマックス、損失関数にクロスエントロピーを用いて出力y1、y2と損失量Eを求め…
第三問 設問1.ガウシアンノイズを付加した入力x1、x2が(x1, x2) = (2.5, 2.5), (7.5, 7.5)となるデータセットをワン・ホット表現を用いて作成せよ 設問2.活性化関数にソフトマックス、損失関数にクロスエントロピーを用いて出力y1、y2と損失量Eを求めよ …
おつかれさまです。活性化関数や損失関数の微分についてメモしておきます。 〜活性化関数〜 ニューラルネットワークにおいて、線形変換をした後に適用する非線形関数もしくは恒等関数のこと。よく使っている「シグモイド関数」が活性化関数ですね。 〜損失関…
第二問 設問1.ガウシアンノイズを付加した入力x1、x2、正解ラベルtが(x1, x2, t) = (2.5, 2.5, 0), (7.5, 7.5, 1)となるデータセットを作成せよ 設問2.パラメータにバイアスを付加し、活性化関数にシグモイド関数、損失関数にクロスエントロピーを用いて…
第一問 設問1.入力x1、x2、正解ラベルtが (x1, x2, t) = (2, 2, 0)、(-2, -2, 1) で、それぞれにガウシアンノイズが付加されたデータセットを作成せよ 設問2.入力(x1, x2)に対する重みを(w1, w2)としてシグモイド関数を活性化関数として出力yを求めよ 設…
第一問 設問1.ガウシアンノイズを付加したy = sin(x)に準ずるデータセット(インプット:x、正解ラベル:t)を作成せよ 設問2.隠れ層が20のニューロンで設計されるニューラルネットワークのパラメータ(w、b)の行列型を求めよ 設問3.ニューラルネット…
第三問 設問1.ガウシアンノイズを付加したy = 3xに準ずるデータセットを作成し、バイアスなしでフィッティング直線を出力せよ 設問2.パラメータ:重み(w)に対する損失量の推移をグラフにプロットし、最小値となるwを求めよ 設問3.設問2のグラフにイ…