Hi, I am

Ngô Tôn

I am a programmer.

Home / HCMUS / Machine Learning / Khóa học Machine Learning online trên Coursera – Tuần 1: Giới thiệu

Khóa học Machine Learning online trên Coursera – Tuần 1: Giới thiệu

Khóa học Machine Learning online trên Coursera miễn phí – Andrew NG

– Supervised Learning là gì?
– Unsupervised Learning là gì?

I. Giới thiệu, mô hình  đầu tiên là Linear Regression With One Variable.

Bắt đầu từ bài toán tìm f(x) thoả mãn : y = f(x), biết rằng x=x1 thì y=y1x=x2 thì y=y2, etc… . Biết thêm rằng nữa f(x) có dạng : ax + b.
Với bài toán trên, cách giải là coi a,b là biến, thay các giá trị x1, x2, y1, y2.. đã biết vào rồi giải. Cộng trừ nhân chia gì đó chắc sẽ ra thôi.
Khi tìm được a,b rồi thì cho x=x3 thì hỏi y bằng bao nhiêu chẳng hạn thì quá đơn giản rồi. **Luôn luôn bằng, luôn luôn chính xác*.

Nhưng trong Machine Learning thì hơi khác một chút. Nó cũng giống việc giải phương trình là đi tìm a,b nhưng không phải để đúng với mọi điều kiện dạng x=x1 thì y phải bằng y1, x=x2 thì b phải bằng y2.

Giả sử sau khi tìm được a,b rồi, với x=x1 nó tìm ra y1_p=ax1 + b, với x=x2 nó tìm ra
y2_p. Các giá trị này chỉ y1_p, y2_p chỉ cần gần gần y1, y2 đã cho là được. Vì sao lại thế, vì nhiệm vụ của nó là đoán một quy luật sát với tất cả các điểm có dạng **(x1, y1), (x2, y2) thôi, chứ không phải đoán chính xác tất cả. Sau đó với quy luật đoán được, nó thực hiện đoán tốt với các điểm x3, x4 chưa biết.

  • Cái đoán để tìm ra quy luật hay chính là hàm số đó người ta gọi là fit.
  • Cái hàm số chưa biết đó được gọi với cái tên Hyphothesis, với mình đây là từ mới toanh.
  • Quá trình tìm ra quy luật từ dữ liệu ban đầu gọi là train
  • Quá trình kiểm tra quy luật với những dữ liệu chưa có lúc train, được gọi là test.

II. Tiếp theo, giới thiệu về Cost Function, tức là hàm trả giá có sự sai khác khi đoán.

Dùng luôn ví dụ ở trên, cái giá phải trả chính là sự sai khác giữa giá trị đoán và giá trị mong muốn. Giữa y1 và y1_p, y2 và y2_p etc.
Người ta hay dùng khoảng cách Eclide ( hay gọi là Norm-2) để tính cái giá ** này.
Mục đích trong quá trình train là làm cho **cái giá phải trả
 là nhỏ nhất.
Hay tối thiểu hoá hàm Cost Function.

III. Tiếp nữa, đến Gradient Descent, là một phương pháp để tối thiểu hoá Cost Function nó ở trên.

Hãy tưởng tượng đến Parabol ở cổng Giải Phóng của BKHN. Nó bị ngược, nếu nó quay lại thành hình chữ U chẳng hạn, thì trên đồ thị ta dễ dàng thấy điểm nhỏ nhất của nó. Chính là điểm nằm ở đít chữ U hay Parabol đó.
Giả sử hàm trả giá cũng có dạng tương tự như thế ( cũng bậc 2 mà), ta phải làm thế nào? Vẽ lên thì cũng thấy đấy. Nhưng người ta có cách khác dựa vào hiểu biết về đạo hàm. Hồi cấp 3, tôi đã học thuộc là đạo hàm chính là hệ số góc của đường tiếp tuyê đến hàm số tại chính điểm đó.
Hoá ra, chính từ cái hệ số góc đó người ta sẽ biết được là đồ thị tại điểm đó là cong hay thẳng hay xiên. Thế là họ có phương pháp cứ đi theo từng điểm của đồ thị rồi di chuyển dần theo chiều ngược với tiếp tuyến thì thể nào cũng về điểm thấp nhất, à nhầm, điểm cực trị mới đúng.

Trong Gradient Descent, việc thực hiện update hệ số phải đồng thời.
Tức là sau khi tính được Gradient (dựa trên đạo hàm) tại một điểm hoặc tập điểm (từ đầu vào), ta phải thực hiện việc update hệ số đồng thời.

Ở trên chỉ là đường tiếp tuyến cho không gian 2 chiều. Khi nhiều chiều, người ta sẽ có mặt tiếp tuyến rồi siêu phẳng tiếp tuyến. Với mình, từ 3 chiều không tưởng tượng được tốt rồi. :((

IV. Phần cuối của tuần, là ôn lại  về đại số, ma trận.

Mình ôn để biết mấy khái niệm về Inverse, Transpose, Matrix vậy thôi.

Khóa học Machine Learning online trên Coursera miễn phí - Andrew NG – Supervised Learning là gì? – Unsupervised Learning là gì? I. Giới thiệu, mô hình  đầu tiên là Linear Regression With One Variable. Bắt đầu từ bài toán tìm f(x) thoả mãn : y = f(x), biết rằng x=x1 thì y=y1, x=x2 thì y=y2, etc… . Biết thêm rằng nữa f(x) có dạng : ax + b. Với bài toán trên, cách giải là coi a,b là biến, thay các giá trị x1, x2, y1, y2.. đã biết vào rồi giải. Cộng trừ nhân chia gì đó chắc sẽ ra thôi. Khi tìm được a,b rồi thì cho x=x3…

User Rating: 5 ( 1 votes)

About ngoton

Ngô Tôn is a programmer with passion for tailored software solutions. Comes with 6+ years of IT experience, to execute beautiful front-end experiences with secure and robust back-end solutions.

Check Also

1_FGGge_GilZ_KJYaoryaxkA

Khóa học Machine Learning online trên Coursera – Tuần 3 : Logistic Regression

Khóa học Machine Learning online trên Coursera miễn phí – Andrew NG I. Trong Machine …

Leave a Reply

Your email address will not be published. Required fields are marked *