Đại số tuyến tính là gì

Bây giờ bạn đã sở hữu thể tàng trữ và giải pháp xử lý dữ liệu, hãy thuộc ôn qua nhữngkiến thức đại số tuyến tính quan trọng để hiểu và lập trình phần nhiều cácmô hình được nhắc đến trong quyển sách này. Bên dưới đây, chúng tôi giớithiệu các đối tượng toán học, số học với phép tính cơ bạn dạng trong đại sốtuyến tính, màn trình diễn chúng bởi cả ký hiệu toán học và cách triển khailập trình tương ứng.

Bạn đang xem: Đại số tuyến tính là gì


2.3.1. Số vô hướng¶

Nếu bạn chưa từng học đại số tuyến tính giỏi học máy, chắc hẳn rằng bạn bắt đầu chỉcó tay nghề làm toán cùng với từng con số riêng lẻ. Và nếu như bạn đã từngphải thăng bằng sổ thu chi hoặc dễ dàng là trả tiền đến bữa ăn, thì hẳnbạn đã biết phương pháp thực hiện các phép tính cơ phiên bản như cùng trừ nhân chiacác cặp số. Ví dụ, ánh nắng mặt trời tại Palo Alto là (52) độ Fahrenheit.Chúng ta gọi các giá trị mà chỉ bao gồm một số độc nhất là số vô hướng(scalar). Nếu bạn có nhu cầu chuyển giá chỉ trị nhiệt độ trên thanh lịch độ Celsius(thang đo nhiệt độ độ hợp lý hơn theo hệ mét), bạn sẽ phải tính biểu thức(c = frac59(f - 32)) với giá trị (f) bằng (52).Trong phương trình trên, mỗi số hạng — (5), (9) và(32) — là những số vô hướng. Những ký hiệu (c) với (f) đượcgọi là biến và chúng biễu diễn các giá trị số vô hướng chưa biết.

Trong quyển sách này, chúng tôi sẽ tuân thủ theo đúng quy ước ký hiệu các biến vôhướng bằng những chữ dòng viết hay (chẳng hạn (x), (y) và(z)). Chúng tôi ký hiệu không khí (liên tục) của toàn bộ các sốthực vô phía là (mathbbR). Vì chưng tính thiết thực, cửa hàng chúng tôi sẽbỏ qua định nghĩa đúng chuẩn của không gian. Nhưng bạn phải nhớ(x in mathbbR) là phương pháp toán học để biểu đạt (x) là mộtsố thực vô hướng. Ký kết hiệu (in) đọc là “thuộc” và đơn thuần biểudiễn việc bộ phận thuộc một tập hợp. Tương tự, ta rất có thể viết(x, y in , 1\) để cam kết hiệu cho việc những số (x) và(y) chỉ rất có thể nhận cực hiếm (0) hoặc (1).

Trong mã nguồn MXNet, một số vô phía được biễu diễn bởi mộtndarray với chỉ 1 phần tử. Trong khúc mã bên dưới đây, chúng ta khởitạo nhì số vô hướng và triển khai các phép tính thân thuộc như cộng, trừ,nhân, phân chia và lũy vượt với chúng.


2.3.2. Vector¶

Bạn hoàn toàn có thể xem vector solo thuần như 1 dãy những số vô hướng. Bọn chúng tagọi những giá trị đó là phần tử (thành phần) của vector. Khi dùngvector nhằm biễu diễn những mẫu vào tập dữ liệu, giá trị của chúng thườngmang chân thành và ý nghĩa liên quan tới đời thực. Ví dụ, nếu bọn họ huấn luyện mộtmô hình dự đoán khủng hoảng vỡ nợ, bạn cũng có thể gán cho từng ứng viên mộtvector gồm những thành phần tương xứng với thu nhập, thời gian làm việc, sốlần vỡ vạc nợ trước đó của mình và các yếu tố khác. Nếu bọn họ đang tìm hiểuvề rủi ro khủng hoảng bị nhức tim của căn bệnh nhân, ta rất có thể biểu diễn mỗi căn bệnh nhânbằng một vector gồm các phần tử mang tin tức về vết hiệu sống sót gầnnhất, độ đậm đặc cholesterol, số phút bạn hữu dục mỗi ngày, v.v. Trong kýhiệu toán học, chúng ta thường trình diễn vector bằng chữ cái in đậm viếtthường (ví dụ (mathbfx), (mathbfy), và(mathbfz)).

Trong MXNet, họ làm việc với vector trải qua các ndarray(1)-chiều. Thường xuyên thì ndarray có thể có chiều lâu năm bất kỳ, tùythuộc vào giới hạn bộ nhớ máy tính.


Một phần tử bất kỳ trong vector rất có thể được ký hiệu sử dụng chỉ số dưới.Ví dụ ta rất có thể viết (x_i) nhằm ám chỉ thành phần thứ (i) của(mathbfx). Lưu ý rằng bộ phận (x_i) là một số vô hướngnên nó không được in đậm. Có tương đối nhiều tài liệu xem thêm xem vector cộtlà chiều mang định của vector, với quyển sách này cũng vậy. Trong toánhọc, một vector hoàn toàn có thể được viết như sau


(2.3.1)¶<eginsplitmathbfx =eginbmatrixx_1 \x_2 \ vdots \x_nendbmatrix,endsplit>

trong đó (x_1, ldots, x_n) là các phần tử của vector. Trong mãnguồn, bọn họ sử dụng chỉ số để truy cập các bộ phận trongndarray.


2.3.2.1. Độ dài, Chiều, và Kích thước¶

Hãy quay trở về với phần đa khái niệm từ bỏ Section 2.1. Một vectorđơn thuần là một trong những dãy những số. Từng vector, tương tự như như dãy, đều phải sở hữu một độdài. Trong ký hiệu toán học, trường hợp ta hy vọng nói rằng một vector(mathbfx) cất (n) các số thực vô hướng, ta hoàn toàn có thể biểudiễn nó bằng (mathbfx in mathbbR^n). Độ lâu năm của một vectorcòn được gọi là số chiều của vector.

Xem thêm: Jung Chae-Yeon Chương Trình Truyền Hình

Cũng hệt như một dãy thường thì trong Python, chúng ta cũng có thể xem độdài của của một ndarray bằng phương pháp gọi hàm len() tất cả sẵn củaPython.


Khi một ndarray biễu diễn một vector (với chính xác một trục), tacũng có thể xem độ dài của nó qua trực thuộc tính .shape (kích thước).Kích thước là 1 tuple liệt kê độ dài (số chiều) dọc theo mỗi trụccủa ndarray. Với các ndarray tất cả duy độc nhất một trục, kích thướccủa nó chỉ có một phần tử.


Ở đây cần xem xét rằng, tự “chiều” là một từ đa nghĩa và khi đặt vào nhiềungữ cảnh thường dễ làm ta bị nhầm lẫn. Để làm rõ, họ dùng số chiềucủa một vector hoặc của một trục nhằm chỉ độ nhiều năm của nó, có nghĩa là sốphần tử trong một vector hay là một trục. Mặc dù nhiên, chúng ta sử dụng sốchiều của một ndarray nhằm chỉ số trục của ndarray đó. Theo nghĩanày, chiều của một trục của một ndarray là độ lâu năm của trục đó.


2.3.3. Ma trận¶

Giống như vector bao hàm số vô hướng từ bậc (0) quý phái bậc(1), ma trận sẽ bao quát những vector từ bậc (1) lịch sự bậc(2). Ma trận hay được ký kết hiệu với cam kết tự hoa với được in đậm (vídụ: (mathbfX), (mathbfY), với (mathbfZ)); vàđược biểu diễn bằng các ndarray cùng với (2) trục khi lập trình.

Trong cam kết hiệu toán học, ta dùng(mathbfA in mathbbR^m imes n) để thể hiện một ma trận(mathbfA) bao gồm (m) hàng với (n) cột những giá trị sốthực. Về mặt hình ảnh, ta hoàn toàn có thể minh họa bất kỳ ma trận(mathbfA in mathbbR^m imes n) như 1 bảng biểu nhưng mỗiphần tử (a_ij) nằm ở vị trí dòng đồ vật (i) với cột lắp thêm (j) củabảng:


(2.3.2)¶<eginsplitmathbfA=eginbmatrix a_11 & a_12 và cdots & a_1n \ a_21 & a_22 & cdots và a_2n \ vdots & vdots & ddots và vdots \ a_m1 & a_m2 và cdots & a_mn \ endbmatrix.endsplit>

Với ngẫu nhiên ma trận (mathbfA in mathbbR^m imes n) nào,kích thước của ma trận (mathbfA) là ((m), (n)) hay(m imes n). Vào trường hợp sệt biệt, lúc một ma trận bao gồm sốdòng thông qua số cột, dạng của nó là 1 trong những hình vuông; như vậy, nó được gọi làmột ma trận vuông (square matrix).

Ta rất có thể tạo một ma trận (m imes n) vào MXNet bằng phương pháp khaibáo form size của nó với nhị thành phần (m) cùng (n) lúc sửdụng bất kỳ hàm khởi chế tạo ra ndarray nào mà lại ta thích.


array(<< 0., 1., 2., 3.>, < 4., 5., 6., 7.>, < 8., 9., 10., 11.>, <12., 13., 14., 15.>, <16., 17., 18., 19.>>)
Ta hoàn toàn có thể truy cập thành phần vô hướng (a_ij) của ma trận(mathbfA) vào :eqref:eq_matrix_def bằng phương pháp khai báo chỉsố mẫu ((i)) và chỉ số cột ((j)), như là(_ij). Khi hồ hết thành phần vô vị trí hướng của ma trận(mathbfA), như trong :eqref:eq_matrix_defchưa được đưara, ta có thể sử dụng ký tự viết thường của ma trận (mathbfA)với các chỉ số ghi dưới, (a_ij), nhằm chỉ thành phần(_ij). Nhằm mục đích giữ sự dễ dàng và đơn giản cho những ký hiệu, dấuphẩy chỉ được cung ứng để phân tách bóc các chỉ số khi đề nghị thiết, như(a_2, 3j) với (_2i-1, 3).

Đôi khi, ta ý muốn hoán đổi các trục. Khi ta hoán đổi các dòng với những cộtcủa ma trận, tác dụng có được là chuyển vị (transpose) của ma trậnđó. Về lý thuyết, chuyển vị của ma trận (mathbfA) được ký hiệulà (mathbfA^ op) cùng nếu (mathbfB = mathbfA^ op)thì (b_ij = a_ji) với mọi (i) và (j). Do đó,chuyển vị của (mathbfA) trong :eqref:eq_matrix_def là mộtma trận (n imes m):


(2.3.3)¶<eginsplitmathbfA^ op =eginbmatrix a_11 và a_21 và dots & a_m1 \ a_12 & a_22 & dots và a_m2 \ vdots & vdots & ddots và vdots \ a_1n & a_2n và dots và a_mnendbmatrix.endsplit>
array(<< 0., 4., 8., 12., 16.>, < 1., 5., 9., 13., 17.>, < 2., 6., 10., 14., 18.>, < 3., 7., 11., 15., 19.>>)
Là một đổi mới thể đặc trưng của ma trận vuông, ma trận đối xứng(symmetric matrix) (mathbfA) gồm chuyển vị bởi chính nó:(mathbfA = mathbfA^ op).