AI

Numpyのmat関数について

Numpyには行列オブジェクトを作成するためのmat()が用意されています。 一般的にNumpyの大多数の操作がndarray型を返しているためmat()関数は特別な理由が無い限り使用しない方が良いでしょう。 けれども、知っておいて損は無いかもしれません。 次の例は、ndarray型の行列とmatr  >>続きを読む

Python関数のデフォルト引数の注意点

ミュータブルな型とイミュータブルな型 Pythonは全ての型が参照渡しになっています。 ただし、イミュータブルな型のものはデータが更新されると新たなメモリ領域を確保する仕組みになっています。 つまり、何らかデータの変更が行われた段階で新たなメモリ領域を確保して参照するようになります。 Pythonの  >>続きを読む

Python ジェネレータの作成

ジェネレータは反復子を作るためのもので、通常の関数と同様に作成します。 returnの代わりにyield を使用するのが特徴です。 yieldが使用された関数ならジェネレータであると言えます。 そして、yieldで返した値を順番に覚えて置いて、next関数で呼び出すことができます。 ジェネレータは反  >>続きを読む

PYTHON入門で気をつけるポイント(5)オブジェクト指向についてー(2)

コンストラクタ クラスをインスタンス化すると、空のオブジェクトを生成します。 通常オブジェクトを作成する際に、ある特定の初期状態になることが望ましいはずです。 Pythonでは、 __init__() という名前の特別なメソッド定義することができます。 他のプログラムの場合、このような働きのメソッド  >>続きを読む

Python イテレータについて

イテレータの仕組みについて次のポイントが分かれば理解できます。 iter()関数でリストをイテレータ化します。 next関数でイテレータから要素を取り出します。 イテレータで取り出す値がない場合には例外を発生します。 イテレータは特に意識しなくてもfor in文などで活用されたいます。次の例で確認で  >>続きを読む

Python入門で気をつけるポイント(4)オブジェクト指向についてー(1)

Pythonの全てのデータ型は元々はオブジェクトです。 Pythonのオブジェクト指向はクラスを使った仕組みです。つまり、全てのデータ型はクラスで定義しているということになります。 例えば、リストには様々な便利なメソッドが用意されています。これはlistクラスにそれらのメソッドが定義されています。   >>続きを読む

ニューラルネットワークの重みの計算〜なぜ線形代数(行列の内積)が必要か

ニューラルネットワークを理解するためには、まず重みの計算について知っておかなければなりません。 複数の重みの計算は線形代数の行列の内積を使い、しかもPythonのnumpyを使うと数行でプログラムできるのです。行列の内積を使う理由とその計算方法を高度な数学の知識なしで説明します。

Python入門で気をつけるポイント(3)モジュールについて

モジュール Pythonインタープリンタは一度終了すると、終了するまでの関数や変数は全て失われます。 そのため長いプログラムはテキストエディタで作成して「.py」ファイルにしておくと良いです。 Pythonではこのファイル(.py)のことをモジュールと呼んでいます。 Pythonの対話モードはmai  >>続きを読む

Python入門で気をつけるポイント(2)リスト

リストで使えるメソッド メソッド 使い方 append(x) リストの末尾に要素を一つ追加します。 extend(iterable) イテラブルのすべての要素を対象のリストに追加し、リストを拡張します。 insert(i, x) 指定した位置に要素を挿入します。第 1 引数は、リストのインデクスで、  >>続きを読む