Báo cáo thí nghiệm trí tuệ nhân tạo đề tài tìm hiểu thuật toán knn vàứng dụng dự báo thời tiết

43 0 0
Báo cáo thí nghiệm trí tuệ nhân tạo đề tài tìm hiểu thuật toán knn vàứng dụng dự báo thời tiết

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Các ứng dụng của ML đ愃̀ quá quen thuô ̣c với con người: xe tự hành của Google và Tesla, hệ thống tự tag khuôn mặt trên Facebook, hệ thống gợi ý sản phẩm của Amazon, hệ thống gợi ý phim

Trang 1

TRƯỜNG ĐẠI HỌC

KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO THÍ NGHIỆM/ THỰC NGHIỆMHỌC PHẦN: TRÍ TUỆ NHÂN TẠO

ĐỀ TÀI: TÌM HIỂU THUẬT TOÁN KNN VÀỨNG DỤNG DỰ BÁO THỜI TIẾT

Sinh viên thực hiện :

Hà Nội, 2023

Trang 2

LỜI MỞ ĐẦU

Trí tuệ nhân tạo tiếng anh là Artificial intelligence – viết tắt là AI Chúng ta

có thể hiểu đó như là một ngành của khoa học máy tính Con người lập trình nên nó với mục đích để giúp máy tính có thể thực hiện các hành vi thông minh và xử lý các yêu cầu giống như con người.

Những năm gần đây, AI nổi lên như mô ̣t bằng chứng của cuô ̣c cách mạng công nghiệp lần thứ tư Theo đà phát triển của công nghệ, ứng dụng trí tuệ nhân tạo luôn là xu hướng công nghệ tương lai mà các h愃̀ng công nghệ trên toàn thế giới đua nhau sáng tạo, nó là nền tảng cốt lõi của cuốc cách mạng công nghệ 4.0 Hầu hết mọi nghành công nghiệp đang làm việc với hàm lượng lớn dữ liệu đều nhận ra tầm quan trọng của công nghệ ML Những cái nhìn sáng suốt từ nguồn dữ liệu này – chủ yếu dạng thời gian thực – sẽ giúp các tổ chức vận hành hiệu quả hơn hoặc tạo lợi thế cạnh tranh so với các đối thủ Các ứng dụng của ML đ愃̀ quá quen thuô ̣c với con người: xe tự hành của Google và Tesla, hệ thống tự tag khuôn mặt trên Facebook, hệ thống gợi ý sản phẩm của Amazon, hệ thống gợi ý phim của Netflix…, chỉ là mô ̣t vài trong vô vàn những ứng dụng của trí tuệ nhân tạo và cụ thể là ML.

Nhằm vận dụng những kiến thức đ愃̀ học để áp dụng vào thực tế, trong bài tập lớn này chúng em đ愃̀ nghiên cứu ứng dụng của trí tuệ nhân tạo trong việc dự báo thời tiết và thuật toán được sử dụng đó là thuật toán KNN- (K-Nearest Neighbors) được viết bằng ngôn ngữ Python.

Với sự hướng dẫn, động viên tận tình của cô Nguyễn Lan Ann, chúng em đ愃̀ hiểu được cách thức hoạt động của thuật toán và hoàn thành bài báo cáo này Vì lượng kiến thức và trình độ chuyên môn có hạn nên trong tài liệu không tránh khỏi những sai sót, nhóm sinh viên chúng em rất mong nhận được sự góp ý từ cô và bạn đọc để đề tài của chúng em được hoàn thiện hơn.

Nhóm chúng em xin chân thành cảm ơn.

Trang 3

MỤC LỤC

Lời mở đầu

Mục lục

Chương 1 Giới thiệu về đề tài

1.1 Tình hình nghiên cứu ở trong và ngoài nước

1.1.1 Tình hình nghiên cứu ở nước ngoài

1.1.2 Tình hình nghiên cứu tại Việt Nam

1.2 Tính cấp thiết của đề tài

1.3 Mục tiêu

1.4 Nội dung

1.5 Cách tiếp cận và phương pháp nghiên cứu

Chương 2 Cơ sở lý thuyết 10

2.1 Giới thiệu về học máy (Machine Learning) 10

2.2 Quy trình xây dựng mô hình machine learning 11

2.3 Các loại học máy 11

2.4 Ứng dụng của Machine Learning 12

Chương 3: Một số thuật toán cơ bản của Machine Learning 15

3.1 Thuật toán Random forest 15

3.1.1 Thuật toán ID3

3.1.2 Thuật toán C4.5

3.1.3 Tiêu chuẩn dừng

3.2 Thuật toán phân loại Bayes (Naive Bayes) 23

Trang 4

3.2.2 Phân lớp Bayes (Naive Bayes)

3.2.3 Khắc phục vấn đề xác suất điều kiện bằng zero

3.2.4 Ứng dụng

3.2.5 Ưu điểm và nhược điểm

3.3 Thuật toán SVM (Support Vector Machine) 27

3.3.1 Định nghĩa SVM

3.3.2 Margin trong SVM

3.4 Thuật toán KNN (K-Near Neighbors) 30

3.4.1 Bài toán đặt ra

3.4.2 Ý tưởng của KNN

3.4.3 Ưu nhược điểm

Chương 4 Ứng dụng K-Near Neighbors vào bài toán dự báo thời tiết 34

4.1 Thuật toán 34

4.1.1 Lý do chọn thuật toán K-Near Neighbors

4.1.2 Các bước thực hiện thuật toán K-Near Neighbors

4.2 Quy trình thực hiện 35

4.2.1 Thu thập dữ liệu

4.2.2 Cài đặt thuật toán

Trang 6

CHƯƠNG 1 GIỚI THIỆU VỀ ĐỀ TÀI

1.1 Tình hình nghiên cứu ở trong và ngoài nước1.1.1 Tình hình nghiên cứu ở nước ngoài

Từ nhiều năm về trước vấn đề về thời tiết là điều vô cùng quan trọng và cấp thiếtđối với mỗi cá nhân cũng như toàn x愃̀ hội Các nhà khoa học và công nghệ đ愃̀ đẩymạnh công tác nghiên cứu ra các công nghệ dự báo thời tiết nhằm khai thác và pháthuy tiềm năng công nghệ, kỹ thuật hiện có, đào tạo nguồn nhân lực, ứng dụng có hiệuquả để có thể tạo ra được những ứng dụng dự báo thời thiết chính xác nhất Trên thếgiới cũng đ愃̀ phát minh ra nhiều ứng dụng dự báo thời tiết như Yahoo Weather,AccuWeather, Weather forecast, Dark Sky hay một số trang web dự báo thời tiết cậpnhật từng thời điểm, địa điểm rõ ràng.

1.1.2 Tình hình nghiên cứu tại Việt Nam

Ông bà ta đ愃̀ biết đến ngành khoa học thần bí "Dự báo thời tiết" thông qua nhữngkinh nghiệm bản thân, đưa ra những phán đoán tương lai.

- “Nào ai chài lưới ra khơi

Thấy mây đỏ ngọn thì bơi thuyền vào”

- “Chuồn chuồn bay thấp thì mưa Bay cao thì nắng, bay vừa thì râm”

Với yêu cầu cao trong các thông tin dự báo thời tiết của x愃̀ hội, Việt Nam đ愃̀ từngbước hiện đại hóa những công nghệ được đầu tư có trọng điểm, chuyên sâu giúp dựbáo kịp thời, chính xác nhiệt độ, nắng, mưa, tốc độ gió,… Bên cạnh đó, nước ta đ愃̀ chủđộng hợp tác với quốc tế để xây dựng nâng cấp các hệ thống dự báo, đạt được hiệu quảtốt nhất phục vụ cho đất nước.

1.2 Tính cấp thiết của đề tài

Dự báo thời tiết có một vai trò to lớn trong đời sống kinh tế, x愃̀ hội Dự báo đúng sẽgiúp con người đưa ra những quyết định đúng đắn, dự báo sai có thể sẽ là những hậuquả vô cùng khủng khiếp.

Trong những năm gần đây, vấn đề về thời tiết là điều mà ai cũng đang quan tâm,đặc biệt là các nhà nghiên cứu về khí hậu nước ta cũng như trên thế giới Cũng đ愃̀ có

Trang 7

nhiều sản phẩm công nghệ ra đời để dự báo về thời tiết tuy nhiên sự đổi mới của côngnghệ cùng với những phát triển về khoa học công nghệ thì ngày càng mong muốnnhiều sản phẩm ra đời để giúp dự báo được các thông tin về thời tiết chính xác nhất.

Trên thực tế, khi mà chúng ta không đưa ra được dự báo có tỷ lệ chính xác lớn nhấtthì sẽ xảy ra nhiều rủi ro ảnh hưởng đến nhiều lĩnh vực như nông nghiệp, nuôi trồngthủy sản, cơ sở hạ tầng đặc biệt là sức khỏe của con người Từ thực tế đó, chúng ta cầntìm ra giải pháp và thiết kế xây dựng mô hình dự báo thời tiết để đưa các thông tin dựbáo thời tiết chính xác nhất.

Với ý nghĩa đó, chúng em lựa chọn đề tài “Xây dựng hệ thống dự báo thời tiết bằng

thuật toán KNN” để tiết kiệm thời gian, công sức cho mọi người cũng như dễ dàng

theo dõi thời tiết.

- Làm quen với ngôn ngữ lập trình Python.

- Xây dựng được chương trình dự báo thời tiết đơn giản sử dụng thuật toán KNN.

1.4 Nội dung

Quyển báo cáo gồm 3 chương:

 Chương 1: Giới thiệu về đề tài.

Giới thiệu chung về đề tài, tìm hiểu về tình hình trong và ngoài nước về vấn đề dựbáo thời tiết, tính cấp thiết của đề tài, từ đó đưa ra mục tiêu và phương pháp nghiên cứuđề tài.

 Chương 2: Cơ sở lý thuyết.

Tìm hiểu về các thuật toán học máy cơ bản, từ đó chọn thuật toán phù hợp nhất vớiđề tài thực nghiệm.

Trang 8

 Chương 3: Ứng dụng thuật toán K-Near Neighbors (KNN) vào bài toán dự báo thời tiết.

Chương này áp dụng thuật toán KNN để giải quyết bài toán dự báo thời tiết, thuthập dữ liệu thời tiết, xây dựng một chương trình đơn giản để xử lý dữ liệu và đưa radự đoán về thời tiết.

1.5 Cách tiếp cận và phương pháp nghiên cứu

Thu thập dữ liệu: Thu thập dữ liệu về thời tiết trên trang web:

Tham khảo đề tài: https://viblo.asia/p/machine-learning-thu-lam-nha-thien-van-du-bao-thoi-tiet-djeZ1xYmKWz

Công cụ thực nghiệm: Sử dụng ngôn ngữ Python, sử dụng các gói numpy vàpandas, tensorflow , matplotlib.pyplot

Môi trường thực nghiệm: Sử dụng IDE Visual Studio Code.

Phương pháp nghiên cứu: Thu thập, đánh giá, thí nghiệm/ thực nghiệm.

Trang 9

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT

2.1 Giới thiệu về học máy (Machine Learning)

Machine learning (máy học) là 1 nhánh con của trí tuệ nhân tạo (AI) và khoa

học máy tính Machine learning sử dụng data, thuật toán đầu vào để tự xử lý các vấn đề và liên tục tối ưu để tạo ra những phương án xử lý mới, hiệu quả hơn; giống như cách thức tự học của n愃̀o bộ con người.

Machine learning còn là một thành phần quan trọng của lĩnh vực khoa học dữ liệu đang phát triển Thông qua việc sử dụng các phương pháp thống kê, các thuật toán được đào tạo để đưa ra các phân loại hoặc dự đoán và khám phá những thông tin chi tiết từ chính các dự án khai thác dữ liệu

Máy học là sự tự động của quy trình học và việc học thì tương đương với việc xây dựng những luật dựa trên việc quan sát trạng thái trên cơ sở dữ liệu và những sự chuyển hoá của chúng Đây là lĩnh vực rộng lớn không chỉ bao gồm việc học từ mẫu, mà còn học tăng cường, học với “thầy”,

Các thuật toán học lấy bộ dữ liệu và những thông tin quen thuộc của nó khi nhập và trả về một kết quả câu nói hay một câu ví dụ, một khái niệm để diễn tả những kết quả học.

Máy học kiểm tra những ví dụ trước đó và kiểm tra luôn cả những kết quả của chúng khi xuất và học làm cách nào để tái tạo lại những kết quả này và tạo nên những sự tổng quát hóa cho những trường hợp mới.

Nói chung, máy học sử dụng một tập hữu hạn dữ liệu được gọi là tập huấn luyện Tập này chứa những mẫu dữ liệu mà nó được viết bằng m愃̀ theo một cách nào đó để máy có thể đọc và hiểu được Tuy nhiên, tập huấn luyện bao giờ cũng hữu hạn do đó không phải toàn bộ dữ liệu sẽ được học một cách chính xác.

Một tiến trình máy học gồm 2 giai đoạn:

- Giai đoạn học (learning): hệ thống phân tích dữ liệu và nhận ra sự mối quan

Trang 10

việc học có thể là: nhóm các đối tượng vào trong các lớp, tạo ra các luật, tiên đoán lớp cho các đối tượng mới.

- Giai đoạn thử nghiệm (testing): Mối quan hệ (các luật, lớp ) được tạo ra phải được kiểm nghiệm lại bằng một số hàm tính toán thực thi trên một phần của tập dữ liệu huấn luyện hoặc trên một tập dữ liệu lớn.

2.2 Quy trình xây dựng mô hình machine learning

Quy trình xây dựng mô hình machine learning gồm: - Thu thập dữ liệu: Thu thập dữ liệu để mô hình học.

- Chuẩn bị dữ liệu: Xử lý và đưa dữ liệu về định dạng tối ưu, trích chọn đặc trưng hoặc giảm chiều dữ liệu.

- Chọn mô hình : xác định kết quả bạn nhận được, sau khi khởi chạy một thuật toán học máy dựa trên dữ liệu nhận được.

- Huấn luyện mô hình: Tại pha này, thuật toán machine learning thực hiện việc học thông qua các ví dụ đ愃̀ được thu thập và chuẩn bị từ hai bước trên.

- Đánh giá mô hình: Kiểm thử mô hình để đánh giá xem chất lượng của mô hình tốt đến đâu.

- Tinh chỉnh chỉnh tham số : Sau khi bạn đ愃̀ huấn luyện và đánh giá được mô hình Machine Learning của mình, bạn có thể điều chỉnh lại tham số nếu cần để tăng độ chính xác cho hệ thống.

2.3 Các loại học máy

Các mô hình học máy được chia thành ba loại chính:

* Máy học có giám sát

- Học có giám sát được hiểu là cách sử dụng các tập dữ liệu được gắn nh愃̀n để huấn luyện thuật toán phân loại hoặc dự đoán kết quả một cách chính xác.

Trang 11

- Học tập có giám sát giúp các tổ chức giải quyết nhiều vấn đề trong thực tế trên quy mô lớn Một số phương pháp được sử dụng trong học có giám sát bao gồm mạng nơ-ron, mô hình phân lớp (Naive bayes), hồi quy tuyến tính, hồi quy logistic, rừng ngẫu nhiên (Random forest) và máy hỗ trợ vectơ (SVM - support vector machine ).

* Học máy không giám sát

- Học không giám sát, còn được gọi là học máy không giám sát, sử dụng các thuật toán học máy để phân tích và phân cụm các tập dữ liệu không được gắn nh愃̀n Các thuật toán này phát hiện ra các mẫu hoặc nhóm dữ liệu ẩn mà không cần sự can thiệp của con người.

- Khả năng phát hiện ra những điểm tương đồng và khác biệt trong dữ liệu của phương pháp này khiến nó trở nên lý tưởng cho việc phân tích dữ liệu khám phá, chiến lược bán chéo, phân khúc khách hàng cũng như nhận dạng hình ảnh và mẫu.

- Nó cũng được sử dụng để giảm số lượng các tính năng trong một mô hình thông qua quá trình giảm kích thước Phân tích thành phần chính (PCA -Principal component analysis) và phân tích giá trị đơn lẻ (SVD - Singular value decomposition) là hai cách tiếp cận phổ biến cho nhiệm vụ này.

- Các thuật toán khác được sử dụng trong học tập không giám sát bao gồm mạng nơ-ron, phân cụm k-means và các phương pháp phân cụm theo xác suất.

* Học tập bán giám sát

- Học tập bán giám sát là sự kết hợp giữa học tập có giám sát và không giám sát Trong quá trình đào tạo, nó sử dụng một tập dữ liệu có nh愃̀n nhỏ hơn học có giám sát để hướng dẫn phân loại, trích xuất tính năng từ một tập dữ liệu lớn hơn, không được gắn nh愃̀n.

- Học bán giám sát có thể giải quyết vấn đề trong trường hợp không có đủ dữ liệu được gắn nh愃̀n cho thuật toán học có giám sát.

2.4 Ứng dụng của Machine Learning

Ngày nay, Machine Learning đ愃̀ được ứng dụng rộng r愃̀i trong rất nhiều lĩnh vực Tuy nhiên, mỗi lĩnh vực thì hình thức sử dụng lại khác nhau cho nên nhiều người vẫn chưa có cái nhìn rõ sự hiện diện về phân nhánh này của AI.

* Giải mã thị trường tài chính

Trang 12

- Thị trường tài chính luôn biến động và nhiều rủi ro đặc biệt là sân chơi chứng khoán Machine Learning không đảm bảo mọi cơ hội đầu tư đều chuẩn xác mà sẽ giúp mỗi quyết định đầu tư giảm thiểu được nhiều nhất các rủi ro này Thông qua quá trình phân tích cặn kẽ, dự đoán nền kinh tế chung dẫn đến mỗi lượt mua, bán là đúng lúc và phù hợp nhất với mức lợi nhuận, rủi ro mà nhà đầu tư mong muốn.

* Thay đổi cục diện ngành nông nghiệp

- Máy bay không người lái được dùng để bón phân đúng theo khu vực được xác định, hệ thống ghi nhận sức khỏe vật nuôi hay quản lý toàn bộ bằng thiết bị số theo tiêu chuẩn quốc tế chính là những ứng dụng rõ nét của ngành nông nghiệp Những công việc tay chân hay lo lắng muôn thuở “trúng mùa thì mất giá” của nhà nông đ愃̀ được giải quyết Nông nghiệp khoác lên mình bộ áo mới, sản xuất tối ưu, tối đa chất lượng sản phẩm và luôn cân bằng được cung cầu.

* Nâng cao hiệu quả và cải thiện chất lượng dịch vụ ngành y tế

- Không quá xa lạ khi máy móc có thể tự phẫu thuật, hay những tổng đài tự động tư vấn sức khỏe cho những bệnh thông thường mà người bệnh không còn mất thời gian đến bệnh viện Ở các nước phát triển, người bệnh sẽ được tư vấn, sắp xếp lịch gặp bác sĩ, chăm sóc trong quá trình hồi phục nhờ ứng dụng của machine learning

- Vì thế bác sĩ/đội ngũ y tế chỉ cần chẩn đoán trực tiếp trong những trường hợp phức tạp giúp cho quá trình sử dụng dịch vụ y tế được đồng bộ

* Cơ quan nhà nước có thể quản lý trật tự xã hội và đảm bảo tình hìnhphát triển đất nước

Machine learning chính là lời giải cho những cơ quan nhà nước hay các doanh nghiệp còn có cấu trúc vận hành quá cồng kềnh Những công việc hành chính lập lại được giải quyết bởi phân loại học tập giám sát hay dự đoán hành vi x愃̀ hội sẽ được dự đoán bởi học tập không giám sát

Trang 13

Thế nên, từng công việc cho đến cả tổ chức sẽ được tinh giản, những biến chuyển trong tương lai được dự đoán trước giúp cho nhà nước có thời gian chuẩn bị kế sách điều phối đất nước tốt hơn và phát triển bền vững hơn.

Trước làn sóng mạnh mẽ này thì ngay cả người tiêu dùng cá nhân cũng nên hiểu và có góc nhìn toàn diện về machine learning Cao hơn bậc hiểu, những nhà quản lý ở đa lĩnh vực cần thẩm thấu cặn kẽ đến vận dụng được vào doanh nghiệp của mình Vì như vậy, nhà quản lý mới có thể hướng dẫn lại cho nhân sự ở cấp dưới, tổ chức vận hành tối ưu, sản phẩm đạt chuẩn tiêu dùng và trụ vững trên thị trường trong dài hạn.

Trang 14

CHƯƠNG 3: MỘT SỐ THUẬT TOÁN CƠ BẢN CỦA MACHINELEARNING

3.1 Thuật toán Random forest

Random Forest là một thuật toán học máy phổ biến thuộc về kỹ thuật học có giám sát Nó có thể được sử dụng cho cả vấn đề Phân loại và Hồi quy trong ML Nó dựa trên khái niệm học tập theo nhóm, là một quá trình kết hợp nhiều bộ phân loại để giải quyết một vấn đề phức tạp và để cải thiện hiệu suất của mô hình

Như tên cho thấy, “Rừng ngẫu nhiên là một bộ phân loại chứa một số cây quyết định trên các tập con khác nhau của tập dữ liệu đ愃̀ cho và lấy giá trị trung bình để cải thiện độ chính xác dự đoán của tập dữ liệu đó.” Thay vì dựa vào một cây quyết định, rừng ngẫu nhiên lấy dự đoán từ mỗi cây và dựa trên đa số phiếu dự đoán, và nó dự đoán kết quả cuối cùng Số lượng cây lớn hơn trong rừng dẫn đến độ chính xác cao hơn và ngăn ngừa vấn đề trang bị quá mức

Sơ đồ dưới đây giải thích hoạt động của thuật toán Rừng ngẫu nhiên:

Random Forest hoạt động trong hai giai đoạn đầu tiên là tạo ra khu rừng ngẫu nhiên bằng cách kết hợp N cây quyết định, và thứ hai là đưa ra dự đoán cho mỗi cây được tạo ra trong giai đoạn đầu tiên

- Quá trình làm việc có thể được giải thích trong các bước và sơ đồ dưới đây:

• Bước 1: Chọn điểm dữ liệu K ngẫu nhiên từ tập huấn luyện.

• Bước 2: Xây dựng cây quyết định liên kết với các điểm dữ liệu đ愃̀ chọn (Tập con)

• Bước 3: Chọn số N cho cây quyết định mà bạn muốn xây dựng • Bước 4: Lặp lại Bước 1 & 2

Trang 15

• Bước 5: Đối với các điểm dữ liệu mới, h愃̀y tìm các dự đoán của từng cây quyết định và gán các điểm dữ liệu mới cho danh mục giành được đa số phiếu bầu.

- Ưu điểm:

 Random Forest có khả năng thực hiện cả hai nhiệm vụ Phân loại và Hồi quy

 Nó có khả năng xử lý các tập dữ liệu lớn với kích thước cao

 Nó nâng cao độ chính xác của mô hình và ngăn chặn vấn đề trang bị quá mức

- Nhược điểm của Rừng ngẫu nhiên

 Mặc dù rừng ngẫu nhiên có thể được sử dụng cho cả nhiệm vụ phân loại và hồi quy, nó không phù hợp hơn cho các nhiệm vụ Hồi quy - Các ứng dụng của Rừng ngẫu nhiên

Chủ yếu có bốn lĩnh vực mà Rừng ngẫu nhiên chủ yếu được sử dụng:  Ngân hàng: Lĩnh vực ngân hàng chủ yếu sử dụng thuật toán này để

xác định rủi ro cho vay

 Y học: Với sự trợ giúp của thuật toán này, các xu hướng bệnh tật và nguy cơ của bệnh có thể được xác định.

 Sử dụng đất: Chúng tôi có thể xác định các khu vực sử dụng đất tương tự bằng thuật toán này.

 Tiếp thị: Các xu hướng tiếp thị có thể được xác định bằng cách sử dụng thuật toán này.

3.1.1 Thuật toán ID3

Giờ chúng ta tìm hiểu cách thức hoạt động của thuật toán cây quyết định thông qua thuật toán đơn giản ID3.

Trang 16

ID3 (J R Quinlan 1993) sử dụng phương pháp tham lam tìm kiếm từ trên xuống thông qua không gian của các nhánh có thể không có backtracking ID3 sử dụng Entropy và Information Gain để xây dựng một cây quyết định.

Ta xét ví dụ 2:

Bạn muốn xem xét sự thành công của một bộ phim thông qua hai yếu tố: diễn viên chính của phim và thể loại phim:

Giả sử, bạn muốn xác định độ thành công của bộ phim chỉ trên 1 yếu tố, bạn sẽ có hai cách thực hiện sau: qua diễn viên chính của phim và qua thể loại phim.

Trang 17

Qua sơ đồ, ta có thể thấy rõ ràng ràng, với phương pháp thứ nhất, ta phân loại được rõ ràng, trong khi phương pháp thứ hai, ta có một kết quả lộn xộn hơn Và tương tự, cây quyết định sẽ thực hiện như trên khi thực hiện việc chọn các biến.

Có rất nhiều hệ số khác nhau mà phương pháp cây quyết định sử dụng để phân chia Dưới đây, tôi sẽ đưa ra hai hệ số phổ biến là InformationGainGain Ratio (ngoài ra còn hệ số Gini).

 Entropy trong Cây quyết định (Decision Tree)

Entropy là thuật ngữ thuộc Nhiệt động lực học, là thước đo của sự biến đổi, hỗn loạn hoặc ngẫu nhiên Năm 1948, Shannon đ愃̀ mở rộng khái niệm Entropy sang lĩnh vực nghiên cứu, thống kê với công thức như sau:

Với một phân phối xác suất của một biến rời rạc x có thể nhận n giá trị khác nhau x1,x2,…,xn.

Giả sử rằng xác suất để x nhận các giá trị này là pi=p(x=xi).

Ký hiệu phân phối này là p = (p1 ,p2 ,…,pn) Entropy của phân phối này được

Trang 18

Hình vẽ trên biểu diễn sự thay đổi của hàm entropy Ta có thể thấy rằng, entropy đạt tối đa khi xác suất xảy ra của hai lớp bằng nhau.

o P tinh khiết: pi = 0 hoặc pi = 1

o P vẩn đục: pi = 0.5, khi đó hàm Entropy đạt đỉnh cao nhất.

 Information Gain trong Cây quyết định (Decision Tree)

Information Gain dựa trên sự giảm của hàm Entropy khi tập dữ liệu được phân chia trên một thuộc tính Để xây dựng một cây quyết định, ta phải tìm tất cả thuộc tính trả về Infomation gain cao nhất.

Để xác định các nút trong mô hình cây quyết định, ta thực hiện tính Infomation Gain tại mỗi nút theo trình tự sau:

Trang 19

- Bước 1: Tính toán hệ số Entropy của biến mục tiêu S có N phần tử với Nc phần tử thuộc lớp c cho trước:

H(S)= – ∑c

c=1 (Nc/N) log(Nc/N)

- Bước 2: Tính hàm số Entropy tại mỗi thuộc tính: với thuộc tính x, các điểm dữ liệu trong S được chia ra K child node S1, S2, …, SK với số điểm trong mỗi child node lần lượt là m1, m2 ,…, mK , ta có:

So sánh kết quả, ta thấy nếu chia theo phương pháp 1 thì ta được giá trị hệ số Information Gain lớn hơn gấp 4 lần so với phương pháp 2 Như vậy, giá trị thông tin ta thu được theo phương pháp 1 cũng nhiều hơn phương pháp 2.

3.1.2 Thuật toán C4.5

Thuật toán C4.5 là thuật toán cải tiến của ID3.

Trang 20

Trong thuật toán ID3, Information Gain được sử dụng làm độ đo Tuy nhiên, phương pháp này lại ưu tiên những thuộc tính có số lượng lớn các giá trị mà ít xét tới những giá trị nhỏ hơn Do vậy, để khắc phục nhược điểm trên, ta sử dụng độ đo Gain Ratio (trong thuật toán C4.5) như sau:

Đầu tiên, ta chuẩn hoá information gain với trị thông tin phân tách (split information):

Trong đó: Split Info được tính như sau:

Giả sử chúng ta phân chia biến thành n nút cón và Di đại diện cho số lượng bản ghi thuộc nút đó Do đó, hệ số Gain Ratio sẽ xem xét được xu hướng phân phối khi chia cây.

Áp dụng cho ví dụ trên và với cách chia thứ nhất, ta có

Split Info = – ((4/7)*log2(4/7)) – ((3/7)*log2(3/7)) = 0.98Gain Ratio = 0.09/0.98 = 0.092

3.1.3 Tiêu chuẩn dừng

Trong các thuật toán Decision tree, với phương pháp chia trên, ta sẽ chia m愃̀i các node nếu nó chưa tinh khiết Như vậy, ta sẽ thu được một tree mà mọi điểm trong tập huấn luyện đều được dự đoán đúng (giả sử rằng không có hai input giống nhau nào cho output khác nhau) Khi đó, cây có thể sẽ rất phức tạp (nhiều node) với nhiều leaf node chỉ có một vài điểm dữ liệu Như vậy, nhiều khả năng overfitting sẽ xảy ra.

Để tránh trường họp này, ta có thể dừng cây theo một số phương pháp sau đây:

Trang 21

• Nếu node đó có entropy bằng 0, tức mọi điểm trong node đều thuộc một class.

• Nếu node đó có số phần tử nhỏ hơn một ngưỡng nào đó Trong trường hợp này, ta chấp nhận có một số điểm bị phân lớp sai để tránh overfitting Class cho leaf node này có thể được xác định dựa trên class chiếm đa số trong node.

• Nếu khoảng cách từ node đó đến root node đạt tới một giá trị nào đó.

Việc hạn chế chiều sâu của tree này làm giảm độ phức tạp của tree và

phần nào giúp tránh overfitting.

• Nếu tổng số leaf node vượt quá một ngưỡng nào đó.

• Nếu việc phân chia node đó không làm giảm entropy quá nhiều (information gain nhỏ hơn một ngưỡng nào đó).

3.2 Thuật toán phân loại Bayes (Naive Bayes)

Bộ phân lớp Bayes là một giải thuật thuộc lớp giải thuật thống kê, nó có thể dự đoán xác suất của một phần tử dữ liệu thuộc vào một lớp là bao nhiêu Phân lớp Bayes được dựa trên định lý Bayes (định lý được đặt theo tên tác giả của nó là Thomas Bayes)

Thuật toán phân loại Naive Bayes là một nhóm các phân loại xác suất đơn giản dựa trên định lý Bayes giả định về việc độc lập giữa các thuộc tính Ngay cả khi, các thuộc tính này có sự tương quan với nhau thì phương pháp này vẫn xem các thuộc tính là độc lập với nhau.

3.2.1 Định lý Bayes

Thuật toán phân loại Naive Bayes là một nhóm các phân loại xác suất đơn giản dựa trên định lý Bayes giả định về việc độc lập giữa các thuộc tính Ngay cả khi, các thuộc tính này có sự tương quan với nhau thì phương pháp này vẫn xem

Ngày đăng: 29/03/2024, 22:22

Tài liệu cùng người dùng

Tài liệu liên quan