.5 Mơ hình bỏ phiếu phân loại của thuật tốn Rừng ngẫu nhiên

Một phần của tài liệu Xây dựng hệ thống AI nhận diện và dự đoán sản lượng điện năng tiêu thụ bất thường của khách hàng (Trang 26 - 31)

Ở bước huấn luyện thì mình sẽ xây dựng nhiều cây quyết định, các cây quyết định cĩ thể khác nhau. Sau đĩ ở bước dự đốn, với một dữ liệu mới, thì ở mỗi cây quyết định mình sẽ đi từ trên xuống theo các điểm nút điều kiện để được các dự đốn, sau đĩ kết quả cuối cùng được tổng hợp từ kết quả của các cây quyết định.

1.3. Thuật tốn Nạve Bayes

1.3.1. Giới thiệu

Naive Bayes Classification (NBC) là một thuật tốn dựa trên định lý Bayes về lý thuyết xác suất để đưa ra các phán đốn cũng như phân loại dữ liệu dựa trên các dữ liệu được quan sát và thống kê. Naive Bayes Classification là một trong những thuật tốn được ứng dụng rất nhiều trong các lĩnh vực Machine learning dùng để đưa các dự đốn chính xác nhất dự trên một tập dữ liệu đã được thu thập, vì nĩ khá dễ hiểu và độ chính xác cao. Nĩ thuộc vào nhĩm Supervised Machine Learning Algorithms (thuật tốn học cĩ hướng dẫn), tức là máy học từ các ví dụ từ các mẫu dữ liệu đã cĩ.

Ví dụ như ta cĩ thể ứng dụng vào việc thiết kế một ứng dụng nghe nhạc cĩ thể phán đốn được sở thích của nghe nhạc của người dùng dựa trên các hành vi như nhấn nút “thích” bài hát, “nghe đi nghe” lại nhiều lần các bài hát “bỏ qua” các bài hát khơng thích …. Dựa trên tập dữ liệu đĩ ta cĩ thể áp dụng NBC để

tính tốn ra các phong cách nhạc mà người dùng thích nhất, từ đĩ chúng ta cĩ thể đưa ra các “gợi ý” nghe nhạc gần đúng nhất cho người dùng từ việc học hỏi từ những thĩi quen đĩ.

1.3.2. Định lý Bayes

Định lý Bayes cho phép tính xác suất xảy ra của một sự kiện ngẫu nhiên A khi biết sự kiện liên quan B đã xảy ra. Xác suất này được ký hiệu là P(A|B), và đọc là "xác suất của A nếu cĩ B". Đại lượng này được gọi là xác suất cĩ điều kiện hay xác suất hậu nghiệm vì nĩ được rút ra từ giá trị được cho của B hoặc phụ thuộc vào giá trị đĩ.

Theo định lý Bayes, xác suất xảy ra A khi biết B sẽ phụ thuộc vào 3 yếu tố:

Xác suất xảy ra A của riêng nĩ, khơng quan tâm đến B. Ký hiệu là P(A) và đọc là xác suất của A. Đây được gọi là xác suất biên duyên hay xác suất tiên nghiệm, nĩ là "tiên nghiệm" theo nghĩa rằng nĩ khơng quan tâm đến bất kỳ thơng tin nào về B.

Xác suất xảy ra B của riêng nĩ, khơng quan tâm đến A. Ký hiệu là P(B) và đọc là "xác suất của B". Đại lượng này cịn gọi là hằng số chuẩn hĩa (normalising constant), vì nĩ luơn giống nhau, khơng phụ thuộc vào sự kiện A đang muốn biết.

Xác suất xảy ra B khi biết A xảy ra. Ký hiệu là P(B|A) và đọc là "xác suất của B nếu cĩ A". Đại lượng này gọi là khả năng (likelihood) xảy ra B khi biết A đã xảy ra. Chú ý khơng nhầm lẫn giữa khả năng xảy ra B khi biết A và xác suất xảy ra A khi biết B.

Khi biết ba đại lượng này, xác suất của A khi biết B cho bởi cơng thức:

𝑃(𝐴|𝐵) =𝑃(𝐵|𝐴)𝑃(𝐴) 𝑃(𝐵) = 𝑙𝑖𝑘𝑒𝑙𝑖ℎ𝑜𝑜𝑑 ∗ 𝑝𝑟𝑖𝑜𝑟 𝑛𝑜𝑟𝑚𝑎𝑙𝑖𝑧𝑖𝑛𝑔𝑐𝑜𝑛𝑠𝑡𝑎𝑛𝑡 Cơn g thức (1.1) Từ đĩ dẫn tới: 𝑃(𝐴|𝐵)𝑃(𝐵) = 𝑃(𝐴⋂𝐵) = 𝑃(𝐵|𝐴)𝑃(𝐴) Cơng thức (1.2) 1.3.3. Cách hoạt động

Bước 1. Gọi D là tập dữ liệu huấn luyện, trong đĩ mỗi phần tử dữ liệu X được biểu diễn bằng một vector chứa n giá trị thuộc tính

𝐴1, 𝐴2… 𝐴𝑛 = {𝑥1, 𝑥2, … 𝑥𝑛} Cơng thức (1.3) Bước 2. Giả sử cĩ m lớp C1, C2…Cm. Cho một phần tử dữ liệu X, bộ phân lớp sẽ gán nhãn cho X là lớp cĩ xác suất hậu nghiệm lớn nhất. Cụ thể, bộ phân lớp Bayes sẽ dự đốn X thuộc vào lớp Ci nếu và chỉ nếu:

𝑃(𝐶𝑖|𝑋) > 𝑃(𝐶𝑗|𝑋) (1 <= 𝑖, 𝑗 <= 𝑚, 𝑖 ! = 𝑗) Cơng thức (1.4) Giá trị này sẽ tính dựa trên định lý Bayes.

Bước 3. Để tìm xác suất lớn nhất, ta nhận thấy các giá trị P(X) là giống nhau với mọi lớp nên khơng cần tính. Do đĩ ta chỉ cần tìm giá trị lớn nhất của P(X|Ci) * P(Ci). Chú ý rằng P(Ci) được ước lượng bằng |Di|/|D|, trong đĩ Di là tập các phần tử dữ liệu thuộc lớp Ci. Nếu xác suất tiền nghiệm P(Ci) cũng khơng xác định được thì ta coi chúng bằng nhau

𝑃(𝐶1) = 𝑃(𝐶2) = . . . = 𝑃(𝐶𝑚) Cơng thức (1.5) khi đĩ ta chỉ cần tìm giá trị P(X|Ci) lớn nhất.

Bước 4. Khi số lượng các thuộc tính mơ tả dữ liệu là lớn thì chi phí tính tồn P(X|Ci) là rất lớn, dĩ đĩ cĩ thể giảm độ phức tạp của thuật tốn Naive Bayes giả thiết các thuộc tính độc lập nhau. Khi đĩ ta cĩ thể tính:

𝑃(𝑋|𝐶𝑖) = 𝑃(𝑥1|𝐶𝑖). . . 𝑃(𝑥𝑛|𝐶𝑖) Cơng thức (1.6)

1.4. Cơng nghệ sử dụng

1.4.1. Nodejs

Node.js là một mơi trường chạy mã nguồn mở, đa nền tảng để phát triển các ứng dụng mạng và phía máy chủ. Các ứng dụng Node.js được viết bằng JavaScript và cĩ thể chạy trong thời gian chạy Node.js trên OS X, Microsoft Windows và Linux.

Node.js chạy cơng cụ JavaScript V8, cốt lõi của Google Chrome, bên ngồi trình duyệt. Node.js cĩ thể tận dụng cơng việc của các kỹ sư đã tạo ra (và tiếp tục tạo) thời gian chạy JavaScript của Chrome cực nhanh và điều này cho phép Node.js hưởng lợi từ những cải tiến hiệu suất đáng kể và quá trình biên dịch Just-In-Time mà V8 thực hiện. Nhờ đĩ, mã JavaScript chạy trong Node.js cĩ thể trở nên rất hiệu quả.

Một số tính năng quan trọng:

− Khơng đồng bộ và theo hướng sự kiện - Tất cả các API của thư viện Node.js là khơng đồng bộ, nghĩa là khơng chặn. Về cơ bản, nĩ cĩ nghĩa là một máy chủ dựa trên Node.js khơng bao giờ đợi API trả về dữ liệu. Máy chủ

chuyển đến API tiếp theo sau khi gọi nĩ và cơ chế thơng báo Sự kiện của Node.js giúp máy chủ nhận được phản hồi từ lệnh gọi API trước đĩ.

− Rất nhanh - Được xây dựng trên Cơng cụ JavaScript V8 của Google Chrome, thư viện Node.js thực thi mã rất nhanh.

− Đơn luồng nhưng cĩ khả năng mở rộng cao - Node.js sử dụng mơ hình một luồng với vịng lặp sự kiện. Cơ chế sự kiện giúp máy chủ phản hồi theo cách khơng bị chặn và làm cho máy chủ cĩ khả năng mở rộng cao so với các máy chủ truyền thống tạo ra các luồng giới hạn để xử lý các yêu cầu. Node.js sử dụng một chương trình luồng đơn và chương trình tương tự cĩ thể cung cấp dịch vụ cho số lượng yêu cầu lớn hơn nhiều so với các máy chủ truyền thống như Apache HTTP Server.

− Khơng đệm - Các ứng dụng Node.js khơng bao giờ đệm bất kỳ dữ liệu nào. Các ứng dụng này chỉ đơn giản xuất dữ liệu theo từng phần.

− Giấy phép - Node.js được phát hành theo giấy phép MIT.

Một số lĩnh vực mà Node.js đang chứng tỏ mình là một đối tác cơng nghệ hồn hảo.

− Các ứng dụng ràng buộc I / O

− Ứng dụng truyền dữ liệu

− Ứng dụng thời gian thực chuyên sâu về dữ liệu (DIRT)

− Ứng dụng dựa trên API JSON

− Ứng dụng trang đơn

1.4.2. Microsoft SQL Server

Microsoft SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ do Microsoft phát triển. Là một máy chủ cơ sở dữ liệu, nĩ là một sản phẩm phần mềm cĩ chức năng chính là lưu trữ và truy xuất dữ liệu theo yêu cầu của các ứng dụng phần mềm khác. Cĩ thể chạy trên cùng một máy tính hoặc trên một máy tính khác trong mạng (bao gồm cả Internet).

Microsoft đưa ra thị trường ít nhất một chục phiên bản Microsoft SQL Server khác nhau, nhắm mục tiêu đến các đối tượng khác nhau và khối lượng cơng việc khác nhau, từ các ứng dụng máy đơn nhỏ đến các ứng dụng Internet lớn với nhiều người dùng đồng thời.

SQL là một ngơn ngữ phi thủ tục và khơng yêu cầu bất kỳ quyền truy cập nào vào cơ sở dữ liệu. Tất cả các thơng điệp SQL đều dễ sử dụng và khơng cĩ lỗi.

− Chèn, xĩa và cập nhật các hàng trong một mối quan hệ

− Chạm, thêm, xĩa và sửa đổi các đối tượng trong cơ sở dữ liệu.

− Kiểm sốt quyền truy cập vào cơ sở dữ liệu và các đối tượng cơ sở dữ liệu để đảm bảo tính bảo mật, tính nhất quán và tính ràng buộc của cơ sở dữ liệu.

Đối tượng của máy chủ SQL là bảng dữ liệu với các cột và hàng. Các cột được gọi là trường dữ liệu và các hàng là các bản ghi của một bảng. Các cột dữ liệu và kiểu dữ liệu xác định tạo nên cấu trúc của bảng.

Khi một bảng được tổ chức thành một hệ thống cho một mục đích cụ thể, nĩ sẽ trở thành một cơ sở dữ liệu.

1.4.3. Angular

Angular là một nền tảng phát triển và khung thiết kế ứng dụng để tạo các ứng dụng một trang hiệu quả và phức tạp.

Các tài liệu Angular này giúp bạn tìm hiểu và sử dụng khung Angular và nền tảng phát triển, từ ứng dụng đầu tiên của bạn đến việc tối ưu hĩa các ứng dụng một trang phức tạp cho doanh nghiệp. Hướng dẫn và hướng dẫn bao gồm các ví dụ cĩ thể tải xuống để tăng tốc các dự án của bạn.

Với cơ chế Single Page, Angular cĩ sức mạnh trong việc xây dựng một website nhanh về mặt tốc độ tải dữ liệu. Việc sử ít chuyển Router cũng giúp trang website ít phải reload giúp chương trình thân thiện người dùng hơn.

➢ Phiên bản Angular

Phiên bản sớm nhất của Angular được đặt tên là Angular 2. Sau đĩ đổi tên thành Angular. Nhĩm Angular sau đĩ đã phát triển một phiên bản thơng thường mới và phiên bản ổn định mới nhất là Angular 11.

Hiện cĩ phiên bản beta của Angular 11 được phát hành vào ngày 25 tháng 1 năm 2022.

Một phần của tài liệu Xây dựng hệ thống AI nhận diện và dự đoán sản lượng điện năng tiêu thụ bất thường của khách hàng (Trang 26 - 31)