2016-02-01から1ヶ月間の記事一覧
TensorFlowを使って、実際にコードを動かしながら、DeepLearningの仕組みを段階的に学んでいきましょう。 目次 ・No.1 TensorFlow Tutorialの数学的背景 − MNIST For ML Beginners(その1) 平面上の2種類のデータをロジスティック回帰で直線的に分類すると…
何の話かというと enakai00.hatenablog.com上記の記事では、「−」「|」「+」という記号をCNN(畳み込みニューラルネットワーク)で分類することに成功しました。これを、MNISTの手書き数字画像に適用するのが今回の記事です。 使用するネットワーク ここで…
これです。 import numpy as np import matplotlib.pyplot as plt from numpy.random import multivariate_normal params = [(1,4,0,0), (9,4,0,0), (1,64,0,0), (1,0.25,0,0), (1,4,10,0), (1,4,0,5)] fig = plt.figure() for n in range(len(params)): (p0…
何の話かというと enakai00.hatenablog.com前回の記事では、畳み込みのフィルターを固定的に手で与えて、後段の処理(特徴変数の抽出とSoftmax関数による分類)のみを機械学習で最適化するという例を紹介しました。次のステップは、畳み込みのフィルターその…
何の話かというと enakai00.hatenablog.com上記の記事では、与えられたデータをそのまま分類するのではなく、分類に適した「特徴」を抽出した後、その特徴を表す変数(特徴変数)に対して分類処理をほどこすという考え方を紹介しました。今回は、とくに「畳…
何の話かというと enakai00.hatenablog.com上記の記事の内容に若干の無理があったので、あらためて書き直します。 復習 enakai00.hatenablog.com上記の記事で見たように、次のように隠れユニットが2個あるニューラルネットワークを用いると、平面を2本の直線…
注意事項 本記事末尾の「ひとりごと」にあるように、この記事は説明内容に若干(かなり?)の無理があります。参考までにこのままにしておきますが、基本的にこの記事は無視して、改めて書きなおした下記の記事へと読み進めてください m(_ _)menakai00.haten…
何の話かというと enakai00.hatenablog.com上記の記事では、隠れUnitが2個という、世界で最もシンプルなニューラルネットワークを構成しました。これをちょこっとだけ、拡張して遊んでみます。 隠れUnitを増やす それぞれの隠れUnitは平面を直線で分割する…
何の話かというと まず、下記の記事では、2次元平面を直線(一次関数)で分類するという問題を解きました。enakai00.hatenablog.com続いて、下記の記事では、2次元平面を多次元空間に拡張することで、手書き文字の分類ができることを示しました。これは、Ten…
enakai00.hatenablog.com 何の話かというと 上記の記事の続きです。 線形多項分類器 前回は、平面を2つの領域に分割しましたが、次のステップとして、3つ以上の領域に分類する方法を考えます。色々な方法が考えられますが、ここでは、前回同様に一次関数を用…
何の話かというと TensorFlow Tutorialの最初に登場する「MNIST For ML Beginners」では、次の方針で手書き文字の分類器を作成しています。(今の段階では、下記が何を言ってるのか分からなくても大丈夫です。)・28x28ピクセルの手書き文字画像を各ピクセル…