Ra mắt hai series mới cực hot Trí tuệ nhân tạo A đến ZPython công cụ không thể thiếu khi nghiên cứu Data science, Machine learning.

Quy trình 3 bước trong Machine Learning và hàm chi phí

Video trong bài viết

Trong Phần 1: Dự đoán doanh thu phim với Hồi quy tuyến tính, chúng ta đã được làm quen với Machine Learning và thuật toán Hồi quy tuyến tính (Linear Regression). Các bài học ở phần 1 mới chỉ mang tính chất giới thiệu, để bạn đọc có thể hiểu sơ lược xem Machine Learning là gì? khi áp dụng vào các bài toán thực tế nó đem lại kết quả ra sao?

Quy trình 3 bước trong Machine Learning

Bạn có nhớ trong bài toán dự đoán doanh thu bằng Linear Regression chúng ta đã sử dụng thuật toán được cài đặt sẵn trong thư viện Scikit-learn. Nhưng chúng ta không đi sâu vào Machine learning diễn ra như thế nào?

Theo hoạt động học tập thông thường, chúng ta cần đưa dữ liệu vào máy tính và nó có thể trả lời các câu hỏi của chúng ta. Cách máy tính học là chúng nhìn ra các mối quan hệ trong dữ liệu. Quay lại với Linear Regression, chúng ta tìm hiểu xem máy đã học như thế nào?

Trước hết, chúng ta cùng đến với quy trình 3 bước trong Machine Learning và sau đó sẽ áp dụng vào một thuật toán cụ thể.

Quy trình 3 bước trong Machine Learning

  • Bước 1: Đưa ra dự đoán (đưa ra một giá trị bất kỳ đầu tiên).
  • Bước 2: Tính toán các sai lệch dựa trên dự đoán và dữ liệu đầu vào
  • Bước 3: Máy học, điều chỉnh dự đoán ban đầu và quay về với bước 1.

Phần tiếp theo có liên quan đến Phần 1: Dự đoán doanh thu phim với Linear Regression, bạn nên xem phần 1 trước khi bắt đầu bài viết này vì có rất nhiều thông tin liên quan.

Quay lại với bài toán dự đoán bằng Linear Regression, chương trình cần học và đưa ra các giá thị $\theta_0$ và $\theta_1$ tối ưu. Bước 1, nó sẽ dự đoán giá trị $\theta_0$ và $\theta_1$ ví dụ $\theta_0^0$ và $\theta_1^0$. Sau đó, tại bước 2, nó thực hiện tính toán sai lệch. Ở đây, trong thuật toán Linear Regression chúng ta sử dụng Tổng bình phương độ lệch để làm tiêu chí đánh giá xem dự đoán ở bước 1 là đã đúng hay chưa?

$$ Tổng Bình Phương Độ Lệch (RSS) = (y^{(1)} - h_{\theta}(x^{(1)}))^2 + (y^{(2)} - h_{\theta}(x^{(2)}))^2 + ... + (y^{(n)} - h_{\theta}(x^{(n)}))^2 = \sum_{i=n}^n(y^{(i)} - h_{\theta}(x^{(i)}))^2$$

Với đường thẳng cần dự đoán là:

$$h_{\theta}(x) = \theta_0 + \theta_1x$$

Trong đó, $\theta_0$ là điểm cắt với trục y, $\theta_1$ là độ dốc của đường thẳng. $x^{(i)}$, $y^{(i)}$ là ngân sách và doanh thu của phim $i$ trong tập dữ liệu ban đầu.

Ở bước thứ 3, nó so sánh RSS của lần tính toán trước với lần tính toán này xem cái nào tốt hơn, nếu đã đủ tốt với một độ chính xác yêu cầu, máy tính dừng lại, nếu chưa nó điều chỉnh các giá trị dự đoán $\theta_0$ và $\theta_1$ và quay lại bước 1.

Chúng ta đã coi RSS là độ lớn sai lệch tính toán trong Linear Regression. Một phần rất rộng trong Machine Learning là tối ưu hóa để tìm ra các giá trị nhỏ nhất, ví dụ như ở bài toán trên chúng ta cần tìm RSS nhỏ nhất và như vậy với $\theta_0$ và $\theta_1$ có được, chúng ta có được đường thẳng nói lên mối quan hệ giữa ngân sách và doanh thu phim. Trong Machine learning các hàm này gọi là hàm chi phí (cost function) hoặc hàm mất mát (lost function).

Có thể bạn chưa thật sự hiểu về quy trình 3 bước trong machine learning này nhưng cũng đừng lo lắng, khi bắt đầu vào thiết kế thuật toán và viết code Python bạn sẽ hiểu thôi. Tôi đảm bảo đấy.


CÁC BÀI VIẾT KHÁC

FirebirD

Đam mê Toán học, Lập trình. Sở thích chia sẻ kiến thức, Phim hài, Bóng đá, Cà phê sáng với bạn bè.

Cấu trúc dữ liệu từ điển Dictionary trong Python

Tạo dữ liệu và vẽ đồ thị với Numpy và Matplotlib

0 Bình luận trong "Quy trình 3 bước trong Machine Learning và hàm chi phí"

Thêm bình luận