Độc Lập Tuyến Tính Và Phụ Thuộc Tuyến Tính - RootOnChair

Chuyển đến nội dung chính

Độc lập tuyến tính và phụ thuộc tuyến tính

Chào mọi người! Hôm nay, mình sẽ nói về một thứ căn bản của căn bản nhất của Đại số tuyến tính đó là phụ thuộc tuyến tính và độc lập tuyến tính. Đây là khái niệm mình thấy làm nền tảng rất chắc để giải thích những lý thuyết khác của môn học này. Vậy thế nào là phụ thuộc hay độc lập tuyến tính? Về định nghĩa toán học, chúng được nêu như sau được nêu ra như sau: "Một tập hợp các vector được cho là phụ thuộc tuyến tính nếu ít nhất một vector có thể được biểu diễn dưới dạng tổ hợp tuyến tính của các vector còn lại. Nếu chúng không thể được biểu diễn dưới dạng tổ hợp tuyến tính, thì ta gọi những vector này độc lập tuyến tính với nhau." Tuy nhiên cách giải thích này vẫn còn khá hàn lâm. Hãy chia nhỏ nó ra và giải thích từng phần một theo một cách dễ hiểu hơn ở phần tiếp theo.

Tổ hợp tuyến tính

Giả sử chúng ta có 3 vector 𝐚\boldsymbol{a}, 𝐛\boldsymbol{b}, 𝐜\boldsymbol{c} và để cho đơn giản, mình sẽ cho chúng thuộc ℝ2\mathbb{R}^2. 𝐚=[10]𝐛=[21]𝐜=[11] \boldsymbol{a} = \begin{bmatrix} 1\\ 0 \end{bmatrix} \quad \boldsymbol{b} = \begin{bmatrix} 2\\ 1 \end{bmatrix} \quad \boldsymbol{c} = \begin{bmatrix} 1\\ 1 \end{bmatrix} Một tổ hợp tuyến tính của 3 vector này tức là chúng ta nhân trước mỗi vector một số bất kỳ rồi cộng chúng lại. sa⋅𝐚+sb⋅𝐛+sc⋅𝐜 s_a\cdot\boldsymbol{a} + s_b\cdot\boldsymbol{b} + s_c\cdot \boldsymbol{c} Ví dụ một tổ hợp tuyến tính của 3 vector trên có thể là: 1⋅𝐚+2⋅𝐛+1⋅𝐜=[63] 1\cdot\boldsymbol{a} + 2\cdot\boldsymbol{b} +1\cdot\boldsymbol{c} = \begin{bmatrix} 6\\ 3 \end{bmatrix} Về mặt hình học, khi chúng ta nhân một vector, tức là ta đang kéo dài độ dài của chúng ra và đổi chiều nếu ta nhân với một số âm. Tuy nhiên, bạn có thể chắc chắn vector sau khi thay đổi vẫn luôn nằm trên một đường thẳng là phương của nó. Trong trường hợp đặc biệt là chúng ta nhân với số 0 thì vector đó bị triệt tiêu. Còn nếu cộng 2 vector, tức là ta đang ... cộng chúng lại. Hay có thể nói là kết hợp 2 vector lại để tạo nên một vector hoàn toàn mới. Nhìn chung, tổ hợp tuyến tính của 3 vector 𝐚\boldsymbol{a}, 𝐛\boldsymbol{b}, 𝐜\boldsymbol{c} là tất cả các vector có được bằng cách kéo dài và cộng 3 vector lại một cách tùy ý.

Phụ thuộc tuyến tính

Cùng với định nghĩa của tổ hợp tuyến tính vừa rồi, ta có thể xem phụ thuộc tuyến tính là khi trong 3 vector của chúng ta, có một vector có thể được tạo ra bằng tổ hợp tuyến tính của 2 vector còn lại. Trong các vector của chúng ta, ta có thể thấy vector 𝐜\boldsymbol{c} có thể được tạo ra từ 𝐚\boldsymbol{a} và 𝐛\boldsymbol{b}. 𝐛−𝐚=[21]−[10]=[11]=𝐜 \begin{equation} \begin{split} \boldsymbol{b}-\boldsymbol{a} & = \begin{bmatrix} 2\\ 1 \end{bmatrix} -\begin{bmatrix} 1\\ 0 \end{bmatrix}\\ & =\begin{bmatrix} 1\\ 1 \end{bmatrix} \\ & = \boldsymbol{c} \end{split} \end{equation} Điều này có nghĩa là bản thân vector 𝐜\boldsymbol{c} không mang lại thêm thông tin gì mới cả mà hoàn toàn phụ thuộc vào 2 vector còn lại. Tuy nhiên, ta cũng có thể nói là vector 𝐛\boldsymbol{b} hay 𝐚\boldsymbol{a} phụ thuộc vào 2 vector còn lại. Điều này hoàn toàn phụ thuộc vào việc bạn chọn những vector nào làm "chuẩn".

Độc lập tuyến tính

Vậy còn độc lập tuyến tính thì sao? Dễ thôi, nếu tất cả các tổ hợp tuyến tính của 𝐚\boldsymbol{a} và 𝐛\boldsymbol{b} không thể tạo được vector còn lại thì 𝐜\boldsymbol{c} độc lập với 𝐚\boldsymbol{a}, 𝐛\boldsymbol{b}. Hãy đến với góc nhìn đại số của vấn đề này trước. Nếu 3 vector của chúng ta phụ thuộc tuyến tính với nhau, tức là sa⋅𝐚+sb⋅𝐛=sc⋅𝐜⇔sa⋅𝐚+sb⋅𝐛−sc⋅𝐜=0 \begin{align*} s_a\cdot\boldsymbol{a} +s_b\cdot\boldsymbol{b} & = s_c\cdot\boldsymbol{c}\\ \Leftrightarrow s_a\cdot\boldsymbol{a} +s_b\cdot\boldsymbol{b} - s_c\cdot\boldsymbol{c} & = 0 \end{align*} Chú ý: Theo đúng chuẩn toán thì mình phải viết là 0⃗\vec{0} để biểu thị cho vector không nhưng điều này buộc mình phải thay đổi cách mình ký hiệu vector gây ra không có sự nhất quán. Nên 0 ở đây các bạn hãy hiểu là vector không nhé. Tuy nhiên vì scs_c là một con số bất kỳ nên ta có thể bỏ dấu âm đi cũng không sao. Từ đó, ta được phương trình bên dưới và ngoài các hệ số (0,0,0)(0,0,0) thì vẫn còn những hệ số khác thỏa phương trình này. $$\tag{1} s_a\cdot\boldsymbol{a} +s_b\cdot\boldsymbol{b} + s_c\cdot\boldsymbol{c} = 0 $$ Tuy nhiên, như các bạn đã biết, chúng ta sẽ không thể tìm được bất kỳ hệ số nào để thỏa phương trình (1)(1) ngoại trừ nhân 0 cho cả 3 bọn chúng. Điều này dẫn ta đến một định nghĩa nữa của độc lập tuyến tính. "Một bộ vector 𝐯1,𝐯2,…,𝐯𝐧\boldsymbol{v_1}, \boldsymbol{v_2}, \ldots , \boldsymbol{v_n} được gọi là phụ thuộc tuyến tính nếu chúng tồn tại một nghiệm a1,a2,…,ana_1, a_2, \ldots , a_n mà có ít nhất một hệ số khác không thỏa phương trình a1⋯𝐯1+a2⋅𝐯2+…+an⋅𝐯𝐧=0 a_1\cdots\boldsymbol{v_1} + a_2\cdot\boldsymbol{v_2} + \ldots + a_n\cdot\boldsymbol{v_n} = 0 Và chúng được gọi là độc lập tuyến tính khi chỉ có một nghiệm duy nhất là không cho tất cả các hệ số. ai=0a_i=0 cho i=1,…,ni=1,\ldots, n." Chuyển qua góc nhìn hình học, ta thấy rằng tổ hợp tuyến tính của 𝐚\boldsymbol{a} và 𝐛\boldsymbol{b} đã bao hết các điểm trong không gian ℝ2\mathbb{R}^2. Các duy nhất để khiến 𝐜\boldsymbol{c} độc lập tuyến tính với 2 vector kia là vươn ra khỏi tọa độ ℝ2\mathbb{R}^2 và đi vào ℝ3\mathbb{R}^3, cung cấp thông tin mới trong hệ tọa độ này. Điều này cũng mang đến một tính chất thú vị trong một không gian ℝn\mathbb{R}^n bất kỳ. Rằng với ℝn\mathbb{R}^n bất kỳ, chỉ có tối đa n vector độc lập tuyến tính với nhau. Tính chất này tương đối dễ hiểu nếu ta đặt trường hợp trong một không gian hai chiều, nếu vector đầu tiên mang thông tin về một chiều thì vector thứ hai bắt buộc phải mang thông tin của chiều còn lại để có thể độc lập với vector đầu tiên. Nhưng điều này làm cho không còn chiều mới nào mà vector thứ ba có thể lấy nữa. Nhưng chưa dừng lại ở đó, điều tuyệt vời là chúng ta bây giờ có thể sử dụng tính chất này lên không gian bốn chiều hoặc năm chiều, những chiều nằm ngoài sức tưởng tượng của con người nhưng có thật. Đó là cái đẹp của Đại số tuyến tính, nó giúp ta "nhìn thấy" những chiều vượt quá sức tưởng tượng của ta.

Tổng kết

Vậy là chúng ta đã duyệt qua định nghĩa của độc lập tuyến tính, phụ thuộc tuyến tính. Nếu các bạn nhận thấy sai xót hoặc có góp ý, thắc mắc, xin để lại bình luận phía bên dưới. Cảm ơn các bạn đã đọc.

Nguồn tham khảo

  • Wikipedia
  • Youtube: Rec 1 | MIT 18.085 Computational Science and Engineering I, Fall 2008
  • Khan Academy:
    • Introduction to linear independence
    • More on linear independence

Nhận xét

  1. ran99lúc 04:45 21 tháng 10, 2020

    Năm vectơ bất kỳ trong R đều phụ thuộc tuyến tính??

    Trả lờiXóaTrả lời
      Trả lời
  2. Nặc danhlúc 19:22 11 tháng 11, 2021

    mọi người có thể cho mình biết một vài nền tảng hỗ trợ tiếng Việt đang giảng dạy về linear algebra không ạ ? Tks mọi người

    Trả lờiXóaTrả lời
      Trả lời
  3. Dương Hiếulúc 07:51 22 tháng 12, 2021

    Bài viết hay, cách giảng giải mới lạ so với mình.

    Trả lờiXóaTrả lời
      Trả lời
Thêm nhận xétTải thêm...

Đăng nhận xét

Bài đăng phổ biến từ blog này

Phép phân tích ma trận A=LU

Phép phân tích ma trận (hay Matrix Decomposition) là một phương pháp nhân tử hóa ma trận bằng cách tách ma trận đó ra thành phép nhân của nhiều ma trận khác nhau. Cũng giống như với một số tự nhiên, ta có thể tách số đó ra thành các nhân tử khác nhau như tách ra thành các thừa số nguyên tố để dễ dàng nhận biết được đặc điểm của con số ấy. Thì nhân tử hóa ma trận cũng được xây trên khái niệm tương tự. Phép phân tích ma trận đơn giản nhất là A = L U A=LU . Trong đó: A A là một ma trận bất kỳ. L L là ma trận tam giác dưới. (L là viết tắt của Lower trong Lower Triangle). U U là ma trận tam giác trên. (U là viết tắt của Upper trong Upper Triangle). A = L U A = LU Phép phân tích ma trận này rất đơn giản, đầu tiên ta thực hiện các phép biến đổi trên dòng để đưa A thành một ma trận bậc thang. Lúc đó, ma trận bậc thang chính là U. Tôi sẽ lấy một ma trận có kích thước 3x3 để làm ví dụ. A = [ 1 5 2 3 6 4 − 2 2 7 ] A = \begin{bmatrix} 1 & 5 & 2 \\ 3 & 6 & 4 \\ -2 &a More »

Thuật toán tính lũy thừa nhanh. Giải thích một cách đơn giản

Hình ảnh Khi được yêu cầu viết một hàm tính lũy thừa. Bạn sẽ làm như thế nào? Đáp án khá đơn giản phải không, chỉ với một vòng lặp for  thì có thể giải quyết tất cả. Nhưng như vậy liệu đã tối ưu chưa? Gần đây mình có xem qua một vài chương của cuốn Nhập môn lập trình  và tìm thấy một vài điều thú vị. Trong đó, có phương pháp tính lũy thừa nhanh mà mình muốn chia sẻ lại. Cuốn sách Nhập môn Lập trình Phương pháp thông thường Với đề bài trên, cách làm dễ nhất là: Để dễ dàng thử độ hiệu quả của thuật toán, mình dùng kiểu dữ liệu int64_t  tức kiểu số nguyên sử dụng 64 bit ( 8 byte ) để chứa dữ liệu và kiểu long tức kiểu số nguyên sử dụng 32 bit ( 4 byte ) để chứa dữ liệu. Nếu các bạn đã biết về phân tích độ phức tạp của thuật toán thì độ phức tạp của thuật toán trên là O(n) , có nghĩa là nếu n càng lớn thì thời gian tính toán xong của ta càng lâu. Nếu các bạn cho hàm trên chạy với n = 1 000 000 000  (1 tỷ cho bạn nào lười đếm). Máy mình chạy mất xấp xỉ 8  giây. Đây là một thời g More » About me

Phạm Hồng Vinh

I love technology, programming and reading. Sometimes, I write blog to share what I learnt. More about me
Trang Facebook
RootonChair Blog

Chủ đề

AI4 Book5 Linear Algebra2 Machine Learning14 Nhập môn Machine Learning10 programming10 Root talk3 Sharing15

Theo tháng

  • 2021 3
    • tháng 9 2021 2
    • tháng 8 2021 1
  • 2020 4
    • tháng 7 2020 1
    • tháng 2 2020 2
    • tháng 1 2020 1
  • 2019 27
    • tháng 9 2019 3
    • tháng 8 2019 3
    • tháng 7 2019 4
    • tháng 6 2019 5
    • tháng 5 2019 2
    • tháng 4 2019 1
    • tháng 3 2019 1
    • tháng 2 2019 4
    • tháng 1 2019 4
  • 2018 10
    • tháng 12 2018 2
    • tháng 11 2018 3
    • tháng 10 2018 1
    • tháng 9 2018 4
Hiện thêm

Bài đăng phổ biến

Phép phân tích ma trận A=LU

Phép phân tích ma trận (hay Matrix Decomposition) là một phương pháp nhân tử hóa ma trận bằng cách tách ma trận đó ra thành phép nhân của nhiều ma trận khác nhau. Cũng giống như với một số tự nhiên, ta có thể tách số đó ra thành các nhân tử khác nhau như tách ra thành các thừa số nguyên tố để dễ dàng nhận biết được đặc điểm của con số ấy. Thì nhân tử hóa ma trận cũng được xây trên khái niệm tương tự. Phép phân tích ma trận đơn giản nhất là A = L U A=LU . Trong đó: A A là một ma trận bất kỳ. L L là ma trận tam giác dưới. (L là viết tắt của Lower trong Lower Triangle). U U là ma trận tam giác trên. (U là viết tắt của Upper trong Upper Triangle). A = L U A = LU Phép phân tích ma trận này rất đơn giản, đầu tiên ta thực hiện các phép biến đổi trên dòng để đưa A thành một ma trận bậc thang. Lúc đó, ma trận bậc thang chính là U. Tôi sẽ lấy một ma trận có kích thước 3x3 để làm ví dụ. A = [ 1 5 2 3 6 4 − 2 2 7 ] A = \begin{bmatrix} 1 & 5 & 2 \\ 3 & 6 & 4 \\ -2 &a More »

Thuật toán tính lũy thừa nhanh. Giải thích một cách đơn giản

Hình ảnh Khi được yêu cầu viết một hàm tính lũy thừa. Bạn sẽ làm như thế nào? Đáp án khá đơn giản phải không, chỉ với một vòng lặp for  thì có thể giải quyết tất cả. Nhưng như vậy liệu đã tối ưu chưa? Gần đây mình có xem qua một vài chương của cuốn Nhập môn lập trình  và tìm thấy một vài điều thú vị. Trong đó, có phương pháp tính lũy thừa nhanh mà mình muốn chia sẻ lại. Cuốn sách Nhập môn Lập trình Phương pháp thông thường Với đề bài trên, cách làm dễ nhất là: Để dễ dàng thử độ hiệu quả của thuật toán, mình dùng kiểu dữ liệu int64_t  tức kiểu số nguyên sử dụng 64 bit ( 8 byte ) để chứa dữ liệu và kiểu long tức kiểu số nguyên sử dụng 32 bit ( 4 byte ) để chứa dữ liệu. Nếu các bạn đã biết về phân tích độ phức tạp của thuật toán thì độ phức tạp của thuật toán trên là O(n) , có nghĩa là nếu n càng lớn thì thời gian tính toán xong của ta càng lâu. Nếu các bạn cho hàm trên chạy với n = 1 000 000 000  (1 tỷ cho bạn nào lười đếm). Máy mình chạy mất xấp xỉ 8  giây. Đây là một thời g More »

Hướng dẫn đăng ký khóa học trên Coursera và edX miễn phí

Hình ảnh Chào các bạn, cũng sắp Tết rồi và chắc mọi người rất mong ngóng khoảng thời gian nghỉ Tết phía trước để bắt đầu kế hoạch "ăn-ngủ-chơi" của mình. Được nghỉ mấy tuần liền mà có vài việc cứ làm hoài cũng chán phải không? Sao chúng ta không tận dụng thời gian rảnh rỗi đó để học hỏi thêm một điều gì đó mới mẻ, tự nâng cấp kiến thức của bản thân trong khi mà không bị áp lực từ việc học tập hay đi làm. Nếu như bạn có ý định như vậy vào kỳ nghỉ này, hãy đọc bài viết này. Giới thiệu về Coursera và edX Cả edX và Coursera đều là nền tảng cung cấp các khóa học trực tuyến về nhiều lĩnh vực từ các trường đại học danh tiếng trên thế giới. Mục tiêu của cả hai tổ chức này đều giống nhau đó là mang kiến thức từ các trường đại học ra toàn thế giới, khiến chúng dễ dàng được tiếp cận bởi bất kỳ ai. Trong đó, Coursera được sáng lập bởi hai giáo sư Stanford là Andrew Ng và Daphne Koller vào năm 2012. Cũng vào tháng 5 năm đó, hai trường đại học danh tiếng thế giới là Harvard và M More »

[Nhập môn Machine Learning] Bài 4: Tìm hiểu sâu hơn về Cost Function

Hình ảnh Nhắc lại các khái niệm Ở bài trước, chúng ta đã biết đến Hypothesis Function và Cost Function trong Linear Regression. Hypothesis Function chính là công cụ để giúp những chương trình Machine Learning dự đoán và tìm các trọng số tối ưu thông qua Cost Function sẽ giúp các dự đoán này chính xác hơn. Vật nên ở bài viết lần này, tôi muốn đưa ra các ví dụ cụ thể để giúp các bạn hình dung rõ hơn hoạt động của 2 hàm này (đặc biệt là Cost Function) và cách chúng tác động với nhau như thế nào. Tôi đã chuẩn bị sẵn một Dataset gồm các điểm dữ liệu khác nhau, bạn có thể hình dung nó biểu thị cho bất cứ dữ liệu nào ngoài thực tế ( giá nhà theo số mét vuông, tiền trong tài khoản ngân hàng của bạn theo năm,...) để làm cho tư duy của bạn được sinh động hơn thông suốt bài viết. Có lẽ bạn đã nhận ra mối quan hệ giữa các dữ liệu trên là tuyến tính vì có vẻ như khi $x$ của chúng ta càng tăng thì $y$ cũng tăng theo. Đây là một trường hợp hoàn hảo để áp dụng Linear Regression. Đầ More »

Từ khóa » điều Kiện Vecto Phụ Thuộc Tuyến Tính