0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

固定長ベクトルとは、その名の通り、要素の数が決まっているベクトルのことです。

プログラミングの世界、特にデータサイエンスや機械学習の分野でよく使われます。例えば、画像データやテキストデータを数値で表現する際に、特定の情報(特徴量)を一定の数の要素で表現するために利用されます。

簡単に言うと、情報の「箱」📦の大きさがいつも同じ!ということです。

固定長ベクトルの具体例 🖼️

例えば、画像をコンピュータで扱う場合を考えてみましょう。

  • 色の情報: 赤、緑、青の3つの要素で色を表現する場合、[255, 0, 0] (赤) のように3つの要素を持つベクトルになります。このベクトルの長さは常に3です。
  • 画像のピクセル: 100x100ピクセルの白黒画像であれば、各ピクセルの明るさを1つの要素として、合計で 100 * 100 = 10000 個の要素を持つベクトルとして表現できます。この場合、ベクトルの長さは10000で固定されます。

固定長ベクトルのメリットとデメリット 🤔

メリット 👍

  • 処理の効率化: 要素の数が固定されているため、メモリの確保や計算処理を効率的に行えます。
  • 比較の容易さ: 同じ長さのベクトル同士であれば、直接比較したり、距離を計算したりすることが容易になります。
  • 機械学習モデルへの入力: 多くの機械学習モデルは、固定長の入力を前提としています。

デメリット 👎

  • 柔軟性の欠如: 情報の量が可変である場合に、固定長ベクトルで表現しようとすると、パディング(足りない要素を埋める)やトリミング(多すぎる要素を切り捨てる)などの前処理が必要になります。

Pythonでの実装例 🐍

Pythonで固定長ベクトルを扱う際には、numpyライブラリが非常によく使われます。

NumPyを使った固定長ベクトル

import numpy as np

# 長さ3の固定長ベクトル
vector_a = np.array([1, 2, 3])
print(f"vector_a: {vector_a}, 長さ: {len(vector_a)}")

# 長さ5の固定長ベクトル
vector_b = np.array([10, 20, 30, 40, 50])
print(f"vector_b: {vector_b}, 長さ: {len(vector_b)}")

# 同じ長さのベクトル同士の演算
vector_c = vector_a + np.array([4, 5, 6])
print(f"vector_a + [4, 5, 6]: {vector_c}, 長さ: {len(vector_c)}")

# 異なる長さのベクトル同士の演算はエラーになる
try:
    vector_d = vector_a + vector_b
except ValueError as e:
    print(f"\n:::note alert | message alert\nエラー発生: {e}\n::: 異なる長さのベクトルは直接演算できません!\n")

出力例

vector_a: [1 2 3], 長さ: 3
vector_b: [10 20 30 40 50], 長さ: 5
vector_a + [4, 5, 6]: [5 7 9], 長さ: 3

:::note alert | message alert
エラー発生: operands could not be broadcast together with shapes (3,) (5,)
::: 異なる長さのベクトルは直接演算できません!

上記のように、NumPyでは固定長ベクトル(np.array)としてデータを扱うことで、高速な数値計算が可能になります。
異なる長さのベクトル同士で直接的な要素ごとの演算(足し算や引き算など)を行おうとするとエラーが発生します。これは、ベクトルの「形」が固定されていることの証拠です。

固定長ベクトルは、コンピュータが効率的に情報を扱うための基本的な概念であり、機械学習や画像処理、自然言語処理など、様々な分野でその恩恵を受けています。🚀

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?