Kết quả đánh giá

Một phần của tài liệu uftai-ve-tai-day28698-đã chuyển đổi (Trang 27)

CHƢƠNG 3 : PHƢƠNG PHÁP ĐÁNH GIÁ VÀ KẾT QUẢ

3.4. Kết quả đánh giá

Kết quả sử dụng t-SNE để biểu diễn các điểm dữ liệu trên không gian 2D cho thấy mỗi đặc trƣng khi có độ hiệu quả khác nhau khi phân lập so giữa các hành vi. Ví

dụ: dùng khoảng biến thiên làm đặc trung cho thấy sự tách biệt rõ ràng giữa hai nhóm hành vi động (đi bộ, đi nhanh) và tĩnh (nằm, ngồi, đứng) nhƣng không tách biệt đƣợc các hành vi cụ thể trong mỗi nhóm hành vi trên; đặc trƣng giá trị trung bình tách biệt đƣợc hai hành vi nằm và ngồi, nhƣng không phân biệt đƣợc rõ ràng 3 hành vi còn lại;2 đặc trƣng độ lệch chuẩn và phƣơng sai phân tách tốt đi bộ và đi nhanh, nhƣng cho thấy sự chồng lấn giữa 3 hành vi còn lại. Kết hợp cả 6 đặc trƣng cho sự phân tách tốt nhất giữa các hành vi nhƣ ở hình 3-5.

ình 3-5: Biểu diễn t-SNE khi kết hợp 6 đặc trưng

Dữ liệu cảm biến gia tốc sau khi đƣợc xử lý và trích chọn đặc trƣng sẽ đƣợc sử dụng cho mơ hình huấn luyện để đánh giá độ hiệu quả của các thuật toán phân loại trong bƣớc tiếp theo.

Trong việc đánh giá hiệu quả của một thuật tốn nhất định, ba thơng số thƣờng đƣợc xem xét: Accuracy (độ chính xác), Recall (độ nhạy), Precision (độ chỉ rõ) và F1-

Trong đó:

• True Positives: Tổng các hành vi đƣợc phân loại đúng với nhãn.

• False Negatives: Tổng các hành vi bị phân loại sai thành các hành vi khác. • False Positives: Tổng các hành vi khác bị phân loại thành hành vi đang xem xét. • True Negatives: Tổng các hành vi khác đƣợc phân loại đúng

Phƣơng pháp đánh giá ở phần này đƣợc áp dụng lên hai bộ dữ liệu, gồm bộ dữ liệu có sẵn của J. Wang và bộ dữ liệu thu thập đƣợc từ thực nghiệm với cảm biến đƣợc thiết kế ở trên.

Kết quả đối chiếu mơ hình đã đƣợc phân loại đối với bộ dữ liệu J. Wang cho kết quả độ chỉ rõ của từng thuật toán nhƣ sau:

ảng 3-4: So sánh độ chỉ rõ chung của 4 mơ hình phân loại

Thuật toán Độ chỉ rõ

Gradient Boosted Decision Tree 86.5%

Random Forest 84.7%

Support Vector Machines 80%

k-NN 84%

Dễ thấy ở bảng 3-4, mơ hình phân loại sử dụng thuật tốn GBDT cho kết quả khả quan nhất. Đi sâu vào hiệu quả chi tiết của G DT đối với từng hành vi, ta có ma trận nhầm lẫn sau khi tiến hành đánh giá trên cả 2 bộ dữ liệu ở bảng 3-5 và 3-6. Dễ

thấy rằng các hành vi phân loại chính xác ở mức độ cao, nhƣng cũng có một số phân loại sai về hành vi xảy ra ở hành vi ăn, đứng và đi bộ bình thƣờng.

ảng 3-5: Ma trận nhầm lẫn của thuật toán GBDT đối với từng hành vi cụ thể trên bộ dữ liệu J. Wang Nhãn đúng Dự đoán Ăn Nằm Đứng Đi bình thƣờng Ăn 238 0 97 0 Nằm 4 271 0 0 Đứng 42 0 488 0 Đi bình thƣờng 0 0 0 294

ảng 3-6: Ma trận nhầm lẫn của thuật toán G DT đối với từng hành vi cụ thể trên bộ dữ liệu tự thu thập Nhãn đúng Dự đoán Ăn Nằm Đứng Đi bình thƣờng Ăn 221 0 114 0 Nằm 5 270 0 0 Đứng 33 0 498 1 Đi bình thƣờng 3 0 3 290

Hiệu suất của mơ hình trên cả hai bộ dữ liệu đƣợc đánh giá dựa trên ba chỉ số là độ nhạy, độ chỉ rõ và f1-score nhƣ trong ảng 3-7 và 3-8. Hiệu suất tổng thể của mơ hình GBDT là hợp lý. Độ chính xác là hơn 86% cho tất cả các loại hành vi đƣợc phân loại. Độ chỉ rõ và độ nhạy là tốt cho tất cả các hành vi, trong đó 2 hành vi nằm và đi bình thƣờng. Độ chính xác tốt nhất đạt đƣợc khi nằm, đi bộ bình thƣờng và đi bộ tích cực. Độ chính xác khi cho ăn và đứng thấp hơn một chút, nhƣng tốt hơn đáng kể so với nằm xuống và đứng lên.

ảng 3-7: Hiệu suất tổng thể của mơ hình G DT đối với các hành vi đối với bộ dữ liệu của Jun Wang

Precision Recall F1-score Support

Ăn 0.82 0.89 0.85 244 Nằm 1.00 1.00 1.00 291 Đứng 0.82 0.73 0.78 179 Đi bình thƣờng 1.00 1.00 1.00 294 Micro average 0.92 0.92 0.92 1008 Macro average 0.91 0.90 0.91 1008 Weighted average 0.92 0.92 0.92 1008

ảng 3-8: Hiệu suất tổng thể của mơ hình G DT đối với các hành vi đối với bộ dữ liệu của tự thu thập

Precision Recall F1-score Support

Ăn 0.83 0.68 0.74 335 Nằm 1.00 0.98 1.99 275 Đứng 0.82 0.93 0.87 532 Đi bình thƣờng 0.99 0.98 0.99 296 Micro average 0.89 1438 Macro average 0.91 0.89 0.90 1438 Weighted average 0.89 0.89 0.89 1438 3.5. Nhận xét

Mơ hình dự đốn đƣợc trình bày ở trên cho kết quả khả quan trong việc nhận dạng các thay đổi hành vi bằng cách sử dụng dữ liệu gia tốc kế. Độ chính xác và hiệu suất phân loại tổng thể là rất tốt cho tất cả các loại hành vi. Độ chính xác của mơ hình đƣợc thể hiện khá tốt cho các hành vi nằm, đứng, ăn, đi bộ bình thƣờng, đi bộ tích cực.

Đối với 2 hành vi đứng lên và nằm xuống, bộ phân loại không cho kết quả khả quan bằng và có vẻ hay nhầm lẫn giữa hai hành vi này. Mặt khác, các giá trị độ nhạy thƣờng cao, có nghĩa là khơng có nhiều trƣờng hợp âm tính đƣợc phân loại sai thành dƣơng tính. Hiệu suất của thuật tốn G DT nhƣ trong ảng 3-4 cao hơn so với các kết quả trƣớc đây của Jun Wang et al. (2018), ngoại trừ 2 hành vi nằm xuống và đứng lên. Kết quả kém của việc phân biệt trạng thái nằm và đứng cho thấy rằng các thông số khác nhau (ví dụ: cửa sổ thời gian giá trị khác thay vì 16 giây) nên đƣợc áp dụng cho quá trình tiền xử lý dữ liệu, tùy thuộc vào các đặc điểm của hành vi đƣợc quan sát. Nhƣng trong ứng dụng thực tế, khi trạng thái đứng lên và nằm xuống không xảy ra thƣờng xuyên nhƣ các trạng thái khác và có ảnh hƣởng nhỏ đến dự đốn sức khỏe của bị, kết quả tốt của mơ hình phân loại trên trong việc dự đốn 5 trạng thái cịn lại dƣờng nhƣ là hợp lý để áp dụng trong hệ thống thực.

CHƢƠNG 4: XÂY DỰNG CHƢƠNG TRÌNH THỬ NGHIỆM QUẢN LÝ VÀ PHÂN LOẠI DỮ LIỆU HÀNH VI

4.1. Nhu cầu và mục tiêu

Giải pháp phân loại hành vi bò sữa bằng học máy, cụ thể là thuật toán Gradient Boosted Decision Tree cho kết quả khả quan. Tuy nhiên khi áp dụng vào thực tế trên đàn bò lớn nảy sinh một số vấn đề.

Thứ nhất, nhu cầu thu thập dữ liệu liên tục trong ngày, nhiều ngày liên tục đối với đàn bị lớn tạo ra lƣợng dữ liệu khơng nhỏ, địi hỏi việc quản lý dữ liệu cảm biến gia tốc một cách tập trung.

Thứ hai, việc thu thập dữ liệu và nạp thành file excel nạp vào thuật toán cho việc phân loại với mơ hình đƣợc huấn luyện sẵn là một q trình mất thủ cơng mất thời gian, không khả thi đối với số lƣợng lớn đối tƣợng gia súc cần theo dõi và phân loại hành vi.

Thứ ba, cách làm thủ công này cũng không đáp ứng đƣợc việc phân loại hành vi trực tiếp theo thời gian thực. Đồng thời kết quả phân tích cũng khơng đƣợc quản lý hiệu quả.

Để giải quyết những vấn đề trên, cần có một hệ thống thơng tin để tiến hành phân loại, quản lý dữ liệu cảm biến, quản lý dữ liệu kết quả. Hệ thống này cần có các mục tiêu sau:

 Nhận dữ liệu cảm biến gia tốc gián tiếp bằng cách thủ công (tải file excel hoặc csv), hoặc trực tiếp từ cảm biến một cách tự động thông qua API.

 Lƣu trữ dữ liệu cảm biến theo từng đối tƣợng gia súc  Tiến hành phân loại hành vi

 Lƣu trữ dữ liệu phân loại hành vi theo từng đối tƣợng gia súc  Thống kê

4.2. Yêu cầu kỹ thuật

a) Yêu cầu chức năng: đảm bảo tính phù hợp; tính chính xác; khả năng hợp tác làm việc; tính an tồn.

b) Yêu cầu về chuẩn tiếng Việt: hỗ trợ chuẩn ngôn ngữ Unicode (tiêu chuẩn TCVN 6909); hỗ trợ tiêu chuẩn Unicode về mặt lƣu trữ dữ liệu, hỗ trợ nhiều bộ gõ khác nhau.

c) Yêu cầu về giao diện ứng dụng phần mềm: thiết kế một cách phù hợp và thống nhất; dễ sử dụng, thơng báo/chú thích rõ ràng; thân thiện với ngƣời dùng.

d) Yêu cầu về hệ thống báo lỗi: cung cấp tính năng báo lỗi chi tiết đến từng tình huống; trong các thơng báo lỗi.

e) u cầu về khả năng thống kê: cung cấp cho ngƣời sử dụng thống kê hoạt động của từng cá thể gia súc, nhằm định tính sức khỏe từng cá thể.

f) Yêu cầu về bảo mật, an toàn, an ninh hệ thống: hệ thống đƣợc thiết kế, xây dựng có khả chống các cuộc tấn cơng cơ bản nhƣ: DOS, DDOS, SQL injection, XSS, giả mạo URL, …

g) u cầu về cơng nghệ: chƣơng trình thử nghiệm phải đƣợc phát triển trên các nền tảng, thƣ viện, ngôn ngữ... phổ biến, đƣợc phát triển, cập nhật và vá lỗi liên tục. Khả năng sẵn sàng (avaibility) của chƣơng trình ở mức tốt và hiệu suất cao. h) Yêu cầu về thiết kế giao diện: Giao diện phải đƣợc thiết kế để phù hợp với nhiều

độ phân giải màn hình khác nhau, phù hợp với chuẩn thiết kế giao diện Web vì thế thiết kế giao diện và các thao tác phải trực quan, đơn giản, dễ nhìn, dễ hiểu. i) Tính mở rộng nâng cấp: giống nhƣ các hệ thống công nghệ thông tin khác, các hệ

thống phải đáp ứng đƣợc yêu cầu mở rộng, nâng cấp trong quá trình vận hành. Phần mềm hệ thống đảm bảo tƣơng thích khi nâng cấp phiên bản. Phần mềm đƣợc xây dựng có thể nâng cấp đáp ứng yêu cầu thay đổi của nghiệp vụ.

4.3. Giải pháp và phân tích lựa chọn

Nhằm đáp ứng các điều kiện trên, luận văn này chọn giải pháp xây dựng chƣơng trình thử nghiệm trên nền web, giao tiếp với ngƣời dùng và nhận dữ liệu từ cảm biến qua giao thức HTTP. Lựa chọn này cho phép giảm gánh nặng phát triển, bảo trì, nâng cấp chƣơng trinh; đồng thời cũng phù hợp với xu hƣớng phát triển nền tảng IoT (Internet of Things), tƣơng thích cao với các cảm biến.

4.3.1. Kiến trúc vật lý của hệ thống

ình 4-1: Kiến trúc vật lý của hệ thống

Tại trang tại:

- Cảm biến gắn ở gia súc truyền dữ liệu gia tốc về máy chủ thông qua HTTP API Tại Trung tâm dữ liệu:

- Máy chủ CSDL sử dụng điều hành Linux (có thể là Debian, Ubuntu, CentOS...) và hệ quản trị CSDL Posgresql với phần mở rộng TimescaleDB.

- Máy chủ ứng dụng sử dụng hệ điều hành Linux và dịch vụ nginx.

- Kiến trúc ứng dụng này cho phép triển khai đƣợc trên 1 hoặc nhiều máy chủ vật lý.

Đối với ngƣời dùng: Ngƣời dùng sử dụng trình duyệt (Chrome/Firefox/IE) để truy cập vào chƣơng trình (qua mạng LAN hoặc WAN).

4.3.2. Ngơn ngữ Python và nền tảng phát triển

Đối với frontend, giao diện ngƣời dùng thiết kế với HTML, CSS và Javascript. Đối với backend, ngơn ngữ lập trình Python và nền tảng Django framework đƣợc chọn để xây dựng chƣơng trình thử nghiệm.Python là một ngơn ngữ bậc cao, với ƣu điểm vƣợt trội là dễ học, dễ đọc và dễ nhớ; phần lớn các dòng lệnh đƣợc viết tƣơng tự nhƣ ngôn ngữ con ngƣời. Cú pháp của Python nhìn chung ngắn gọn, rành mạch nhƣng hiệu quả, giúp phát triển nhanh.

Một lợi thế lớn khác của Python là hệ sinh thái phong phú cùng số lƣợng lớn các bộ thƣ viện, bao gồm cả thƣ viện chuẩn và thƣ viện của các bên thứ ba, phục vụ cho nhiều ứng dụng khác nhau từ khoa học dữ liệu cho đến các nền tảng web. Vì vậy, Python hiện là một số ít những ngơn ngữ lập trình phổ biến nhất trên thế giới hiện nay..

4.3.3. Giải pháp quản trị cơ sở dữ liệu Posgresql

Đối với các nền tảng web hiện nay, việc chọn kiểu cơ sở dữ liệu quan hệ (Relational Database Management System – RDBMS) là rất phổ biến, và thực tế là trong chƣơng trình thử nghiệm này, một số kiểu dữ liệu là kiểu dữ liệu quan hệ: Ngƣời dùng, Đối tƣợng gia súc, Dữ liệu... Tuy nhiên đối với các dữ liệu cảm biến gia tốc đƣợc nạp vào hệ thống, kiểu dữ liệu là dạng time-series với các thông số bao gồm thời điểm, định danh (ID) của cá thể gia súc, chỉ số đo 3 trục của. Vì vậy, luận văn này chọn PostgreSQL, cùng phần mở rộng TimescaleDB cho quản lý dữ liệu.

Đƣợc cho là phần mềm quản trị CDSL mã nguồn mở tiên tiến nhất hiện nay, Postgreql chỉ là một nền tảng CSDL quan hệ có hiệu năng hoạt động tốt, Postgreql nổi bật hơn so với các giải pháp nguồn mở khác nhƣ MySQL, MariaD … là ở chỗ nó cịn là mơ hình CSDL hƣớng đối tƣợng, hỗ trợ các đối tƣợng ngƣời dùng tự định nghĩa và các hành vi của chúng bao gồm các kiểu dữ liệu, các hàm, các thao tác, các tên miền và các chỉ mục. Điều này làm cho Postgreql cực kỳ mạnh và linh hoạt. Các cấu trúc dữ liệu phức tạp có thể đƣợc tạo ra, lƣu trữ, và truy xuất.

Trong khi đó, phần mở rộng TimescaleDB biến Postgreql thành một hệ quản trị CSDL không chỉ phù hợp với kiểu dữ liệu quan hệ, mà còn hoạt động tốt với kiểu dữ liệu time-series. Để làm đƣợc điều này, TimescaleDB tối ƣu cấu trúc lƣu trữ bằng cách “gộp” nhiều bảng thành “hypertable”, đây là một tập hợp các bảng đƣợc chia tách một

cách liên tục theo khoảng thời gian. Việc tƣơng tác với dữ liệu sẽ thông qua hypertable này, nhƣng chỉ cần sử dụng các câu lệnh query SQL cơ bản của kiểu CSDL quan hệ.

4.3.4. Mơ hình MVC xây dựng phần mềm thử nghiệm

Django là một nền tảng khá phổ biến để viết các hệ thống backend, đƣợc xây dựng trên ngơn ngữ lập trình Python và hoạt động nhƣ một mô-đun của Python. Tƣơng tự nhƣ phần lớn các nền tảng phổ biến khác cho việc xây dựng web, Django sử dụng cấu trúc MVC (Model – View – Controller) và đƣợc hình dung nhƣ mơ phỏng ở hình 4- 2 dƣới đây:

ình 4-2: Mơ hình MVC

Mơ hình MVC là kiến trúc hệ thống chia ứng dụng ra 3 thành phần logic chính:

model, view và controller. Mỗi một thành phần này có nhiệm vụ xử lý các khía cạnh

khác nhau trong quá trình phát triển phẩn mềm.

a) Model: Đây là thành phần đảm nhiệm các nghiệp vụ thao tác trực tiếp với dữ

liệu mà ngƣời dùng làm việc với. Đây mà nơi dữ liệu đƣợc truy xuất hoặc viết vào hệ quản trị cơ sở dữ liệu. Dữ liệu ở đây đƣợc chuyển hố thành dạng có thể hiểu đƣợc đối với ngơn ngữ lập trình để có thể chuyển tiếp cho Controller xử lý. b) Controller: Làm nhiệm vụ nhận điều hƣớng các yêu cầu từ ngƣời dùng và gọi

đúng những phƣơng thức xử lý chúng… Chẳng hạn thành phần này sẽ nhận thao tác yêu cầu từ url và form để tìm hàm tƣơng ứng xử lý những yêu cầu này. c) View: Đảm nhận việc hiển thị thông tin, tƣơng tác với ngƣời dùng, nơi chứa tất

cả các đối tƣợng GUI nhƣ văn bản, hình ảnh, các ơ nhập liệu... mà ngƣời dùng trực tiếp tƣơng tác lên.

Luồng hoạt động của mơ hình MVC: Khi có một u cầu từ phía ngƣời dùng (thơng qua trình duyệt) gửi đến máy chủ, Thành phần Controller sẽ nhận yêu cầu và thông tin kèm theo (bao gồm URL, dữ liệu gửi lên), xử lý yêu cầu đó. Và nếu cần, nó sẽ gọi đến phần Model, vốn là thành phần làm việc trực tiếp với hệ quản trị cơ sở dữ liệu. Sau khi xử lý xong, toàn bộ kết quả đƣợc đẩy về phần View và tƣơng tác với ngƣời dùng.

Đánh giá chung về mơ hình MVC là kiến trúc này thể hiện tính chun nghiệp trong lập trình, phân tích thiết kế. Do đƣợc chia thành các thành phần độc lập nên giúp phát triển ứng dụng nhanh, đơn giản, dễ nâng cấp, bảo trì. Đối với các nhóm phát triển có từ vài ngƣời trở lên, mỗi ngƣời có thể đƣợc phân cơng để làm việc với từng thành phần một nhƣng vẫn đảm bảo tính thống nhất và thông suốt của hệ thống phần mềm.

Một phần của tài liệu uftai-ve-tai-day28698-đã chuyển đổi (Trang 27)

Tải bản đầy đủ (DOCX)

(60 trang)
w