機械学習

NumSharp で 2 層ニューラルネットワーク

「ゼロから作る Deep Learning」を読んで C# でゼロから作ってみる続き。これから先は C# で初挑戦になる。 ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装作者:斎藤 康毅オライリージャパンAmazon NumSharp を使って 2 層ニューラ…

NumSharp でニューラルネットワークに対する勾配

「ゼロから作る Deep Learning」を読んで C# でゼロから作ってみる試みは、NumSharp を使って最初からやり直して、ようやく4章終盤まできた。 ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装作者:斎藤 康毅オライリージャパンAmazo…

NumSharp で勾配下降法

「ゼロから作る Deep Learning」を C# で粛々と写経中。 ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装作者:斎藤 康毅オライリージャパンAmazon NumSharp を使って、機械学習で使う勾配下降法を実装してみた。 using NumSharp; va…

NumSharp で勾配

「ゼロから作る Deep Learning」を読んで、Python ではなく C# でゼロから作ってみる試みの続き。ちょっと間が空いてしまったな。 ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装作者:斎藤 康毅オライリージャパンAmazon 4章の勾配…

NumSharp で損失関数

「ゼロから作る Deep Learning」を読んで、C# でゼロから作ってみる続き。MNIST データセットを使ったニューラルネットの実装は、配布されているパラメーターのファイルが Pickle 形式だったのでスキップ。損失関数に進むことにした。 ゼロから作るDeep Lear…

NumSharp を使って mnist.py を C# に移植

「ゼロから作る Deep Learning」を読んで、Python ではなく C# でゼロから作ってみる試み中。 ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装作者:斎藤 康毅オライリージャパンAmazon 今回は、本書「3.6.1 MNIST データセット」で …

NumSharp で 3 層ニューラルネットワーク

「ゼロから作る Deep Learning」を読んで、Python ではなく C# でゼロから作ってみる続き。今回は 3 層ニューラルネットワークを実装してみた。 ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装作者:斎藤 康毅オライリージャパンAma…

NumSharp で活性化関数とソフトマックス関数

『ゼロから作る Deep Learning』を読んで、Python ではなく C# でゼロから作ってみる続き。リベンジ。 ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装作者:斎藤 康毅オライリージャパンAmazon 今回はニューラルネットワークで使う…

NumSharp でパーセプトロン

以前、「ゼロから作るDeep Learning」を読みながら、C# でゼロから Deep Learning を実装する試みをやっていた。 ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装作者:斎藤 康毅オライリージャパンAmazon 当時、行列の計算には Math…

ニューラルネットワークに対する勾配を実装してみた

C# でゼロから Deep Learning を実装する挑戦の続き。 4 章もようやく終盤で、いよいよ機械学習に入る。 今回はニューラルネットワークに対する勾配を実装してみた。 using System; using System.Linq; using MathNet.Numerics.LinearAlgebra; namespace Gra…

勾配降下法を実装してみた

C# でゼロから Deep Learning を実装する挑戦はまだ 4 章。 機械学習で使う勾配降下法を実装してみた。 勾配を計算するメソッドは前回記事を流用している。 using MathNet.Numerics.LinearAlgebra; using System; using System.Linq; namespace GradientDesc…

勾配を実装してみた

C# でゼロから Deep Learning を実装する挑戦を少しずつ進めている。 まだ第 4 章だけど。 今回は勾配を実装してみた。 using MathNet.Numerics.LinearAlgebra; using System; using System.Linq; namespace NumericGradientSample { class Program { static…

数値微分を実装してみた

C# でゼロから Deep Learning を実装する挑戦の続き。 今回は第 4 章の数値微分を実装してみた。 using System; namespace NumericalDifferentiationSample { class Program { static void Main(string[] args) { // 微分 Func<double, double> function1 = x => 0.01 * Math</double,>…

損失関数を実装してみた

C# でゼロから Deep Learning を実装する挑戦の続き。 今回は第 4 章で紹介されている損失関数(2乗和誤差と交差エントロピー誤差)を実装してみた。 using MathNet.Numerics.LinearAlgebra; using System; using System.Linq; namespace LossFunctionSample {…

超単純な 3 層ニューラルネットワークを実装

C# でゼロから Deep Learnig を実装する挑戦の続き。 今回は超単純な 3 層ニューラルネットワークを実装してみた。 といっても、『ゼロから作る Deep Learnig』の 3 章の写経みたいなもの。 C# + Math.NET Numerics で試行錯誤しながら書いたコードは次の通…

MNIST データセットを読み込んでベクトルに変換

C# でゼロから Deep Learning を実装する挑戦の続き。 この挑戦では、『ゼロから作る Deep Learning』同様に、 手書き数字認識のニューラルネットワークを実装するので、 MNIST データセットを利用する。 MNIST handwritten digit database, Yann LeCun, Cor…

活性化関数とソフトマックス関数を実装

『ゼロから作る Deep Learning』を読んで C# で実装したみたくなった続き。 今度はニューラルネットワークで使う関数に挑戦してみた。 実装するのは活性化関数であるシグモイド関数、ReLU 関数。 そして出力層で使うソフトマックス関数。 あとおまけでステッ…

パーセプトロンで論理回路を実装

『ゼロから作る Deep Learning』を読んで、C# で実装してみたくなった。 問題は NumPy の変わりに何を使うかだけど、C# には Math.NET Numerics というのがある。 numerics.mathdotnet.com ベクトルや行列の計算はできそう。テンソルはやってみないと分から…