Làm cách nào để bạn tìm thấy chuẩn của một mảng có nhiều mảng trong python?

Việc tính toán độ lớn của vectơ thường được yêu cầu trực tiếp dưới dạng phương pháp chính quy hóa hoặc là một phần của hoạt động ma trận rộng hơn

Độ dài của một vectơ được gọi là một chỉ tiêu vectơ. Trong toán học, chuẩn của một vectơ v, ký hiệu là. v. , là độ dài của v

Định mức là gì?

Định mức là một cách tiếp cận để đo kích thước của vectơ, ma trận hoặc tenxơ. Nói cách khác, các định mức là một lớp hàm cho phép chúng ta định lượng độ lớn của một vectơ.  

Chuẩn của vectơ là số đo độ dài của vectơ. Chuẩn của vectơ là số đo độ dài của vectơ

Các loại định mức

Có tổng cộng ba loại định mức

  1. định mức Euclide
  2. định mức Manhattan
  3. định mức tối đa

Trong toán học, chuẩn Euclide, hay khoảng cách Euclide, hay chuẩn L2, của một vectơ v trong không gian n chiều là căn bậc hai của tổng bình phương các giá trị tuyệt đối của các thành phần của nó. Khoảng cách Euclide là khoảng cách đường thẳng “thông thường” giữa hai điểm trong Euclide

np. linalg. định mức

Np. linalg. Norm[] là một hàm thư viện numpy được sử dụng để tính toán một trong tám định mức ma trận hoặc định mức vectơ khác nhau . . . . . . . . . . . . . . . . . Np. linalg. phương thức Norm[] lấy arr, ord, axis, và keepdims làm đối số và trả về chuẩn của ma trận hoặc vectơ đã cho.

Làm thế nào để sử dụng np. linalg. chức năng định mức []?

Để sử dụng np. linalg. Norm[] trong tệp Python, hãy nhập mô-đun numpy

cú pháp

numpy.linalg.norm[arr, ord=None, axis=None, keepdims=False]

Thông số

các np. linalg. Norm[] hàm chủ yếu nhận bốn tham số

  • mảng . Mảng n chiều đầu vào.
  • thứ tự. Đây là viết tắt của các đơn đặt hàng, có nghĩa là chúng tôi muốn lấy giá trị định mức. Giá trị định mức phụ thuộc vào tham số này. Đây có thể là tám loại đó là.
OrderNorm cho MatrixNorm cho véc tơ Không cóĐịnh mức FrobeniusHai chuẩnnucđịnh mức hạt nhâninfmax[sum[abs[x], axis=1]max[abs[x]]-infmin[sum[abs[x], axis=1]]min[abs[x]]từĐịnh mức Frobenius0tổng[x. = 0]1max[sum[abs[x], axis=0]]như bên dưới-1min[sum[abs[x], axis=0]]như bên dưới22-chuẩn [dấu lớn nhất. value]như bên dưới-2giá trị số ít nhỏ nhấtnhư bên dướikháctổng[abs[x]**ord]**[1. /ord]

 

  • trục. Nếu trục là số nguyên, giá trị vectơ được tính cho trục của x. Nếu trục là 2-tuple, thì giá trị ma trận của ma trận đã chỉ định được tính. Nếu trục không tồn tại, thì tiêu chí vectơ [khi x là 1-D] hoặc tiêu chí ma trận [khi x là 2D] được trả về.
  • keepdims. Nếu đối số keepdims được đặt thành True, thì các trục được định chuẩn sẽ để lại trong kết quả dưới dạng các kích thước có kích thước là một. Với tùy chọn keepdims, kết quả sẽ phát chính xác so với x gốc.

Giá trị trả về

Hàm linalg Norm[] trả về chuẩn của ma trận hoặc vectơ đã cho

Tìm chuẩn của mảng

Để tìm chuẩn của một mảng trong Python, hãy sử dụng np. linalg. hàm định mức []

# Program to calculate the norm of an array
import numpy as np

# Creating an array
arr1 = np.arange[12]-2
arr2 = arr1.reshape[3, 4]
# Printing the array
print["First array is: \n", arr1]
print["\nSecond array is:\n ", arr2]

# Calculating norm value with different order value
print[np.linalg.norm[arr1], "\n"]
print[np.linalg.norm[arr2], "\n"]
print[np.linalg.norm[arr1, np.inf], "\n"]
print[np.linalg.norm[arr2, np.inf], "\n"]
print[np.linalg.norm[arr1, -np.inf], "\n"]
print[np.linalg.norm[arr1, -np.inf], "\n"]
print[np.linalg.norm[arr1, 1], "\n"]
print[np.linalg.norm[arr2, 1], "\n"]
print[np.linalg.norm[arr1, -1], "\n"]
print[np.linalg.norm[arr1, -1]]

đầu ra

The array is:
 [[[1 2]
  [2 3]
  [3 4]]

 [[4 5]
  [4 5]
  [3 4]]

 [[5 6]
  [4 5]
  [4 5]]]
Shape of the array is:  [3, 3, 2]
Output is:
 [ 9 12]
➜  pyt clear
➜  pyt python3 app.py
First array is:
 [-2 -1  0  1  2  3  4  5  6  7  8  9]

Second array is:
  [[-2 -1  0  1]
 [ 2  3  4  5]
 [ 6  7  8  9]]
17.029386365926403

17.029386365926403

9.0

30.0

0.0

0.0

48.0

15.0

/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/numpy/linalg/linalg.py:2514: RuntimeWarning: divide by zero encountered in reciprocal
  absx **= ord
0.0

0.0

Giải trình

Trong ví dụ này, trước tiên chúng tôi đã tạo hai mảng, một mảng là 1 chiều và mảng kia là hai chiều và chúng tôi đã in ra

Sau đó, ta tính giá trị định mức với các giá trị khác nhau của tham số thứ tự. Chúng ta có thể thấy rằng, đối với các tham số khác, giá trị sẽ khác.

Tìm ước của các vectơ đã cho

Để tìm chuẩn của các vectơ đã cho, hãy sử dụng hàm linalg Norm[].

# Program to calculate norm of an array
import numpy as np

# Making vector array
arr1 = np.array[[[5, 4, 3], [-3, 2, 1]]]
print["The array is: \n", arr1]

# Printing Norm for different order values
print[np.linalg.norm[arr1, axis=0], "\n"]

print[np.linalg.norm[arr1, axis=1], "\n"]

print[np.linalg.norm[arr1, ord=1, axis=0], "\n"]

đầu ra

The array is:
 [[ 5  4  3]
 [-3  2  1]]
[5.83095189 4.47213595 3.16227766]

[7.07106781 3.74165739]

[8. 6. 4.]

Giải trình

Trong ví dụ này, đầu tiên chúng ta tạo một mảng vectơ, sau đó chúng ta in mảng đó. Cuối cùng, chúng tôi đã gọi linalg. Norm[] để tính giá trị định mức cho các giá trị đơn hàng khác nhau.

Đó là nó cho np. linalg. hàm định mức []

Facebook

Twitter

Pinterest

WhatsApp

Bài viết trước np. dấu vết. Cách sử dụng Phương thức Numpy trance[] trong Python

Bài viết tiếp theo np. tenordot. Cách sử dụng Phương thức tensordot[] trong Python

Ankit Lathiya

Ankit Lathiya là Bậc thầy về Ứng dụng Máy tính theo chuyên môn và là Nhà phát triển Android và Laravel chuyên nghiệp, đồng thời là một trong những tác giả của blog này

Định mức trong NumPy là gì?

Định mức là số đo kích thước của ma trận hoặc vectơ và bạn có thể tính toán nó trong NumPy với np. linalg. hàm định mức []. nhập numpy dưới dạng np x = np.

Định mức có nghĩa là gì trong Python?

Định mức là những gì thường được sử dụng để đánh giá lỗi của một mô hình. Chẳng hạn, nó được sử dụng để tính toán sai số giữa đầu ra của mạng thần kinh và giá trị được mong đợi [nhãn hoặc giá trị thực tế]. Bạn có thể coi chuẩn là độ dài của một vectơ. Đây là một chức năng ánh xạ một vectơ thành một giá trị dương

Chủ Đề