Pelajari AI dengan Python · Pelajaran

Algebra Linear dengan NumPy

np.dot, np.linalg.inv, np.linalg.eig, np.linalg.solve untuk sistem persamaan.

Pelajaran 4 daripada 413 langkah

Algebra Linear dengan NumPy ialah pelajaran Pelajari AI dengan Python percuma di CoddyKit. Ini ialah pelajaran 4 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Pelajari AI dengan Python, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Pelajari AI dengan Python merangkumi sejumlah 4 pelajaran.

Algebra Linear dalam NumPy

NumPy menyediakan operasi matriks melalui pengendali @ dan modul np.linalg, iaitu asas bagi hampir setiap algoritma pembelajaran mesin.

Pendaraban Matriks dengan @

Pengendali @ melakukan pendaraban matriks sebenar. Dimensi dalaman mesti sepadan: (m,k) @ (k,n) menghasilkan (m,n).

import numpy as np
A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])
print(A @ B)
# [[19 22]
#  [43 50]]

@ berbanding * (Penting!)

* beroperasi secara unsur demi unsur, manakala @ melakukan pendaraban matriks. Kekeliruan antara kedua-duanya ialah pepijat lazim.

print(A * B)   # element-wise: [[ 5 12]
               #               [21 32]]
print(A @ B)   # matrix product (different result)

np.dot

np.dot ialah bentuk fungsi. Bagi tatasusunan 2D, hasilnya sama dengan @; bagi tatasusunan 1D, fungsi ini mengira hasil darab titik (skalar).

u = np.array([1, 2, 3])
v = np.array([4, 5, 6])
print(np.dot(u, v))   # 1*4 + 2*5 + 3*6 = 32

Songsangan Matriks

np.linalg.inv(A) mengembalikan matriks songsang, iaitu matriks yang menghasilkan matriks identiti apabila didarab dengan A. Hanya matriks segi empat sama yang tidak singular mempunyainya.

A = np.array([[4.0, 7.0], [2.0, 6.0]])
Ainv = np.linalg.inv(A)
print(np.round(A @ Ainv, 6))   # identity

Penentu

np.linalg.det(A) memberikan penentu. Penentu bernilai 0 bermakna matriks itu singular dan tidak boleh disongsangkan.

print(np.linalg.det(A))   # 10.0  (nonzero -> invertible)

Menyelesaikan Sistem Linear

Untuk menyelesaikan A x = b, utamakan np.linalg.solve(A, b) berbanding mengira matriks songsang. Cara ini lebih pantas dan lebih stabil dari segi angka.

A = np.array([[3.0, 1.0], [1.0, 2.0]])
b = np.array([9.0, 8.0])
x = np.linalg.solve(A, b)
print(x)   # [2. 3.]

Mengapa solve berbanding inv

Mengira inv(A) @ b membazirkan kerja dan memperkuat ralat pembundaran. solve menggunakan penguraian LU secara terus. Gunakan solve dalam kod sebenar.

# Avoid:  x = np.linalg.inv(A) @ b
# Prefer: x = np.linalg.solve(A, b)

Nilai Eigen dan Vektor Eigen

np.linalg.eig(A) mengembalikan nilai eigen dan vektor eigen. Kedua-duanya menjadi asas kepada PCA, analisis kestabilan dan banyak lagi.

A = np.array([[2.0, 0.0], [0.0, 3.0]])
vals, vecs = np.linalg.eig(A)
print(vals)   # [2. 3.]

Norma Vektor dan Matriks

np.linalg.norm mengukur magnitud. Secara lalai, fungsi ini ialah norma Euclidean (L2) bagi vektor, yang digunakan dalam pelbagai perkara daripada jarak hingga regularisasi.

v = np.array([3.0, 4.0])
print(np.linalg.norm(v))        # 5.0 (sqrt(9+16))
print(np.linalg.norm(v, 1))    # 7.0 (L1 norm)

Transpos

A.T mentransposkan matriks dengan menukar baris dan lajur. Ia kerap muncul dalam formula seperti persamaan normal.

A = np.array([[1, 2, 3], [4, 5, 6]])
print(A.T)
# [[1 4]
#  [2 5]
#  [3 6]]

Semakan Pantas

Uji ingatan anda tentang algebra linear.

Ulang Kaji

Peralatan algebra linear:

  • @ / np.dot untuk pendaraban matriks dan hasil darab titik (bukan *)
  • np.linalg.inv, np.linalg.det
  • np.linalg.solve(A, b) lebih baik daripada menyongsangkan matriks
  • np.linalg.eig untuk penguraian eigen
  • np.linalg.norm untuk magnitud, A.T untuk mentransposkan
Percuma untuk bermula

Pelajari Python dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
53
Pelajaran
225

Soalan Lazim

Adakah pelajaran “Algebra Linear dengan NumPy” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Pelajari AI dengan Python, termasuk “Algebra Linear dengan NumPy”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Pelajari AI dengan Python merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Algebra Linear dengan NumPy”?

np.dot, np.linalg.inv, np.linalg.eig, np.linalg.solve untuk sistem persamaan. Anda berlatih Pelajari AI dengan Python menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Pelajari AI dengan Python?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Pelajari AI dengan Python di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 4 daripada 4.

Berapa lamakah pelajaran “Algebra Linear dengan NumPy” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Pelajari AI dengan Python ini?

Ya. Setiap pelajaran Pelajari AI dengan Python menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Penciptaan dan Sifat Tatasusunan
  2. Pengindeksan, Penghirisan dan Pengindeksan Lanjutan
  3. Penyiaran dan Operasi Bervektor
  4. Algebra Linear dengan NumPy
← Kembali ke Pelajari AI dengan Python