TensorFlow - Hồi quy tuyến tính

Trong chương này, chúng ta sẽ tập trung vào ví dụ cơ bản về triển khai hồi quy tuyến tính bằng TensorFlow. Hồi quy logistic hay hồi quy tuyến tính là một cách tiếp cận máy học có giám sát để phân loại các danh mục rời rạc theo thứ tự. Mục tiêu của chúng tôi trong chương này là xây dựng một mô hình mà qua đó người dùng có thể dự đoán mối quan hệ giữa các biến dự báo và một hoặc nhiều biến độc lập.

Mối quan hệ giữa hai biến này được coi là tuyến tính. Nếu y là biến phụ thuộc và x được coi là biến độc lập, thì mối quan hệ hồi quy tuyến tính của hai biến sẽ giống như phương trình sau:

Y = Ax+b

Chúng tôi sẽ thiết kế một thuật toán cho hồi quy tuyến tính. Điều này sẽ cho phép chúng ta hiểu hai khái niệm quan trọng sau:

  • Chức năng ước lượng
  • Các thuật toán giảm dần độ dốc

Biểu diễn giản đồ của hồi quy tuyến tính được đề cập dưới đây:

Hình ảnh đồ thị của phương trình hồi quy tuyến tính được đề cập dưới đây:

Các bước thiết kế một thuật toán cho hồi quy tuyến tính

Bây giờ chúng ta sẽ tìm hiểu về các bước giúp thiết kế một thuật toán cho hồi quy tuyến tính.

Bước 1

Điều quan trọng là nhập các mô-đun cần thiết để vẽ mô-đun hồi quy tuyến tính. Chúng tôi bắt đầu nhập thư viện Python NumPy và Matplotlib.

import numpy as np 
import matplotlib.pyplot as plt

Bước 2

Xác định số lượng hệ số cần thiết cho hồi quy logistic.

number_of_points = 500 
x_point = [] 
y_point = [] 
a = 0.22 
b = 0.78

Bước 3

Lặp lại các biến để tạo ra 300 điểm ngẫu nhiên xung quanh phương trình hồi quy -

Y = 0,22x + 0,78

for i in range(number_of_points): 
   x = np.random.normal(0.0,0.5) 
   y = a*x + b +np.random.normal(0.0,0.1) x_point.append([x]) 
   y_point.append([y])

Bước 4

Xem các điểm được tạo bằng Matplotlib.

fplt.plot(x_point,y_point, 'o', label = 'Input Data') plt.legend() plt.show()

Mã hoàn chỉnh cho hồi quy logistic như sau:

import numpy as np 
import matplotlib.pyplot as plt 

number_of_points = 500 
x_point = [] 
y_point = [] 
a = 0.22 
b = 0.78 

for i in range(number_of_points): 
   x = np.random.normal(0.0,0.5) 
   y = a*x + b +np.random.normal(0.0,0.1) x_point.append([x]) 
   y_point.append([y]) 
   
plt.plot(x_point,y_point, 'o', label = 'Input Data') plt.legend() 
plt.show()

Số điểm được lấy làm đầu vào được coi là dữ liệu đầu vào.