LoginSignup
0

More than 3 years have passed since last update.

posted at

【ふくだ学習録】ゼロから作るDeepLearning part1【6日目】

ふくだ学習録とは?

ふくだが学習したことの備忘録。
目に見える形で残すことによってやる気を出す個人的な作戦です。
他人に見せるように書いているわけではないので、すごく読みにくいです。

読了した本

データベースエンジニア養成読本 [DBを自由自在に活用するための知識とノウハウ満載!]

はじめてのパターン認識を読んで(前置き)

「はじめてのパターン認識」を読んでいたのですが、その前に「ゼロから作るDeepLearning」を読んだ方が良さそうだった。(個人的にはそのほうが理解が進みそう)
なので、いったんパターン認識での学習はストップして、こっちの本の学習に入ります。
また数式的理解を深めるべき段階になった時に「はじめてのパターン認識」を読んでいきたいです。

下記サイトの勉強方針を参考にしました。
機械学習初心者が1年間イロイロ勉強した遍歴[2018年度版]

ゼロから作るDeepLearningを読んで

NumPyとは?

数値計算をするためのPythonライブラリ。
高度な数学アルゴリズムや配列(行列)を操作するための便利なメソッドが数多く用意されている。

Matplotlibとは?

グラフ描画のためのライブラリ。
Matplotlibを用いることで、実験結果の可視化や、ディープラーニング実行途中のデータを視覚的に確認することができる。

pyenvとは?

pythonのバージョンを簡単に切り替えることができるようにしてくれるツール。
まぁどの言語にもよくあるバーション管理ツール。

Anacondaディストリビューションとは?

Python本体+高度な数値計算やデータ分析、機械学習を行う用のライブラリがセットになっているもの。
実務レベルの場合、Anacondaディストリビューションを使用するのか、一からライブラリ構成考えて組み立てていくののどっちが主流なのかは不明。(実務では1から作っていくのが多そうなイメージはある)

インストール思ったより時間かかる…

Pythonインタプリタを使用する方法

$ pythonと打つだけ。

スライジングとは?

Pythonのリスト型で使用できる記法。

>>>a = [1, 2, 3, 4, 5]

>>> print(a)
[1, 2, 3, 4, 5]

>>> a[0:2] #インデックスの0番目から2番目まで(2番目は含まない)まで取得
[1, 2]

>>> a[1:] #インデックスの1番目から最後まで取得
[2, 3, 4, 5]

ディクショナリとは?

Pythonの型。キーと値をペアとしてデータを格納する。
JSでいうオブジェクト。

if文の際に注意すること

if文の次の文は、空白4文字インデントする。

example.py
hungry = True
if hungry:
    print("I'm hungry")

基礎文法は下記サイトを参考にしていく。
Python3基礎文法

NumPy配列の作成

NumPy配列を作成するには、np.array()というメソッドを使用する。
np.array()は、Pythonのリストを引数にとり、NumPy用の配列(numpy.ndarray)を作成する。

example
>>> x = np.array([1.0, 2.0, 3.0])

>>> print(x)
[1. 2. 3.]

>>> type(x)
<class 'numpy.ndarray'>

(これをする意味が果たして何なのかは、きっと後々わかるはず…)

NumPy配列の算術計算

要素数が同じ配列x,yの場合、各要素ごとに四則演算を行うことができる。
(要素数が異なる場合は、エラーになる)

またNumPY配列と、単一の数値の組み合わせで算術計算を行うこともできる。
この機能のことをブロードキャストと呼ぶ。

NumPyのN次元配列

NumPyでは、1次元の配列だけではなく、多次元配列も作成することができる。

example
>>> A = np.array([[1, 2], [3, 4]])

>>> print(A)
[[1 2]
 [3 4]]

>>> A.shape
(2, 2)

>>> A.dtype
dtype('int64')

行列同士の四則演算を行うこともできる。(要素ごとに)またブロードキャストも可能。

今日の一言

Python初めて書いたけど、記法シンプルで簡単そう。
若干Python実行環境のインストールで時間がかかったから学習がそこまで進まなかったけど、環境構築でつまずくことは無かったから、その辺りはJSとかRubyとかを経験しててよかったなと思った!
あとAnacondaって実務レベルでも普通に使うディストリビューションなのかどうかきになるから、今日先輩に聞いてみる!
ベローチェの黒糖カフェオレうまい!

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
0