Computer >> Máy Tính >  >> Lập trình >> Python

Hồi quy tuyến tính hoạt động như thế nào với Tensorflow trong Python?

Tensorflow là một khuôn khổ học máy được cung cấp bởi Google. Nó là một khung công tác mã nguồn mở được sử dụng cùng với Python để triển khai các thuật toán, ứng dụng học sâu và hơn thế nữa. Nó được sử dụng trong nghiên cứu và cho mục đích sản xuất. Nó có các kỹ thuật tối ưu hóa giúp thực hiện các phép toán phức tạp một cách nhanh chóng. Điều này là do nó sử dụng NumPy và mảng đa chiều. Các mảng đa chiều này còn được gọi là 'tensors'.

Khung hỗ trợ làm việc với mạng nơ-ron sâu. Nó có khả năng mở rộng cao và đi kèm với nhiều bộ dữ liệu phổ biến. Nó sử dụng tính toán GPU và tự động hóa việc quản lý tài nguyên. Nó đi kèm với vô số thư viện học máy và được hỗ trợ và ghi lại đầy đủ. Khung có khả năng chạy các mô hình mạng nơ-ron sâu, đào tạo chúng và tạo các ứng dụng dự đoán các đặc điểm liên quan của các bộ dữ liệu tương ứng.

Gói 'tensorflow' có thể được cài đặt trên Windows bằng dòng mã bên dưới -

pip install tensorflow

Tensor là một cấu trúc dữ liệu được sử dụng trong TensorFlow. Nó giúp kết nối các cạnh trong một sơ đồ luồng. Sơ đồ luồng này được gọi là 'Biểu đồ luồng dữ liệu'. Hàng căng không là gì ngoài mảng nhiều chiều hoặc một danh sách.

Sau đây là một ví dụ -

Ví dụ

def linear_reg(x):
   return A * x + b
def mean_square_error(y_pred, y_true):
   return tf.reduce_mean(tf.square(y_pred - y_true))
optimizer = tf.optimizers.SGD(learning_rate)
def run_optimization():
   with tf.GradientTape() as g:
      pred = linear_reg(X)
      loss = mean_square_error(pred, Y)
   gradients = g.gradient(loss, [A, b])
   optimizer.apply_gradients(zip(gradients, [A, b]))

Tín dụng mã - https://github.com/aymericdamien/TensorFlow-Examples/blob/master/tensorflow_v2/notebooks/2_BasicModels/linear_regression.ipynb

Đầu ra

A linear regression function that is defined, is called on the data.
Once the optimal data points have been computed, the mean square error function is calculated. The radient descent function is used to find the optimal weights.
These values are displayed on the console.

Giải thích

  • Các giá trị "weight" và "bias" được khởi tạo ngẫu nhiên. Chúng sẽ được cập nhật thành giá trị tối ưu sau khi quá trình đào tạo hoàn tất.

  • Định dạng chung cho phương trình tuyến tính là ‘Ax + b’ trong đó ‘A’ là ‘trọng số’ và ‘b’ là giá trị ‘độ lệch’.

  • Hàm tính toán sai số bình phương trung bình được xác định.

  • Trình tối ưu hóa gradient xuống dốc ngẫu nhiên cũng được xác định.

  • Một hàm để tối ưu hóa được xác định, tính toán độ dốc và cập nhật giá trị của trọng số và độ lệch.

  • Dữ liệu được đào tạo cho một số bước cụ thể.