LoginSignup
0
0

More than 3 years have passed since last update.

Chainerによる機械学習のためのPython学習メモ 8章 Numpy入門

Last updated at Posted at 2020-10-16

What

Chainerを利用して機械学習を学ぶにあたり、私自身が、気がついた点、リサーチした内容をまとめる記事になります。今回は、Numpyを勉強します。

私の理解に基づいて記述しているため、間違っている場合があります。間違いは都度修正するつもりです、ご容赦ください。

Content

Numpyとは

回帰分析を取り扱うアルゴリズム、多次元配列を便利に扱えるライブラリ?

Pythonプログラムへのモジュール読み込み

import numpy as np

テキスト読んでて、ライブラリとモジュールの違いが分からなくなったので調べてみました。下記参考記事
https://qiita.com/yutaro50/items/f93893a2d7b23cb05461
テンソルはarrayで扱う。

テンソルの取り扱い方法

 a = np.array([1, 2, 3]) #Numpy形式の行列を定義
 a.shape => #形をタプルで出力
 a.rank => #ランクを出力
 a.size =>#サイズを出力 データ個数
 a.ndim =>  # lenを出力
 a = np.zeros((3, 3)) => #3x3の零行列
 a = np.ones((2, 3)) => #2x3の要素が全て1の行列
 a = np.full((3, 2), 9) => #3x2の要素が全て9の行列
 a = np.eye(5)          => #5x5の単位行列
 a = np.random.random((4, 5)) => #4x5で要素が0~1の乱数で決定された行列
 a = np.arange(3, 10, 1) => #3から10まで1ずつ増える行ベクトル
 a = np[0,3] => #1行4列目をの値
 #↓この説明が理解できない><
 # 4 x 5 行列 e の真ん中の 2 x 3 = 6 個の値を取り出す
 center = e[1:3, 1:4]
 a[[0, 2, 1], [1, 1, 0]] => # (1, 2), (3, 2), (2, 1)の要素を行ベクトルで出力

そのほか四則演算もできる
行列形が違くても加減算ができる=ブロードキャスト
逆に不本意な計算が発生する可能性がある。注意

行列積 ABの計算

np.dot(A,B) or A.dot(B) # とかく
np.dot(X.T, X)          # 行列Xの転置行列とXの積を計算
np.linalg.inv(A)        # 行列Aの逆行列を計算 

交換法則は一般には成り立たないので順序に注意

行列の取り扱いに困ったときはここを見返そう

Comment

内容が難しくなってきたので、更新頻度が落ちてしまっているが頑張ろう

0
0
0

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
  3. You can use dark theme
What you can do with signing up
0
0