Bạn được LâmVũ mời tham gia diễn đàn viết bài kiếm tiền VNO, bấm vào đây để đăng ký.
2,623 ❤︎ Bài viết: 1671 Tìm chủ đề
376 0
Trong thời đại xuất hiện khái niệm về trí tuệ nhân tạo AI, con người luôn tìm kiếm những phương thức mới nhằm thay thế các cách làm truyền thống mang tính thủ công, phức tạp và tốn nhiều thời gian.

Sự phát triển của công nghệ đã cho phép máy móc không chỉ thực hiện các thao tác theo lập trình sẵn, mà còn có khả năng học hỏi từ dữ liệu, phân tích và đưa ra quyết định. Từ dó, khái niệm máy học (Machine Learning) ra đời như một giải pháp cốt lõi, giúp máy tính tự động rút ra quy luật từ dữ liệu và hỗ trợ con người trong nhiều lĩnh vực, đặc biệt là y tế, tài chính và giáo dục.

55055251854_c3b8f60f3d_o.png


Giới thiệu về các khái niệm học máy


Phần 1: Mô Hình Học Máy

Môn: Điện toán đám mây

Mục lục:


Phần 1: Mô hình học máy

Phần 2: Các loại mô hình học máy - Hồi quy

Phần 3: Các loại mô hình học máy - Phân loại nhị phân

Phần 4: Các loại mô hình học máy - Phân loại đa lớp

Phần 5: Các loại mô hình học máy - Phân cụm

Phần 6: Các loại mô hình học máy - Học sâu

Phần 7: Bài tập - Khám phá các kịch bản học máy

1. Khái niệm học máy

Dựa trên lý thuyết:


Máy học (Machine Learning) là một lĩnh vực giao thoa giữa khoa học dữ liệu và kỹ thuật phần mềm, trong đó máy tính sử dụng dữ liệu từ quá khứ để học ra mô hình, từ đó dự đoán hoặc suy luận các giá trị, kết quả cho dữ liệu mới chưa từng thấy.

Giải thích đơn giản:

Máy học là quá trình cho phép máy tính học từ dữ liệu, rút ra quy luật, và áp dụng các quy luật đó để dự đoán hoặc ra quyết định trong các hệ thống phần mềm.

Ví dụ thực tế:

+ Chủ cửa hàng kem có thể sử dụng một ứng dụng kết hợp dữ liệu bán hàng trong quá khứ và dữ liệu thời tiết để dự đoán số lượng kem họ có khả năng bán được trong một ngày nhất định, dựa trên dự báo thời tiết.

+ Bác sĩ có thể sử dụng dữ liệu lâm sàng từ các bệnh nhân trước đây để chạy các xét nghiệm tự động dự đoán xem bệnh nhân mới có nguy cơ mắc bệnh tiểu đường hay không dựa trên các yếu tố như cân nặng, mức đường huyết và các chỉ số khác.

+ Một nhà nghiên cứu ở Nam Cực có thể sử dụng các quan sát trước đây để tự động hóa việc xác định các loài chim cánh cụt khác nhau (như Adelie, Gentoo hoặc Chinstrap ) dựa trên các phép đo về vây, mỏ và các đặc điểm thể chất khác của chim.

Bản chất chung của máy học:

a) Có dữ liệu trong quá khứ

b) Có một mục tiêu cần dự đoán

c) Máy tự học mối quan hệ giữa dữ liệu và kết quả

d) Áp dụng mô hình đó cho trường hợp mới

Kết luận:

Nếu lập trình truyền thống yêu cầu con người chỉ ra từng quy tắc, thì máy học cho phép máy tính tự học các quy luật từ dữ liệu để phục vụ dự đoán và suy luận. Kết quả của quá trình học đó, chính là mô hình học máy – Thứ mà máy tính sử dụng để đưa ra kết quả cho các dữ liệu mới.

2. Mô hình học máy là gì?

Mô hình học máy có thể hiểu đơn giản là một chương trình phần mềm biết dự đoán. Bên trong mô hình này là một hàm toán học, dùng để:

+ Nhận dữ liệu đầu vào.

+ Tính toán.

+ Trả về kết quả dự đoán.

Ta có thể viết ngắn gọn bằng công thức:


y = f(x)

+ y: Kết quả cần dự đoán

+ x: Các đặc trưng (Thông tin đầu vào)

+ f: Mô hình học máy

55055251909_b7ab8c44f5_o.png


3. Dữ liệu huấn luyện gồm những gì?

Để mô hình học được, ta cần dữ liệu trong quá khứ, gọi là dữ liệu huấn luyện. Mỗi bản ghi dữ liệu dùng để mô tả một đối tượng cụ thể và bao gồm hai thành phần chính:

+ Đặc trưng (x): Các thông tin mô tả đối tượng

+ Nhãn (y): Kết quả đúng đã biết mà mô hình cần học để dự đoán

Trong thực tế, một đối tượng không thể được mô tả chỉ bằng một thông tin đơn lẻ. Thay vào đó, nó cần được biểu diễn bằng nhiều đặc trưng khác nhau. Vì vậy, trong máy học, x thường được biểu diễn dưới dạng một tập hợp các giá trị, hay còn gọi là:


x = [x₁, x₂, x₃...]

Trong đó:

+ x₁ là đặc trưng thứ nhất

+ x₂ là đặc trưng thứ hai

+ x₃ là đặc trưng thứ ba

+ ...

Tất cả các đặc trưng này kết hợp lại để mô tả đầy đủ đối tượng, giúp mô hình học máy có đủ thông tin cần thiết để phân tích và dự đoán chính xác nhãn y.

55054394147_23668a90d2_o.png


Ví dụ thực tế:

Trong bài toán chuẩn đoán bệnh án, mỗi bản ghi dữ liệu đại diện cho một bệnh nhân tại một thời điểm cụ thể. Bản ghi này gồm các thông tin y tế dùng để mô tả tình trạng sức khỏe của bệnh nhân, chẳng hạn như:

+ Cân nặng: 68 kg (Phản ánh thể trạng)

+ Đường huyết: 180 mg/dL (Phản ánh lượng đường trong máu)

+ Tuổi: 52 (Yếu tố nguy cơ sinh học)

Dựa trên các thông tin này, bác sĩ đã đưa ra kết luận chuẩn đoán rằng bệnh nhân có nguy cơ mắc bệnh tiểu đường hay không.

Trong bài toán máy học:

Kết quả chuẩn đoán được biểu diễn bằng nhãn (y):

+ 1: Có nguy cơ.

+ 0: Không có nguy cơ.

Các thông tin của bệnh nhân được đưa vào mô hình dưới dạng các đặc trưng (x):

+ x = [68, 180, 52]

+ y = 1

Trong đó, x là tập hợp các chỉ số y tế mô tả bệnh nhân, còn y là kết quả mà mô hình học máy cần học để dự đoán cho những bệnh nhân mới.

4. Giai đoạn huấn luyện

Mô hình "Học" bằng cách liên tục đưa dữ liệu đầu vào (x) qua một hàm toán học, so sánh kết quả dự đoán với kết quả đúng (y), sau đó điều chỉnh các tham số bên trong để giảm sai lệch. Quá trình này được lặp lại nhiều lần trên dữ liệu huấn luyện cho đến khi mô hình tìm được mối quan hệ phù hợp nhất giữa dữ liệu đầu vào và kết quả cần dự đoán.

55055302706_9a571a804a_o.png

Giả sử ta đang xây dựng mô hình chuẩn đoán nguy cơ tiểu đường.

Bước 1: Đưa dữ liệu vào mô hình

Mỗi bệnh nhân được biểu diễn dưới dạng một vector đặc trưng:

x = [Cân nặng, Đường huyết, Tuổi]

x = [68, 180, 52]

y = 1 (có nguy cơ tiểu đường)

Mô hình ban đầu tạo ra một công thức dự đoán đơn giản, ví dụ:


z = w1 x 68 + w2 x 180 + w3 x 52 + b

Trong đó:

+ z : kết quả dự đoán

+ w1, w2, w3: trọng số

Giải thích kỹ:


Theo lý thuyết: Trọng số mô hình là các tham số số học có thể học được trong mạng nơ-ron , xác định cách hệ thống xử lý dữ liệu đầu vào để tạo ra dự đoán.

Nói đơn giản, trọng số là những con số thể hiện mức độ quan trọng của từng đặc trưng. Nói cách khác, trọng số trả lời cho câu hỏi: "Thông tin này đáng tin tới mức nào khi đưa ra quyết định?" Trọng số càng lớn thì đặc trưng đó càng có ảnh hưởng mạnh đến kết quả dự đoán của mô hình.

Cụ thể trọng số được khởi tạo với giá trị gần bằng 0 để mô hình chưa ưu tiên bất kỳ đặc trưng nào ngay từ đầu. Điều này tránh việc một đặc trưng bị coi là quá quan trọng khi mô hình chưa có đủ dữ liệu để kết luận. Trong bài toán ta đặt các trọng số lần lượt là:

w₁ = 0.002 (cân nặng)

w₂ = 0.003 (đường huyết)

w₃ = 0.001 (tuổi)

+ b: độ lệch pha (bias)

Giải thích kỹ:

Theo lý thuyết: Trong mô hình, bias (b) là tham số dùng để điều chỉnh ngưỡng dự đoán chung. Nó cho phép mô hình linh hoạt hơn trong việc chuyển đổi tổng tuyến tính của các đặc trưng thành xác suất dự đoán, thay vì mặc định rằng mọi giá trị đầu vào đều dẫn đến cùng một mức rủi ro.

Nói đơn giản, độ lệch pha b là ngưỡng quyết định cơ bản của mô hình, kể cả khi các đặc trưng bằng 0. Nếu trọng số trả lời cho "Thông tin này quan trọng bao nhiêu?", thì độ lệch pha b sẽ trả lời "Khi chưa có thông tin gì, ta nghiêng về quyết định nào?"

Nếu độ lệch pha lớn, mô hình dễ dự đoán việc có nguy cơ bị bệnh; nếu độ lệch pha nhỏ hoặc âm, mô hình thận trọng hơn, dễ dự đoán việc không có nguy cơ bị bệnh ở ví dụ trên.

Trong bài toán, ta sẽ đặt độ lệch pha là -0.5 để máy tính có thể thận trọng hơn, không vội kết luận có nguy cơ.

Bước 2: Thực hiện phép tính và đưa ra kết quả

Giả sử kết quả thật của bệnh nhân là:

y = 1 (có nguy cơ tiểu đường)​

Mô hình áp dụng công thức dự đoán:

z =w1⋅68+w2⋅180+w3⋅52+b
Thay các trọng số đã khởi tạo:

w₁ = 0.002 (cân nặng)

w₂ = 0.003 (đường huyết)

w₃ = 0.001 (tuổi)

b = - 0.5

Ta có:

z =0.002 x 68+ 0.003 x 180+ 0.001 x 52 + (-0.5) = 0.228

Bước 3: Chuyển giá trị tính toán thành xác suất


Do đây là bài toán chẩn đoán có hoặc không, mô hình cần đưa ra kết quả dưới dạng xác suất. Vì vậy, hàm sigmoid được sử dụng để chuyển giá trị z của mô hình thành một giá trị nằm trong khoảng [0,1], đại diện cho xác suất dự đoán.

55056125426_df28b861e0_o.png

Trong bài toán, ta thay z = 0.228 vào công thức, kết quả là:

y^≈0.56
Mô hình dự đoán: 56% nguy cơ tiểu đường ở đối tượng.

Bước 4: Đánh giá sai lệch

Kết quả thật: y = 1

Kết quả dự đoán: y^≈0.56

Mặc dù mô hình đã dự đoán đúng xu hướng (có nguy cơ), nhưng mức độ tự tin chưa cao vì giá trị dự đoán 0.56 còn khá xa so với kết quả thật 1. Do đó, mô hình tiếp tục điều chỉnh các tham số bên trong.

Bước 5: Mô hình "học" từ sai lệch

Sau khi so sánh kết quả dự đoán y^ với kết quả đúng y, mô hình biết được mình đang dự đoán lệch bao nhiêu và lệch theo hướng nào (quá thấp hay quá cao). Dựa trên sai lệch đó, thuật toán sẽ phân tích xem:

+ Đặc trưng nào đã đóng góp nhiều vào kết quả dự đoán.

+ Đặc trưng nào chưa được đánh giá đúng mức.

Từ đó, mô hình tiến hành điều chỉnh các tham số bên trong:

+ Tăng trọng số của những đặc trưng có ảnh hưởng mạnh đến kết quả (Ví dụ: Nếu đường huyết cao nhưng dự đoán vẫn thấp, mô hình sẽ tăng trọng số của đường huyết)

+ Điều chỉnh độ lệch pha (b) để mô hình bớt quá thận trọng hoặc bớt quá dễ kết luận.

+ Nhằm mục tiêu làm cho kết quả dự đoán ở lần sau gần với kết quả đúng hơn.

Quá trình "dự đoán → so sánh → điều chỉnh" này được lặp đi lặp lại trên rất nhiều bệnh nhân khác nhau. Nhờ đó, mô hình không học thuộc từng trường hợp riêng lẻ, mà dần dần rút ra được mối quan hệ thực sự giữa các chỉ số y tế và nguy cơ mắc bệnh.

5. Mô hình được huấn luyện

Kết quả của toàn bộ quá trình huấn luyện không phải là dữ liệu, mà là một mô hình toán học hoàn chỉnh, bao gồm:

+ Một công thức tính toán (Hàm số)

+ Các trọng số w1,w2,w3,...

+ Độ lệch pha b.
Trong bài toán chuẩn đoán tiểu đường, mô hình này bao gồm:

+ Công thức tính tổng tuyến tính:

z =w1 x x1 + w2 x x2 + w3 x x3 + b
+ Hàm sigmoid để chuyển đổi kết quả sang xác suất: y^=σ(z)
Kết luận: Tất cả những thành phần này hợp lại tạo thành mô hình học máy, được ký hiệu là y=f(x)

55054394352_493f08d3e5_o.png

6. Suy luận với dữ liệu mới

Khi gặp một bệnh nhân mới, mô hình không cần biết trước kết quả đúng y, mà chỉ cần các đặc trưng đầu vào.

Ví dụ, với bệnh nhân mới có thông tin:

+ Cân nặng: 70 kg

+ Đường huyết: 165 mg/dL

+ Tuổi: 48

Ta biểu diễn dưới dạng: x_{new} = [70, 165, 48]

Mô hình sẽ thực hiện:

+ Đưa x_{new} vào công thức f đã học.

+ Tính giá trị z.

+ Áp dụng hàm sigmoid.

+ Trả về kết quả dự đoán:

y^=f(x_{new})​

Kết quả y^ là xác suất bệnh nhân có nguy cơ mắc tiểu đường.

55055481443_54047fc1dd_o.png

Mô hình không học lại trong giai đoạn này. Nó chỉ áp dụng kiến thức đã học để đưa ra dự đoán. Nhờ đó hệ thống có thể hỗ trợ đưa ra quyết định, tự động sàn lọc bệnh nhân và tiết kiệm khá nhiều thời gian, kể cả việc giảm sai sót do con người gây ra.

6. Tóm tắt toàn bộ quy trình học máy

Mô hình học máy không ghi nhớ từng trường hợp trong quá khứ, mà học cách tính toán để đưa ra dự đoán hợp lý cho những dữ liệu mới chưa từng xuất hiện.

+ Huấn luyện: Dữ liệu cũ (x,y) → Điều chỉnh w,b → Tạo mô hình f

+ Suy luận: Dữ liệu mới x → Mô hình f → Dự đoán y^

7. Các loại mô hình học máy

Không phải mọi bài toán đều dùng chung một kiểu học máy. Tùy vào bạn muốn dự đoán cái gì và dữ liệu có sẵn đáp án hay không, ta sẽ chọn loại mô hình học máy phù hợp. Cách phân loại đơn giản và phổ biến nhất là dựa vào việc dữ liệu có nhãn (đáp án đúng) hay không.

55054999361_d1b3342c73_o.png


7.1. Học máy có giám sát (Supervised machine learning)

Trong học máy có giám sát, bạn cung cấp cho máy dữ liệu kèm theo đáp án đúng. Máy sẽ học từ những ví dụ này để rút ra quy luật, từ đó dự đoán đáp án cho dữ liệu mới trong tương lai. Cách thức hoạt động giống như ví dụ bên trên.

Về mặt lý thuyết, học máy có giám sát dựa trên:

+ Dữ liệu huấn luyện đã có nhãn y (Đáp án đúng)

+ Quá trình học lặp lại, trong đó máy tự so sánh kết quả dự đoán với đáp án thật và tự điều chỉnh để dự đoán ngày càng chính xác hơn.

Học máy có giám sát gồm 2 loại chính:

A) Hồi quy (Regression)


Hồi quy là bài toán dự đoán ra một con số (không phải nhãn, không phải đúng/sai). Tức là đầu ra là giá trị liên tục, có thể là số chẵn lẻ, số lớn nhỏ bất kỳ.

Ví dụ thực tế về dự đoán chỉ số đường huyết của bệnh nhân:

+ Dữ liệu đầu vào bao gồm: Tuổi, cân năng, chế độ ăn, tiền sử bệnh,...

+ Mô hình dự đoán ra: Đường huyết = 120 mg/dL

Kết quả là 120 là một con số cụ thể. Đặc biệt, giá trị trả về không bị giới hạn trong vài giá trị cố định, nó có thể là 120.1, 119.8,... Vậy nên bài toán hồi quy mà giá trị cần dự đoán là một số liên tục.

B) Phân loại (Classification)

Phân loại là bài toán trong học máy mà kết quả dự đoán thuộc về một nhóm hoặc một nhãn đã được xác định trước, chứ không phải là một giá trị số liên tục. Nói cách khác, mô hình không dự đoán ra con số, mà chỉ chọn tên nhóm phù hợp nhất trong các nhóm có sẵn.

Với phân loại, bài toán thường được chia thành phân loại nhị phân (Binary Classification) và phân loại đa lớp (Multi-class Classification), tùy theo số lượng nhãn cần dự đoán.

Ví dụ về dự đoán nguy cơ tiểu đường:

+ Đầu vào: Tuổi, cân nặng, chỉ số đường huyết, tiền sử gia đình.

+ Đầu ra: Nhãn "Có nguy cơ" hoặc "Không nguy cơ"

Kết luận: Vì kết quả chỉ phụ thuộc một trong hai nhãn cố định, thì đây được gọi là bài toán phân loại nhị phân (Binary Classification)

Ngược lại, khi bài toán có nhiều hơn hai nhãn khác nhau, thì được gọi là bài toán phân loại đa lớp (Multi-class Classification). Trong trường hợp này, mô hình sẽ lựa chọn một nhãn phù hợp nhất trong số nhiều nhãn đã được xác định trước.

Ví dụ:

+ Đầu vào: Hình ảnh

+ Đầu ra: Chó, mèo, chim,...

Kết luận: Bài toán nhận dạng hình ảnh có đầu vào là hình ảnh và đầu ra là các nhãn như "Chó", "Mèo", "Chim", nên đây là bài toán phân loại đa lớp (Multi-class Classification), vì kết quả có từ ba nhãn trở lên.

7.1. Học máy không giám sát (Unsupervised machine learning)

Trong học máy không giám sát, dữ liệu không có đáp án đúng (không có nhãn y).
Máy không biết trước kết quả cần ra là gì, mà chỉ dựa vào dữ liệu để tự tìm ra quy luật ẩn bên trong.

Đặc điểm dễ nhớ:

+ Dữ liệu chỉ có đặc trưng x, không có nhãn y

+ Không có đáp án để so sánh đúng – sai

+ Máy tự phát hiện sự giống và khác nhau trong dữ liệu

Dạng dữ liệu:

Mỗi đối tượng chỉ được mô tả bằng các đặc trưng:

x = [x1,x2,x3,...]
Ví dụ mô phỏng:

Giả sử một cửa hàng có thông tin của nhiều khách hàng, nhưng không hề biết họ thuộc nhóm nào. Mỗi khách hàng được mô tả bằng 3 đặc trưng (3 dữ liệu đầu vào)

+ Tuổi

+ Thu nhập (Triệu/tháng)

+ Số lần mua hàng trong 1 tháng

Bảng dữ liệu như sau:

55056715350_689750f9de_o.png


Bảng dữ liệu không có cột phân loại khách hàng, nghĩa là đây là một mô hình không giám sát. Máy chỉ nhìn thấy con số và mỗi khách hàng là một điểm:

x = (Tuổi, thu nhập, số lần mua)​

Tương đương:

+ A = (22, 6, 2)

+ B = (24, 7, 3)

+ C = (45, 25, 15)

+ D = (47, 28, 18)

+ E = (30,10,5)

Mô hình này sẽ tìm ra điểm nào giống nhau nhất, ở bảng dữ liệu, nó nhận ra:

+ A và B rất gần nhau

+ C và D rất gần nhau

+ E ở giữa

Kết quả: Mô hình sẽ tự gom nhóm.

+ Nhóm 1: A,B

+ Nhóm 2: C,D

+ Nhóm 3: E

Sau khi chia nhóm, người dùng có thể nhìn vào, giải thích và tự đặt tên cho mỗi nhóm:

+ Nhóm 1: Khách trẻ, thu nhập thấp, mua ít

+ Nhóm 2: Khách lớn tuổi, thu nhập cao, mua nhiều

+ Nhóm 3: Khách trung bình

Kết luận: Trong bài toán phân cụm, bài chỉ cần nhớ thuật toán sẽ chỉ dựa vào những đối tượng có những đặc điểm tương đồng nhau, và gọp nhau lại thành một nhóm. Sau đó, con người dựa vào các nhóm này để phân chia, đặt tên cho từng nhóm.
 
Chỉnh sửa cuối:
2,623 ❤︎ Bài viết: 1671 Tìm chủ đề
Trong đời sống hằng ngày, con người thường đưa ra dự đoán dựa trên kinh nghiệm. Chẳng hạn, một người bán kem có thể nghĩ rằng khi trời nóng thì sẽ bán được nhiều kem hơn. Tuy nhiên, khi số ngày bán tăng lên và dữ liệu ngày càng nhiều, việc dự đoán chỉ dựa vào cảm giác trở nên thiếu chính xác và không nhất quán. Khi đó, thay vì tự tính toán và phỏng đoán thủ công, chúng ta cần một thuật toán có khả năng học từ dữ liệu trong quá khứ, tự động phát hiện quy luật và đưa ra dự đoán một cách khách quan, ổn định và có thể áp dụng cho nhiều trường hợp khác nhau. Hồi quy chính là phương pháp giúp máy tính thực hiện quá trình này trong các bài toán dự đoán giá trị số.

55067432240_2fc299c596_o.png


Giới thiệu về các khái niệm học máy


Phần 2: Các loại mô hình học máy - Hồi quy

Môn: Điện toán đám mây

Mục lục:


Phần 1: Mô hình học máy

Phần 2: Các loại mô hình học máy - Hồi quy

Phần 3: Các loại mô hình học máy - Phân loại nhị phân

Phần 4: Các loại mô hình học máy - Phân loại đa lớp

Phần 5: Các loại mô hình học máy - Phân cụm

Phần 6: Các loại mô hình học máy - Học sâu

Phần 7: Bài tập - Khám phá các kịch bản học máy
1. Khái niệm

Hồi quy là một nhánh của học máy có giám sát (Supervised Learning), dùng để dự đoán một giá trị số liên tục. Nghĩa là dự đoán một con số dựa trên dữ liệu đã có trước đó. Ví dụ, khi biết nhiệt độ trong ngày, ta muốn dự đoán số lượng kem sẽ bán được.

Giả sử về bài toán thực tế gồm có:

+ Đặc trưng (x) là thông tin đầu vào, như nhiệt độ.

+ Nhãn (y) là kết quả cần dự đoán, như số kem bán được.

Mục tiêu của hồi quy là tìm ra một công thức sao cho khi biết x, máy có thể dự đoán y gần đúng nhất với thực tế.

(Tương tự như quá trình học máy ở phần 1, chúng ta chỉ đi sâu vào mô hình hồi quy có chi tiết những gì thôi)

55067256573_b35b6a44e8_o.png


2. Quá trình huấn luyện mô hình hồi quy
Để máy dự đoán được, ta không làm một lần là xong mà phải đi theo một quy trình gồm nhiều bước.

Bước 1: Chia dữ liệu

Dữ liệu ban đầu được chia thành:


+ Tập huấn luyện (Training set): Dùng để dạy máy học. Máy quan sát dữ liệu, tìm ra quy luật và điều chỉnh các tham số của mô hình.

+ Tập kiểm định (Validation/Test set): Dùng để đánh giá xem mô hình có hiểu đúng hay không, bằng cách cho dự đoán trên những dữ liệu mới mà nó chưa từng thấy.

Ví dụ về nhiệt độ và số kem bán được. Giả sử bạn có dữ liệu thực tế:

x= 25°C → y = Bán được 50 cây kem

x= 30°C → y= Bán được 90 cây kem

x= 35°C → y = Bán được 130 cây kem

x= 40°C → y = Bán được 160 cây kem

55067522228_56ffeb6e21_o.jpg


Đầu vào là tập huấn luyện (Training set) bạn đưa cho máy học:

+ x= 25°C → y = Bán được 50 cây kem

+ x= 30°C → y= Bán được 90 cây kem

Máy rút ra quy luật rằng: Trời càng nóng thì càng bán nhiều kem, tăng 5°C có thể bán được thêm 40 cây kem.

Đầu vào sau đó là tập kiểm định (Validation/Test set) để xem đánh giá của máy hoàn chỉnh chưa:

+ x= 35°C → y = ?

+ x= 40°C → y = ?

Đầu ra (kết quả dự đoán) dựa vào quy luật đã học, máy dự đoán:

+ 35°C → khoảng 130 cây kem

+ 40°C → khoảng 170 cây kem

Đánh giá kết quả khi so sánh với dữ liệu thực tế:

+ 35°C: dự đoán 130 cây → đúng

+ 40°C: dự đoán 170 cây, thực tế 160 cây → gần đúng

Kết quả: Điều này cho thấy mô hình hiểu khá đúng mối quan hệ giữa nhiệt độ và số kem bán được, nhưng vẫn còn sai số. Tập kiểm tra chỉ dùng để đánh giá, không dùng trực tiếp để máy học. Nếu kết quả chưa tốt, người ta sẽ quay lại huấn luyện và điều chỉnh mô hình, rồi kiểm tra lại.

Mục đích của việc chia dữ liệu là đảm bảo mô hình không chỉ nhớ dữ liệu cũ mà còn dự đoán tốt cho dữ liệu mới. Nếu mô hình dự đoán tốt trên tập kiểm tra thì học đúng bản chất, ngược lại là học chưa tốt.

Bước 2: Huấn luyện mô hình

Sau khi chia dữ liệu xong, ta chọn 1 thuật toán của hồi quy bất kỳ. Ở bài học này, tôi chọn thuật toán hồi quy tuyến tính (Linear Regression), đây là một thuật toán mà ta vẽ nhiều điểm (Dấu chấm) là dữ liệu thật và để xem chúng có xu hướng đi theo một hướng chung hay không. Đường đi gần các chấm nhất nghĩa là dự đoán sai ít nhất so với giá trị thật.

55067646504_0cc3eb220e_o.jpg


Nhiệm vụ của thuật toán là:

+ Tìm một hàm số (Đường thẳng)

+ Sao cho dự đoán gần với giá trị thật nhất (Tức là sai số trung bình là nhỏ nhất)

Ví dụ về cách tìm một hàm số (Đường thẳng) trong bài toán:

55066167617_9d1a96ac80_o.png



Bước 1: Nhìn bảng dữ liệu ban đầu (Tập huấn luyện)

+ x = nhiệt độ

+ y = doanh số bán kem

Máy dự đoán: Trời càng nóng thì người ta càng mua nhiều kem.

Mỗi dòng là 1 ngày:

51° → bán được 1 cây kem

81° → bán được 30 cây kem

Bước 2: Vẽ các điểm lên biểu đồ

Trục X: nhiệt độ

Trục Y: số kem bán được

Mỗi cặp (x, y) là 1 chấm trên biểu đồ. Trong biểu đồ thể hiện các chấm đi lên dần thì nhiệt độ tăng thì doanh số cũng tăng.

55067319649_d1fd4d9656_o.png


Bước 3: Kẻ đường thẳng "đại diện".


Dựa trên tập huấn luyện, máy đúc kết ra một công thức toán là: F(x) = x - 50

55066823122_54c695deb6_o.jpg


Máy đúc kết ra một công thức toán để dự đoán trường hợp là: F(x) = x - 50

51° → bán được 1 cây kem: F(51) = 51 - 50 = 1 (Đúng dữ liệu thực tế = 1)

65° → bán được 1 cây kem: F(65) = 65 - 50 = 15 (Gần đúng dữ liệu thực tế = 14)

69° → bán được 1 cây kem: F(69) = 69 - 50 = 19 (Gần đúng dữ liệu thực tế = 20)

72° → bán được 1 cây kem: F(72) = 72 - 50 = 22 (Gần đúng dữ liệu thực tế = 23)

75° → bán được 1 cây kem: F(75) = 75 - 50 = 25 (Gần đúng dữ liệu thực tế = 26)

81° → bán được 1 cây kem: F(81) = 81 - 50 = 31 (Gần đúng dữ liệu thực tế = 30)

Máy sẽ vẽ một đường thẳng đi gần các điểm nhất. Đường này gọi là đường dự đoán xu hướng biểu diễn công thức đoán hàm của bài toán, trong bài công thức là F(x) = x - 50. Ý nghĩa của đường này là "Nếu biết nhiệt độ, ta đoán được bán khoảng bao nhiêu kem"

55067071431_ec5c7f4e8b_o.png


Bước 4: So sánh thực tế và dự đoán

Đưa 1 tệp kiểm định vào và cho máy dự đoán. Ở bảng so sánh này, 1 bảng có 3 cột là:


+ x: nhiệt độ

+ y thực tế: số kem bán thật

+ F(x) - ỹ dự đoán: số kem máy tính đoán theo đường thẳng

Ví dụ:

+ Nhiệt độ 67°

+ Bán thật: 14

+ Dự đoán: 17

55067256828_20976dfe25_o.png


Bước 5: Nhìn biểu đồ đánh giá mô hình

Dự đoán áp dụng công thức F(x) = x - 50 để áp dụng tệp kiểm định:


52° → bán được 2 cây kem: F(52) = 52 - 50 = 2 (Đúng dữ liệu thực tế = 0)

67° → bán được 17 cây kem: F(67) = 67 - 50 = 17 (Gần đúng dữ liệu thực tế = 14)

70° → bán được 20 cây kem: F(70) = 70 - 50 = 20 (Gần đúng dữ liệu thực tế = 23)

73° → bán được 23 cây kem: F(73) = 73 - 50 = 23 (Gần đúng dữ liệu thực tế = 22)

78° → bán được 28 cây kem: F(78) = 78 - 50 = 28 (Gần đúng dữ liệu thực tế = 26)

83° → bán được 33 cây kem: F(83) = 83 - 50 = 33 (Gần đúng dữ liệu thực tế = 36)

Kết quả có thể lệch chút, nhưng không lệch quá xa. Kết luận máy học dự đoán ổn.

55067256968_0022480df6_o.png


+ Ta biểu diễn công thức F(x) = x - 50 dưới dạng đường thẳng nét đứt.

+ Giá trị dự đoán F(x) là các dấu chấm trên đường thẳng.

+ Giá trị thực tế y là các dấu chấm lệch khỏi đường thẳng.

+ Khoảng cách giữa y và F(x) là một sai số dự đoán.

Nhìn vào biểu đồ khoảng cách càng ngắn, mô hình càng tốt. Mức độ chênh lệch giữa dữ liệu thực và dữ liệu dự đoán mới là thứ ta đánh giá.

Sai số = y - F(x)

55068149740_8d5b8467f9_o.jpg

Sai số của mỗi ngày:

+ Ngày 1: Sai 2 cây

+ Ngày 2: Sai 3 cây

+ Ngày 3: Sai 3 cây

+ Ngày 4: Sai 1 cây

+ Ngày 5: Sai 2 cây

+Ngày 6: Sai 3 cây

Bước 6: Chỉ số đánh giá mô hình

+ MAE - Sai số trung bình


55068050774_2f4e279b8b_o.jpg


Lấy độ lệch tuyệt đối từng dòng, tính giá trị trung bình:

MAE = (2 + 3 + 3 + 1 + 2 + 3) / 6 = 2.33
Kết luận:

MAE cho biết trung bình mỗi ngày máy đoán sai bao nhiêu cây kem, không quan tâm đoán dư hay đoán thiếu. Trung bình mỗi ngày mô hình đoán lệch khoảng 2 đến 3 cây kem.

+ MSE bình phương sai số để lỗi lớn bị phạt nặng hơn lỗi nhỏ, buộc mô hình tránh những dự đoán sai lệch quá nhiều. Vì bình phương làm lỗi lớn tăng rất nhanh, nên mô hình bị phạt nặng khi sai nhiều và buộc phải ưu tiên sửa những lỗi lớn trước.

Công thức của MSE:

55067821051_8fc8328c65_o.jpg

Trong đó:

yi: giá trị thực tế

ỹi: giá trị mô hình dự đoán

n: số mẫu dữ liệu

Cách tính là mũ hai sai số lên:

55068067199_c511563b20_o.jpg


Cho ra các giá trị bình phương là: 4, 9, 9, 1, 4, 9

MSE = (4 + 9 + 9 + 1 + 4 + 9) / 6 = 6
Kết luận:

Bằng cách tính sai số bình phương (MSE) là mỗi lần dự đoán sai, lấy (y−ỹ)^2, nên sai càng nhiều thì giá trị phạt càng lớn. Sai càng nhiều thì giá trị (y−ỹ)^2 càng lớn, làm MSE tăng mạnh, nên mô hình bị đánh giá kém hơn và buộc phải điều chỉnh lại để giảm lỗi đó. MSE chỉ bằng 0 khi mô hình dự đoán đúng hoàn toàn, tức là với mọi dữ liệu thì y^=y\hat y = yy^=y và không còn sai số nào nữa.

+ Root Mean Squared Error (RMSE) – Sai bao nhiêu cây kem (phiên bản dễ hiểu của MSE)

Vì MSE đã bình phương sai số nên đơn vị không còn là "cây kem". Con số 6 chỉ là một điểm số. Để quay lại đơn vị ban đầu, ta lấy căn bậc hai của MSE:

RMSE = √6 ≈ 2.45 cây​

Ý nghĩa: Trung bình mỗi ngày, mô hình dự đoán sai khoảng 2.45 cây kem.

RMSE phạt lỗi lớn giống MSE. Nhưng dễ hiểu hơn vì cùng đơn vị với dữ liệu gốc

+ R² (R-squared)

Mô hình dùng R² giải thích được bao nhiêu phần biến động doanh số kem?

R² = 1 → Mô hình dự đoán hoàn hảo

R² = 0 → Mô hình vô dụng

Cách tính R²:

55068175354_c31fe67ed9_o.jpg


Xem lại dữ liệu trong bài toán:

55067256828_20976dfe25_o.png


Bước 1: Tính giá trị trung bình y thực tế

ỹ = (0 + 14 + 23 + 22 + 26 + 36) / 6 = 20.17
Giá trị trung bình ȳ đại diện cho cách dự đoán ngu nhất nhưng hợp lý: "Mỗi ngày tôi không quan tâm nhiệt độ, cứ đoán bán khoảng 20 cây kem." Đây gọi là baseline (mốc so sánh)
Bước 2: Tính tử số - Lỗi mô hình

55068188754_d0a544f380_o.jpg


Tổng:

Tử số = 4 + 9 + 9 + 1 + 4 + 9 = 36​

Đây là tổng sai số của mô hình. Mô hình đoán lệch bao nhiêu so với thực tế. Trong 6 ngày kiểm tra, nếu cộng tất cả các lỗi dự đoán (và phạt lỗi lớn nặng hơn bằng cách bình phương), thì mô hình sai tổng cộng 36 đơn vị lỗi.
Bước 3: Tính mẫu số – Độ lung tung của dữ liệu

55068127198_6625b3447d_o.jpg


ỹ = 20.17

Tính từng dòng một:

+ y = 0 -> y - ỹ = 0 - 20.17 = -20.17

Bình phương :(y - ỹ)^2 = (-20.17)^2 = 406.8

+ y = 14 -> y - ỹ = 14 - 20.17 = -6.17

Bình phương :(y - ỹ)^2 = (-6.17)^2 = 38.1

+ y = 23 -> y - ỹ = 23 - 20.17 = 2.83

Bình phương :(y - ỹ)^2 = 2.83^2 = 8.0

+ y = 22 -> y - ỹ = 22 - 20.17 = 1.83

Bình phương :(y - ỹ)^2 = 1.83^2 = 3.3
+ y = 26 -> y - ỹ = 26 - 20.17 = 5.83

Bình phương :(y - ỹ)^2 = 15.83^2 = 250.7

+ y = 36 -> y - ỹ = 36 - 20.17 = 15.83

Bình phương :(y - ỹ)^2 = 2.83^2 = 8.0

Tổng:

Mẫu số = 406.8 + 38.1 + 8.0 + 3.3 + 34.0 + 250.7 ≈ 740.9​

Đây là mức độ biến động tự nhiên của doanh số kem. Nếu không dùng mô hình, mà mỗi ngày chỉ đoán doanh số bằng giá trị trung bình (tức là ngày nào cũng đoán bán khoảng 20 cây kem, coi đó như một mốc so sánh), thì tổng mức sai lệch giữa dự đoán và thực tế có thể lên tới 740.9.

Con số này thể hiện độ khó của bài toán: Dữ liệu càng biến động mạnh thì việc dự đoán càng khó, và việc chỉ đoán bằng trung bình sẽ dẫn đến sai số rất lớn.
Bước 4: Thay vào công thức R²

R² = 1 - (Tử số/ Mẫu số)

R² = 1 - (36/ 740.9) ≈ 0.95 = 95%

Trong đó, (Tử số/ Mẫu số) biểu diễn tỷ lệ sai số của mô hình so với mức biến động tự nhiên của dữ liệu. Giá trị 1 đại diện cho 100% tổng biến động của doanh số.
Do R² đo lường phần biến động mà mô hình giải thích được, nên ta lấy 1 trừ đi tỷ lệ sai số. Trong bài toán này, mô hình chỉ còn sai khoảng 5%, tương ứng với việc giải thích được 95% sự thay đổi doanh số kem.

Kết luận: Mô hình dự đoán tốt doanh số kem; phần biến động còn lại (khoảng 5%) đến từ các yếu tố ngoài mô hình như mưa, lễ hội hoặc yếu tố ngẫu nhiên.

Bước 7: Huấn luyện lặp - Iterative training

Trong thực tế, không ai huấn luyện mô hình 1 lần là xong. Người làm dữ liệu sẽ thử đi thử lại nhiều lần, mỗi lần đổi một chút, rồi xem mô hình có dự đoán tốt hơn không. Mỗi lần thử, người ta có thể thay đổi 3 thứ:

Chọn dữ liệu đầu vào (Feature selection):

"Mình cho mô hình xem những thông tin nào?"

Ví dụ bán kem: Ban đầu chỉ dùng nhiệt độ

Thử thêm:

+ Độ ẩm

+ Cuối tuần / ngày thường

+ Có lễ hội hay không

Mục đích: Cho mô hình nhiều thông tin hợp lý hơn → đoán có thể chính xác hơn

Đổi thuật toán:

"Cho mô hình học theo cách nào?"

+ Lần 1: Hồi quy tuyến tính (đường thẳng)

+ Lần 2: Hồi quy đa thức (đường cong)

+ Lần 3: Cây quyết định, Random Forest...

Mục đích: Mỗi thuật toán nhìn dữ liệu theo cách khác nhau

Chỉnh tham số của thuật toán (Hyperparameters)

"Cho mô hình học nhanh hay chậm? đơn giản hay phức tạp?"

Ví dụ:

+ Cho đường cong uốn nhiều hay ít

+ Cho cây quyết định sâu hay nông

Mục đích: Chỉnh để tránh học quá ngu hoặc quá nhớ dữ liệu cũ

Sau mỗi lần thử → làm gì?

+ Dự đoán lại

+ Tính MAE, RMSE, R²

+ So sánh kết quả

Mục đích: Mô hình nào có chỉ số tốt nhất và phù hợp thực tế thì giữ

Kết luận:

Iterative training là quá trình thử nhiều lần với dữ liệu, thuật toán và tham số khác nhau, mỗi lần đánh giá lại mô hình, để chọn ra mô hình dự đoán tốt nhất.
 

Những người đang xem chủ đề này

Xu hướng nội dung

Back