ぽきたに 〜ありきたりな非凡〜

現役F欄大学生が送るゴミ溜めと独り言

MNISTはどういったデータの構造をしているのかについて考える。

 

どうもたっきーです。

最近、研究のモチベーションは高いけど大学に行くモチベーションはとても低い。

 

モチベーション

f:id:tacky0612:20171108182809p:plain

機械学習初心者なので、MNISTの784次元配列+ラベルのデータセットを分類したい対象のN次元配列+ラベルのデータセットに入れ替えると既存のコードで機械学習が簡単にできる。。。等と安直な考えでいる。

そのためにはMNISTってどんなデータの形しているのかしる必要があるので検証してみる。

 

環境 

  • macOS High Sierra 10.13
  • Python 3.6.3
  • Jupyter notebook 5.0.0
  • numpy 1.13.3
  • tensorflow 1.4.0

  

準備

まずはインポート

import tensorflow as tf
import numpy as np
from tensorflow.examples.tutorials.mnist import input_data

MNISTデータを取得する。

mnist = input_data.read_data_sets("/tmp/data/", one_hot=True)

すると以下が表示される。

 データの内容を表にまとめると以下になる。

ファイル名 データ
train-images-idx3-ubyte.gz 学習用画像データ
train-labels-idx1-ubyte.gz 学習用ラベルデータ
t10k-images-idx3-ubyte.gz テスト用画像データ
t10k-labels-idx1-ubyte.gz テスト用ラベルデータ

 

中身を見ていく

a = mnist.train.next_batch(1)

 mnist.train.next_batch()で学習用データからデータを取り出すメソッド。

引数は取り出すデータの数。

>>>print(a)

 
 
 
(array( 0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.40000004,  0.99607849,
         0.92156869,  0.29411766,  0.08235294,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.54509807,  0.99215692,  0.99215692,  0.99215692,
         0.88627458,  0.47058827,  0.03137255,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.45098042,
         0.99215692,  0.99215692,  0.99215692,  0.99215692,  0.99215692,
         0.89803928,  0.43137258,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.02352941,  0.13725491,  0.13333334,
         0.13333334,  0.62352943,  0.98039222,  0.99215692,  0.89411771,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.57254905,  0.99215692,  0.89411771,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.32156864,  0.88235301,  0.99215692,
         0.89411771,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.06666667,  0.49803925,
         0.89411771,  0.99215692,  0.90196085,  0.44313729,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.11764707,  0.21960786,
         0.54509807,  0.9450981 ,  0.99215692,  0.95686281,  0.65882355,
         0.32549021,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.1137255 ,
         0.72549021,  0.92941183,  0.99215692,  0.99215692,  0.99215692,
         0.99215692,  0.69411767,  0.37254903,  0.1254902 ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.2392157 ,  0.97647065,  0.99215692,
         0.99215692,  0.99215692,  0.99215692,  0.99215692,  0.99215692,
         0.99215692,  0.98431379,  0.94117653,  0.4666667 ,  0.01568628,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.37647063,  0.58039218,  0.58039218,  0.58039218,
         0.58039218,  0.89803928,  0.97254908,  0.98431379,  0.99215692,
         0.99215692,  0.99215692,  0.5529412 ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.16862746,  0.5411765 ,  0.99607849,  0.99215692,
         0.8588236 ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.02745098,
         0.75294125,  0.99215692,  0.99215692,  0.65490198,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.06666667,  0.47450984,  0.99215692,  0.99215692,
         0.80000007,  0.05490196,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.09019608,  0.76078439,
         0.99215692,  0.99215692,  0.67450982,  0.03529412,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.53725493,  0.93725497,  0.99215692,  0.99215692,  0.67450982,
         0.03529412,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.64313728,  0.29019609,  0.        ,
         0.04705883,  0.20000002,  0.82745105,  0.99215692,  0.99215692,
         0.81568635,  0.29019609,  0.02745098,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.09411766,
         0.90980399,  0.5529412 ,  0.40000004,  0.82745105,  0.99215692,
         0.99215692,  0.99215692,  0.83921576,  0.09411766,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.25490198,  0.99607849,  0.99215692,
         0.99215692,  0.99215692,  0.96470594,  0.81568635,  0.35686275,
         0.02352941,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.25490198,  0.99215692,  0.99215692,  0.99215692,  0.57647061,
         0.18039216,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
         0.        ,  0.        ,  0.        ,  0.        , dtype=float32), array( 0.,  0.,  0.,  1.,  0.,  0.,  0.,  0.,  0.,  0.))

 

>>>print(type(a))
<class 'tuple'>

 これから取り出したデータの方はタプルで、a[0]に画像データ、a[1]にラベルデータが入っていることが分かる。

 

試しに print(a[0])をやってみると784個の配列が表示され、print(a[1])をやってみると10個の配列が表示される。

じゃあこれらのデータの型は?

>>>print(type(a[0]))
<class 'numpy.ndarray'>

>>>print(type(a[1]))

<class 'numpy.ndarray'>

numpy.ndarrayらしい。

↓ドキュメント

numpy.ndarray — NumPy v1.13 Manual

要するにNumpyの配列ってことかな??(わからん)

 

ちなみに画像データは0〜1の値をとり、0が白、1が黒になっている。

オリジナルのデータは0〜255の整数値で各ピクセルの濃度を表しているっぽい。

0〜1に変換して正規化しているっぽい(?)

 

ラベルデータは 「1-of-K」という方式で表現しているらしい。

例えば0なら[1,0,0,0,0,0,0,0,0,0]で、

2なら[0,0,1,0,0,0,0,0,0,0]と言った風のある要素だけが1で、それ以外が0なベクトルのこと。

配列の個数が分類したいデータの個数で、1のある位置がその要素。(語彙がないのでうまい表現が見つからない。)

 

画像データとラベルデータを分ける

以下のコードでimagesに画像データの配列、labelsにラベルデータの配列が入る。 とりあえず10個分のデータ入れてみる。

images, labels = mnist.train.next_batch(10)

 中身の確認をしよう。

 

images

IN

print(images)

OUT

[[ 0.  0.  0. ...,  0.  0.  0.]
 [ 0.  0.  0. ...,  0.  0.  0.]
 [ 0.  0.  0. ...,  0.  0.  0.]
 ..., 
 [ 0.  0.  0. ...,  0.  0.  0.]
 [ 0.  0.  0. ...,  0.  0.  0.]
 [ 0.  0.  0. ...,  0.  0.  0.]]

IN

print(len(images))

OUT

10 

IN

print(type(images))

OUT

<class 'numpy.ndarray'>

 

 

ほう…imagesには784個のデータの配列が10個配列としてあって、型はnumpy.ndarrayって感じかな。

もっと深く見てみよう。

 

images[0]

IN

print(images[0])

OUT

[ 0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.00392157  0.33333334
  0.60784316  1.          0.63921571  0.53333336  0.53333336  0.08235294
  0.03137255  0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.05882353
  0.59215689  0.99215692  0.99215692  0.99215692  0.99215692  0.99215692
  0.99215692  0.99215692  0.76470596  0.51764709  0.03921569  0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.51372552  0.99215692  0.97254908  0.70980394  0.32156864  0.32156864
  0.49803925  0.87843144  0.99215692  0.99215692  0.99215692  0.58823532
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.26274511  0.96470594  0.98823535  0.43529415  0.          0.
  0.          0.          0.44313729  0.99215692  0.99215692  0.99215692
  0.73725492  0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.50980395  0.99215692  0.80784321  0.          0.
  0.          0.          0.30588236  0.89411771  0.99215692  0.99215692
  0.92941183  0.26666668  0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.44705886  0.97254908  0.99215692  0.09411766
  0.          0.          0.          0.          0.56470591  0.99215692
  0.99215692  0.99215692  0.61176473  0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.74117649  0.99215692
  0.98431379  0.04313726  0.01568628  0.10196079  0.49019611  0.84313732
  0.98823535  0.99215692  0.99215692  0.92549026  0.17647059  0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.
  0.74117649  0.99215692  0.80784321  0.1254902   0.80000007  0.99215692
  0.99215692  0.99215692  0.99215692  0.99215692  0.96862751  0.18431373
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.74117649  0.99215692  0.99215692  0.99215692
  0.99215692  0.99215692  0.87843144  0.87843144  0.99215692  0.99215692
  0.57647061  0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.35686275  0.76078439
  0.8705883   0.76078439  0.71764708  0.29803923  0.09019608  0.627451
  0.99215692  0.99215692  0.01960784  0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.10980393  0.          0.          0.          0.18039216
  0.94117653  0.99215692  0.50980395  0.00784314  0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.0627451
  0.73333335  0.99215692  0.68235296  0.01568628  0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.
  0.16470589  0.99215692  0.99215692  0.41960788  0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.
  0.07058824  0.80784321  0.99215692  0.81568635  0.07843138  0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.
  0.00392157  0.60784316  0.99215692  0.96470594  0.20392159  0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.41568631  0.99215692  0.99215692  0.45882356  0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.
  0.30588236  0.98039222  0.99215692  0.87450987  0.08235294  0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.
  0.11764707  0.82352948  0.99215692  0.96470594  0.34509805  0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.0509804   0.89803928  0.99215692  0.93725497  0.14901961  0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.25490198  0.97254908  0.6901961   0.02745098  0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.        ]​

IN

print(len(images[0]))

OUT

784

IN

print(type(images[0]))

OUT

<class 'numpy.ndarray'>

 

これからimagesに格納されている各配列はひとつ分の画像データに鳴っていることが分かる。型は<class 'numpy.ndarray'>。

もっと深く。

images[0][0]

IN

print(images[0][0])

OUT

0.0

IN

print(len(images[0][0]))

OUT

TypeError: object of type 'numpy.float32' has no len()

IN

print(type(images[0][0]))

OUT

<class 'numpy.float32'>

これから、imagesの配列になにが入ってるかわかった。型はnumpy.float32。

そりゃ、print(len(images[0][0]))はデータは配列じゃないのにエラー吐かれるわ。

 

ラベルデータに対しても似たような結果が得られた。

ただ、print(type(labels[0][0]))関してだけ、型が<class 'numpy.float64'>だった。

 

 

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

 

 

 

Python機械学習プログラミング 達人データサイエンティストによる理論と実践 (impress top gear)

Python機械学習プログラミング 達人データサイエンティストによる理論と実践 (impress top gear)

 

 

 

TensorFlowで学ぶディープラーニング入門 ~畳み込みニューラルネットワーク徹底解説~

TensorFlowで学ぶディープラーニング入門 ~畳み込みニューラルネットワーク徹底解説~

 

 

 

 

おわりに・今後・感想

今回得た配列を分類したいやつの配列に入れ替えるとどうなるのか試してみる。

このデータセットみたいに0〜1に正規化する必要があるのかな??

まぁ、そのデータセットどうやって作ろうかな…って感じではある。

(データセットってどうやってつくるのか…?)

numpy.ndarrayに分類対象の配列を入れたらいいのかな???

そしてそれに1-of-Kでラベルデータを付与すれば良い?

とりあえずMNISTライクなデータセット用意するところから始めたらいいのかな???

そもそも機械学習・深層学習はどの程度データがあればいいんや????

 

???ばかりが頭に浮かぶ

機械学習畑の方、ぜひご教授ください…。

 

そういや関係ないけど、iPhone X発売されましたね。

ほしい。

 

Anacondaのアンインストール&インストール + Python2系/3系の両方をJupyter-Netebookで使えるようにする

どうも、たっきーです。最近よくものを壊します。

この前は誤ってバイト先の金庫を破壊しました。

 

 

 

モチベーション

Anaconda-NavigatorがHigh-Sierraにアップデートしてから起動しなくなった。

パソコンが何もしてないのに壊れた キレそう。

…ので、Anacondaをアンインストール→インストールする。

あと、Python2系とPython3系の両方使いたくなった。(Python2で動くのにPython3では動かないみたいなことがよくあるのでそれの原因を特定したい。)

まぁ色々いじりすぎてごちゃごちゃしてたのできれいに掃除できたいい機会になった。

ちょっと躓いたので議事録。

 

環境

macOS High Sierra 10.13

f:id:tacky0612:20171106154318p:plain

 

Anacondaアンインストール

ai-coordinator.jp

↑これのとおりにやった。

コマンド叩くだけじゃホームディレクトリにAnacondaファイルが残るので削除を忘れない。

$ conda install anaconda-clean

$ anaconda-clean

これだけだとまだ残ってるので、Finderで /Users/HOME/anaconda を全消しする。

$ open ~/.bash_profile

 

# added by Anaconda3 4.3.1 installer
export PATH="/Users/hideki/anaconda/bin:$PATH"

と書かれてあるので消す。

$ python

と叩いてAnacondaが起動してなかったらアンインストール完了。

Anacondaインストール

↓ここから自分のOSにあったやつを入れる。Python3。

www.anaconda.com

 

次へ→次へ→次へ→次へ→完了

これでPython3環境はいった(はず)

 

好みで他に必要なもの入れる(これはメモ)

Anacondaをアンインストールしたときにほとんど消えた。

Anaconda入れると大体入るけど他に好みでインストールする。

$ pip install wavio

$ pip install tensorflow

 

仮想環境構築

仮想環境作るコマンド

oppython2の部分は仮想環境名。

普通にpython2とかの方がいい。(おっPython)

$ conda create -n oppython2 python=2.7 anaconda

仮想環境に入るコマンド

$ source activate oppython2

ターミナルのユーザー名の前に(仮想環境名)と表示されてれば成功。

必要なものはこの仮想環境に入ってからpipなりcondaなりで入れる。

 

Jupiterの起動コマンド

$ jupyter notebook

仮想環境下でこのコマンド叩くとPython2になってる。

f:id:tacky0612:20171106163448p:plain

 

ちなみに仮想環境入らずに$ jupyter notebook叩くとPython3になっている。

f:id:tacky0612:20171106161952p:plain

仮想環境を抜けるコマンド

$ source deactivate

 

 ちなみにAnaconda-Navigatorで仮想環境とかrootに何が入ってるか確認できる。

f:id:tacky0612:20171106163641p:plain

 

 

Python機械学習プログラミング 達人データサイエンティストによる理論と実践 (impress top gear)

Python機械学習プログラミング 達人データサイエンティストによる理論と実践 (impress top gear)

 

 

 

 

 

今後とか感想とか

2系3系両方使える様になったので、2系で動くのに3系で動かないプログラムの解明したい。

研究の進捗生み出したいけど、中々こういうところで躓いて進めねーのクソ^^

がんばう💪

 

 

 

 

【合格体験記】豊橋技術科学大学大学院-工学研究科-情報・知能工学専攻に合格しました。

どうも、こんにちは。たっきーです。

豊橋技術科学大学大学院に受かったので自己満合格体験記を書きます。

僕自身、合格体験記を参考に受験に挑んだので、これから受験する人の参考になれば幸いです。

f:id:tacky0612:20170915182327j:plain

豊橋技術科学大学


 

 

豊橋技術科学大学とは

豊橋技術科学大学(とよはしぎじゅつかがくだいがく、英語: Toyohashi University of Technology、公用語表記: 豊橋技術科学大学)は、愛知県豊橋市天伯町雲雀ヶ丘1-1に本部を置く日本の国立大学である。1976年に設置された。大学の略称は技科大、豊技大、TUT、Toyohashi Tech。 

豊橋技術科学大学 - Wikipedia

 

僕の個人的なイメージは、高専生の編入先。国立大学なので学費が安い。長岡科学技術大学との姉妹校。

学部生の大学院進学率が高く、殆どの人は内部進学するらしい。

豊橋、駅前はめっちゃ栄えてるのに豊橋技術科学大学校舎の周りは田舎。

 

はじめに

僕の能力とか↓

 

…あんまり参考にならないかもですね(?)

学部は機械科ですが、大学院では情報系のことを学びたいと思って専攻を換えました。

故に、受験科目に情報系の専門知識が必要なのでそこをカバーするのが大変でした。

研究テーマも研究室の教授に情報系の研究がしたいってことで深層学習の研究のテーマを頂いた。

あと、今通ってる大学の院だと横の繋がりがほぼゼロなことと、私立で学費が高いので、国公立である豊橋技術科学大学を受験しました。(あと、ウチの大学院いってる人がしんどそう)

大学院では機械学習・AIにの分野について研究したいと思っています。

 

 

 

受験について

日程 (2017年)

出願期間    7月18日〜7月24日

受験日     8月31日

合格発表    9月15日

 

受験方式    一般入試(学外)

試験科目    英語(60分)・基礎科目(90分)・面接

ちなみに基礎科目は数学(解析学代数学・確率論)と情報(プログラム・アルゴリズム)です。

 

 

 

受験勉強

過去問が郵送で請求できるので2年分入手した。

過去問題の傾向は(2年分だが)は、

 

基礎科目(情報・知能工学専攻)

  1. 微分方程式
  2. 確率
  3. 専門(情報)

外国語(英語)

  1. 長文読解
  2. 空所補完
  3. 文法の誤りを見つける
  4. 空所並び替え

という構成になっている。

過去問に解答解説は用意されていないのでちょっと困った。

 

数学対策について

数学力は問題を解かなちゃあがんない。

解説を読んで満足せず、一回解いてみるってのがマジで大事。

数学力に関しては名工大NAIST受験の際にガチったのである程度身に付いていた。

 

過去問の傾向から、(1)で解いた問題をヒントに(2)を解くみたいな問題で、基礎をしっかり固めていればそれほど難しくない。初見で完答できた問題もあるぐらい。

 

 

僕が参考にした数学本

石村さんの「やさしく学べる」シリーズ、マジでいい。本気出せば一冊2日で範囲を網羅できる。大学の講義受けてる時代から分からないを無くすために活用していた。

色んな本に手を付けてしまうのもアレなのでこれを完璧にすることと過去問を解くという方法で受験勉強した。(というか、過去問見た感じ基礎がしっかりしていれば対応できると思った。)

やさしく学べる線形代数

やさしく学べる線形代数

 
やさしく学べる微分積分

やさしく学べる微分積分

 
やさしく学べる微分方程式

やさしく学べる微分方程式

 

 

専門科目対策について

 機械科出身なのでほんとにわからないことだらけだった。

C言語はそれなりに理解しているつもり(4週間のインターン行った際にECUのCソースを弄らせてもらった)だったが、講義で誰かに教わった経験がないのでツライ。

あと、アルゴリズム周りがほんとうに分からない。(ヤバイ)

とりあえず、過去問を情報系に通ってる他大の人に見せて教えてもらった。

 あとは適当に技術書っぽいの眺めた。

 

 読んだ本

アルゴリズムとか計算量とか対策。

アルゴリズムを、はじめよう

アルゴリズムを、はじめよう

 

 

 研究室の教授から借りた本(正直、じっくり読んでいない。)

アルゴリズムと計算量 (計算機科学・ソフトウェア技術講座 5)

アルゴリズムと計算量 (計算機科学・ソフトウェア技術講座 5)

 

 

僕が趣味でC言語学んだ時に読んでた本

しろうとクマくんとC言語の授業

しろうとクマくんとC言語の授業

 

 

 

英語について

驚いたことに全問選択肢有り。

TOEIC515点の僕が言うのもアレだが、案外、簡単ではあった。

難易度で言うと、TOEIC以下センター試験以上。(あんまり適切な表現ではないかもしれないが、僕はそう感じた。)

TOEICをベースにし、試験問題はTOEICとは傾向が違うので過去問を参考にしつつ勉強した。

正直、英語に関してはあまり対策していない。

 

読んだ英語本

 

これ読んだけど600点取れんかったわ。クソ。(単に僕の英語力が低いだけ)

はじめての新TOEICテスト いきなり600点が取れる本

はじめての新TOEICテスト いきなり600点が取れる本

 

 

 TOEIC公式過去問。高い。高級品。

TOEICテスト公式問題集 新形式問題対応編

TOEICテスト公式問題集 新形式問題対応編

 

 

 長文対策に読んだ本

スピード英語長文 Level 3―短期で攻める

スピード英語長文 Level 3―短期で攻める

 
スピード英語長文 Level 4―短期で攻める

スピード英語長文 Level 4―短期で攻める

 

 

事前の研究室訪問等

やってない。(迫真)

大学院に進学する場合、 研究室に配属って流れになるので事前に研究室の教授にアポをとって訪問するのが普通らしい(名工大を受験した際は研究室訪問を行った。)が、今回の受験では研究室訪問は行ってないです。

7月8月、大学院に受験して2校も落ちてしまい、精神的にまいっていて外にあまり出たくないって気持ちだった。

ただ、やっぱり研究室訪問を行うと専門の人のお話を伺えるのでめちゃめちゃ為になるのでやったほうがいい。研究室の雰囲気や先生の人柄も知れるので。

 

 

試験当日

英語は過去問通りの内容。英語雑魚の僕でもほとんど解けた。ありがとう神様。

数学は傾向が変わってて大問1に線形代数が来ていた。特に、射影行列の問題があってほとんど解けなかった。(下手したら大問ひとつ分落としたかも?)以降は例年通り。

専門科目はjavaの問題とC言語の虫食い問題みたいな問題だった。javaを触った経験はゼロだったから推測して解くしかなかった。C言語の問題は雰囲気で解いた。

昼休憩を挟んで面接。面接の控室で緊張感に押しつぶされそうだったので、初対面だけど他の受験者の方とお喋りして緊張感は少し和らいだ。

面接官は3人 。面接時間は15~20分程度。受験者一人毎に面接を行う。

 

面接で聞かれたことまとめ(覚えている範囲で)

  • 筆記はどうでしたか?
  • 志望動機について
  • 現在の研究について
  • 機械学科だけどなぜ情報系に進学?
  • 得意科目について
  • 第一志望?
  • 部活について
  • 豊橋技術科学大学の印象について
  • 配属希望の研究室
  • 長所短所
  • 使えるプログラミング言語
  • なにか作ったものがあれば
  • C言語は得意?
  • 緊張してる??
  • プログラミング得意そうだね(そんなことはない)

構えてたより、一般的な内容が問われて安心した。(もっと専門的なことが聞かれると思ってた。) 

面接練習は一回も行わずでのチャレンジだったので、緊張はしていたが名工大NAISTの面接よりかは全然気持ちよく自分のことについて話すことが出来た。

 

 

感想・まとめ

数学での大コケがあったから合格発表まで少し不安だったけど、なんとか受かってって良かったです。

大学院試験は願書締め切りがはやいので3年次には志望校の出願時期を把握しておくことと、試験科目について把握しておくことが重要。

過去問と傾向が変わることがあるので、過去問が解けるからと慢心せず、出題範囲が確認できる場合はその範囲を網羅しておく。(当たり前か。)(僕は慢心した。)

面接は運。話しやすい面接官が当たればラッキー。

 

なにか質問等ありましたらTwitterにどうぞ。 

 

 

 

大学院合格おめでとうの会

いいことがあった日にはお酒を飲みましょう。

 

スポンサードリンク