俺人〜OREGIN〜俺、バカだから人工知能に代わりに頑張ってもらうまでのお話

俺って、おバカさんなので、とっても優秀な人工知能を作って代わりに頑張ってもらうことにしました。世界の端っこでおバカな俺が夢の達成に向けてチマチマ頑張る、そんな小さなお話です。現在はG検定、E資格に合格し、KaggleやProbSpaceのコンペに参画しながら、Pythonや機械学習、統計学、Dockerなどの勉強中です。学習したことをブログにアウトプットすることで、自分の身に着けていきたいと思います。まだまだ道半ばですが、お時間がありましたら見て行ってください。

エピソード2-8: Numpyで行列のブロードキャストルールを学ぶ〜 E資格への道〜

今回は、Numpyで行列のブロードキャストルールを学びます。 

arrayオブジェクトのスカラー演算は、各成分に対する演算となります。

これがブロードキャストルールと呼ばれるとのこと。

では、早速試してきます。

 

 0. まずは、お約束のnumpyライブラリをimport。

f:id:kanriyou_h004:20190330212710p:plain

「import numpy as np」とすることで、「np」にて参照して、各種関数や定数を呼び出すことができます。

 1. リスト形式を、np.array()に引数として渡す。

f:id:kanriyou_h004:20190408215836p:plain
a,b,c,dに乱数で整数を格納して、np.array()の引数として渡すことで、

行列をarrayオブジェクトに格納できます。

2. 行列にスカラーを掛ける。

f:id:kanriyou_h004:20190408220134p:plain

行列にスカラーを掛けることで、各成分のスカラー倍の行列が計算できます。

f:id:kanriyou_h004:20190408220229p:plain

スカラー倍なので、逆からかけても同じ結果が得られます。

3. 行列のべき乗や足し算を計算する。

f:id:kanriyou_h004:20190408220519p:plain

数学的には無い計算なのですが、行列のべき乗を計算することで、各成分をべき乗した行列が計算できます。

f:id:kanriyou_h004:20190408220806p:plain

同様に、行列に数値を足すと、各成分に数値を加えた行列が計算できます。

4. 行列同士のスカラー演算を実施する。

f:id:kanriyou_h004:20190408221500p:plain

行列同士のスカラー演算(掛け算)を実施すると、各成分同士の掛け算した行列が求められます。

f:id:kanriyou_h004:20190408221722p:plain

同様に足し算、引き算、べき乗も各成分同士で演算された行列が求められます。

 

ブロードキャストルールを使うことで、行列の各成分同士のスカラー演算ができることがわかりました。

数学的には無い計算方法ですが、すごく便利なので、活用して行きたいと思います。

ちなみに、サイズの違う行列同士でも計算できるとのことですが、ルールが理解しきれなかったので、今回は、同サイズの行列に絞って学習しました。

では、引き続き、頑張って勉強していきたいと思います。

 

 2019年3月9日(土)にG検定を受験し、見事合格できました!

受験の体験記や勉強法などを別のブログにまとめました。

これから受験される方がいらっしゃいましたらご参考まで。

g-kentei.hatenablog.com