Numpyで行列やってみた!〜特殊なリストndarray〜

date_range 2023/11/06
日々の活動日記エンジニアインターン
サムネ

こんにちは!

マーケティング部受託プロダクトチームのインターン生、村高歩夢です!


本日はNumpyで行列やってみた!

プログラムに重要な数学として代表的な分野の線形代数

得に昨今ではディープラーニングと深い関係があり、

AIエンジニアにとっては線形代数の勉強が必須と言ってもいいくらい重要です。


ということで、PythonのライブラリであるNumpyで線形代数を触ってみましょう!

今回は環境構築をしなくてもいじることができるGoogle Colaboratoryでコーディングしていきます。

なお、線形代数・Pythonの基礎については説明しませんのでご了承お願いいたします。

Numpyではndarrayという特殊な配列を使用することができます。

ndarrayは計算を行うのにとても適しており、コードの行数を減らすことができます。

では、ndarrayから作ってみましょう!

ndarrayの作り方は二通り

array()関数を使うかarange()関数を使うかのどちらかです。


ただし、以下の画像のようにarange関数を使用するときはreshape関数も同時に使用しないと一次元のndarray, 一次元配列になってしまいます。

今回は3×3の配列にしたいのでreshape(3, 3)としています。



行列が出来ましたので次は四則計算を行いましょう!

ndarrayの場合、行列Xと行列Y同士を”X+Y”のように記述することで

足し算、引き算すると各要素同士で足し算引き算ができます。



一方で、ただのリストでは足し算引き算を行うことはできません。

以下のようにリストの結合になってしまします


ちなみに掛け算、割り算もndarrayでは通常と同じように

”X * Y”, “X /Y”と入力します。


ただし、この四則計算はあくまで各要素同士で足し算、掛け算することしかできません。


行列ですからやっぱり積の計算方法知りたいですよね?

行列の積を計算するにはdot関数もしくは@を使う必要があります。


これがNumpyで処理する行列の基本的な計算方法です。

リストではなくndarrayを使用することでコードの行数をいくつか減らすことができます。

このNumpyやndarrayは機械学習でもよく出てくるので習得必須ですね!

もちろん、他にも転置行列や逆行列なども表現可能ですので、皆さんもぜひ試してみてください!





■ガーディアン主力ソリューション→OWLet

■新サービスリリースのお知らせ

WEB業界を変える!育てて成果を上げるサブスク型HPサービス

SCSC (スクスク)

ガーディアンのインターン制度→こちら

村高歩夢の紹介ページこちら

*COMMENT*

    *コメント*

    *ログイン*

    メールアドレス
    パスワード