Xem Nhiều 7/2022 # Tensorflow: Cholesky Decomposition (Phân Tích Ma Trận Cholesky) # Top Trend

Xem 18,513

Cập nhật thông tin chi tiết về Tensorflow: Cholesky Decomposition (Phân Tích Ma Trận Cholesky) mới nhất ngày 04/07/2022 trên website Sansangdethanhcong.com. Hy vọng nội dung bài viết sẽ đáp ứng được nhu cầu của bạn, chúng tôi sẽ thường xuyên cập nhật mới nội dung để bạn nhận được thông tin nhanh chóng và chính xác nhất. Cho đến thời điểm hiện tại, bài viết này đã đạt được 18,513 lượt xem.

--- Bài mới hơn ---

  • Lời Bài Hát Khoảng Cách Chia Đôi
  • Công Thức Lượng Giác Và Bài Tập Có Lời Giải
  • Bài Tập Mảng 1 Chiều Trong C/c++ Có Đáp Án
  • Hướng Dẫn Thực Hành Đầu Tư Theo Canslim Từ A Đến Z
  • Làm Giàu Từ Chứng Khoán Canslim Từ A Đến Z (Link Tải Sách Free)
  • Các thuật toán trong Machine Learning (ML) chia thành 3 nhánh là supervised learning (tạm dịch: học giám sát), unsupervised learning (tạm dịch: hoc không giám sát) và reinforcement learning (tạm dịch: học tăng cường). Linear regression (tạm dịch: Hồi quy tuyến tính) là thuật toán thuộc nhánh supervised learning.

    Tiếng Anh:

    Tiếng Việt:

    Mô hình linear regression đơn giản

    Vấn đề chúng ta là tìm ra hằng số hay trọng số W = (w 0, w 1) tương ứng với x i sao cho f(x i) = y i, với i = 1,..,n. Trong thực tế, chúng ta chỉ có thể tìm được f(x i) gần y­­ I nhất có thể nhưng để đơn giản chúng ta giả định là bằng.

    Giả sử rằng x 0 = 1, (1) có thể được viết lại như sau:

    Nếu biểu diễn dưới dạng vec tơ, (2) tương đương

    Với

    Chúng ta sẽ giải hệ (3) để tìm W T. Có nhiều cách giải, một cách giải là sử dụng Phân tích ma trận Cholesky.

    Phân tích ma trận Cholesky

    Theo phân tích Cholesky, một ma trận vuông X có thể được biểu diễn dưới dạng tích của ma trận tam giác dưới L và chuyển vị của nó tức L T:

    Ma trận vuông là lý tưởng vì trong thực tế sẽ là một ma trận kích thước bất kỳ nên thay vì sử dụng phân tích Cholesky cho X chúng ta sẽ thực hiện với X*X T vì tích của một ma trận với chuyển vị của nó luôn là một ma trận vuông, công thức lúc này:

    Nhân hai vế phương trình (3) cho X T, ta có:

    Tương đương:

    Tương đương:

    Như vậy, để giải hệ phương trình (3) theo phân tích Cholesky chúng ta sẽ thực hiện 3 bước:

    • Bước 1: Tìm Phân tích Cholesky L của XXT
    • Bước 2: Giải hệ phương trình L.Z = y.XT tìm Z
    • Bước 3: Giải hệ phương trình LT.WT = Z tìm WT

    Chúng ta sẽ dùng thư viện TensorFlow để giải hệ (3) theo 3 bước trên.

    Dùng thư viện TensorFlow để tìm phân tích Cholesky và giải hệ phương trình tuyến tính

    Bây giờ chúng ta sẽ giải quyết bài toán linear regression theo phương pháp phân tích Cholesky dùng thư viện TensorFlow theo các bước sau:

    Bước 0: Khởi tạo dữ liệu

    Chúng ta cần khởi tạo các dữ liệu dùng để huấn luyện gồm x_train và y_train

    x_train = np.linspace(0, 10, 100) y_train = x_train + np.random.normal(0,1,100)

    Kế tiếp chúng ta sẽ tạo ma trận X với kích thước 100X2, với cột đầu tiên là các giá trị x_train, cột thứ hai là cột số 1 là giá trị x0 mà chúng ta đã quy ước ở trên

    x_vals_column = np.transpose(np.matrix(x_train)) ones_column = np.transpose(np.matrix(np.repeat(1, 100))) X = np.column_stack((x_vals_column, ones_column))

    Nếu xuất X ra màn hình, kết quả:

    Cuối cùng là khởi tạo ma trận y và các tensor:

    # Create y matrix y = np.transpose(np.matrix(y_train)) # Create tensors X_tensor = tf.constant(X) y_tensor = tf.constant(y)

    Bước 1: Tìm phân tích Cholesky L của XXT

    Sau khi đã khởi tạo ma trận X chúng ta sẽ tìm ma trận L của XX T dùng phân tích Cholesky. Điều này có thể thực hiện dễ dàng bằng cách dùng hàm tf.cholesky() từ thư viện TensorFlow như sau:

    # Find Cholesky Decomposition of X*XT tX_X = tf.matmul(tf.transpose(X_tensor), X_tensor) L = tf.cholesky(tX_X)

    Bước 2: Giải hệ phương trình L.Z = y.XT tìm Z

    Chúng ta sẽ tìm Z dùng hàm tf.matrix_solve từ thư viện TensorFlow như sau:

    # Solve L*Z = y*XT for Z tX_y = tf.matmul(tf.transpose(X_tensor), y) Z = tf.matrix_solve(L, tX_y)

    Bước 3: Giải hệ phương trình LT.WT = Z tìm WT

    Trong bước cuối cùng này chúng ta sẽ dùng tf.matrix_solve để tìm WT, là tập các trọng số chúng ta cần tìm

    # Solve LT*WT = Z for WT WT= tf.matrix_solve(tf.transpose(L), Z)

    Bước 4: Tìm đường thẳng là tập nghiệm tối ưu

    Bây giờ chúng ta sẽ trích xuất các trọng số và biểu diễn đường thẳng mô tả tập nghiệm tối ưu mà thuật toán tìm được:

    solution_eval = sess.run(WT) # Extract coefficients w1= solution_eval w0 = solution_eval # Get best fit line best_fit = [] for i in x_train: best_fit.append(w1*i+w0) # Plot the results plt.plot(x_train, y_train, 'o', label='Data') plt.plot(x_train,best_fit, 'r-', label='Best fit line', linewidth=3) plt.legend(loc='upper left') plt.show()

    Có thể xem mã nguồn hoàn chỉnh tại GitHub.

    Lời kết

    Có nhiều cách tiếp cận để giải bài toán linear regression và một trong những cách đó là sử dụng phân tích ma trận Cholesky. Phân tích Cholesky cho một ma trận X không dễ dàng nhưng thật may mắn vì thư viện TensorFlow đã giúp chúng ta tiết kiệm rất nhiều thời gian. Trong các bài tiếp theo, chúng ta sẽ khám phá hơn nữa về sức mạnh của công cụ TensorFlow để giải quyết các vấn để của ML.

    --- Bài cũ hơn ---

  • Mã Kiểm Tra Crc (Mã Vòng)
  • Thiết Bị Chiết Béo Soxhlet
  • Hướng Dẫn Làm Gel Lô Hội Tại Nhà
  • Chiết Xuất Lô Hội ( Chiết Xuất Nha Đam )
  • Vitamin D Có Nhiều Ở Đâu, Có Trong Những Loại Thực Phẩm Nào?
  • Bạn đang xem bài viết Tensorflow: Cholesky Decomposition (Phân Tích Ma Trận Cholesky) trên website Sansangdethanhcong.com. Hy vọng những thông tin mà chúng tôi đã chia sẻ là hữu ích với bạn. Nếu nội dung hay, ý nghĩa bạn hãy chia sẻ với bạn bè của mình và luôn theo dõi, ủng hộ chúng tôi để cập nhật những thông tin mới nhất. Chúc bạn một ngày tốt lành!

  • Web hay
  • Links hay
  • Push
  • Chủ đề top 10
  • Chủ đề top 20
  • Chủ đề top 30
  • Chủ đề top 40
  • Chủ đề top 50
  • Chủ đề top 60
  • Chủ đề top 70
  • Chủ đề top 80
  • Chủ đề top 90
  • Chủ đề top 100
  • Bài viết top 10
  • Bài viết top 20
  • Bài viết top 30
  • Bài viết top 40
  • Bài viết top 50
  • Bài viết top 60
  • Bài viết top 70
  • Bài viết top 80
  • Bài viết top 90
  • Bài viết top 100
  • CẦM ĐỒ TẠI F88
    15 PHÚT DUYỆT
    NHẬN TIỀN NGAY

    VAY TIỀN NHANH
    LÊN ĐẾN 10 TRIỆU
    CHỈ CẦN CMND

    ×