ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Phí Bá Chiến

NGHIÊN CỨU VÀ XÂY DỰNG HỆ THỐNG

PHÁT HIỆN HÀNH ĐỒNG NGÃ CỦA NGƯỜI ĐI BỘ DỰA TRÊN

CẢM BIẾN CỦA ĐIỆN THOẠI DI ĐỘNG

LUẬN VĂN THẠC SĨ KỸ THUẬT PHẦN MỀM

HÀ NỘI – 2020

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Phí Bá Chiến

NGHIÊN CỨU VÀ XÂY DỰNG HỆ THỐNG

PHÁT HIỆN HÀNH ĐỒNG NGÃ CỦA NGƯỜI ĐI BỘ DỰA TRÊN

CẢM BIẾN CỦA ĐIỆN THOẠI DI ĐỘNG

Ngành: Kỹ thuật phần mềm Chuyên ngành: Kỹ thuật phần mềm Mã số: 8480103.01

LUẬN VĂN THẠC SĨ KỸ THUẬT PHẦN MỀM

NGƯỜI HƯỚNG DẪN KHOA HỌC:

PGS. TS NGUYỄN HÀ NAM

Hà Nội – 2020

LỜI CAM ĐOAN

Tôi xin cam đoan đây là công trình nghiên cứu do tôi thực hiện dưới sự

hướng dẫn của PGS.TS. Nguyễn Hà Nam tại Bộ môn các Hệ thống Thông tin, Khoa

Công nghệ Thông tin, Trường Đại học Công nghệ, Đại học Quốc gia Hà Nội. Các

số liệu và kết quả trình bày trong luận văn là trung thực và chưa được công bố trong

các công trình khác.

Tác giả

Phí Bá Chiến

LỜI CẢM ƠN

Luận văn được thực hiện tại Khoa CNTT-Trường Đại học Công nghệ, Đại

học Quốc gia Hà Nội, dưới sự hướng dẫn của PGS.TS. Nguyễn Hà Nam.

Trước tiên, tôi xin gửi lời cảm ơn sâu sắc tới PGS.TS. Nguyễn Hà Nam.

Người Thầy đã tận tụy chỉ dạy, giúp đỡ tôi giải quyết những vấn đề khó khăn trong

nghiên cứu khoa học và trong cuộc sống.

Tôi cũng xin gửi lời cảm ơn tới tập thể các Thầy, Cô giáo, các Nhà khoa học

trong khoa CNTT đã truyền đạt những kiến thức quý báu và đã tạo điều kiện thuận

lợi cho tôi trong quá trình học tập và nghiên cứu. Để có được dữ liệu phục vụ cho

nghiên cứu, tôi xin gửi lời cảm ơn tới Nhóm nghiên cứu của PGS.TS. Nguyễn Hà

Nam, thầy Nguyễn Đức Nhân, anh Lê Hồng Lam, anh Phùng Quang Luyện, em

Nguyễn Vũ Đông đã giúp tôi thu thập dữ liệu cũng như tiến hành một số thực

nghiệm liên quan đến Luận văn.

Tôi cũng gửi lời tri ân tới bạn bè, đồng nghiệp, người thân đã giúp đỡ và hỗ

trợ tôi trong suốt quá trình nghiên cứu.

Cuối cùng, tôi vô cùng biết ơn gia đình, bố mẹ, anh chị em, đặc biệt là vợ và

con nhỏ của tôi, những người đã động viên, giành những điều kiện tốt nhất để tôi có

thể hoàn thành chương trình nghiên cứu của mình.

Phí Bá Chiến

Hà Nội, 2020

ii

MỤC LỤC

LỜI CAM ĐOAN ............................................................................................................... I

LỜI CẢM ƠN ................................................................................................................... II

MỤC LỤC ....................................................................................................................... III

DANH MỤC KÝ HIỆU VÀ TỪ VIẾT TẮT ................................................................. V

DANH MỤC HÌNH ẢNH ............................................................................................... VI

DANH MỤC BẢNG BIỂU ........................................................................................... VII

MỞ ĐẦU ............................................................................................................................ 1

Tính cấp thiết của luận văn ................................................................................................. 1

Mục tiêu của luận văn ......................................................................................................... 2

Đối tượng và phạm vi nghiên cứu ...................................................................................... 2

Đóng góp của luận văn ....................................................................................................... 2

Bố cục của luận văn ............................................................................................................ 3

CHƯƠNG 1.

TỔNG QUAN VỀ NHẬN DẠNG HÀNH ĐỘNG ............................ 4

1.1 Giới thiệu ................................................................................................................... 4

1.2 Một số khái niệm cơ bản ........................................................................................... 4

1.3 Các phương pháp nhận diện hành động .................................................................... 5

1.4 Một số nghiên cứu liên quan ..................................................................................... 6

1.5 Sử dụng dữ liệu cảm biến để phân tích hành động ................................................... 7

1.6 Kết luận chương ........................................................................................................ 8

CHƯƠNG 2. MỘT SỐ KỸ THUẬT KHAI PHÁ DỮ LIỆU CHUỖI THỜI

GIAN…… .............................................................................................................. 9

2.1 Giới thiệu ................................................................................................................... 9

2.2 Đặc điểm và một số cách xử lý dữ liệu thời gian thực .............................................. 9

2.2.1 Tiền xử lý dữ liệu ............................................................................................ 9

2.2.2 Cửa sổ dữ liệu ............................................................................................... 11

2.2.3 Biến đổi dữ liệu ............................................................................................. 11

2.2.4 Thuộc tính trên miền thời gian ...................................................................... 12

2.2.5 Thuộc tính trên miền tần số ........................................................................... 13

2.2.6 Tham số Hjorth ............................................................................................. 14

iii

2.3 Các phương pháp phân lớp ...................................................................................... 14

2.3.1 Random Forest .............................................................................................. 15

2.3.2 Artificial Neural Network ............................................................................. 16

2.3.3 Support Vector Machine ............................................................................... 17

2.4 Phương pháp đánh giá phân lớp .............................................................................. 18

2.4.1 Ma trận nhầm lẫn .......................................................................................... 18

2.4.2 Biểu đồ ROC và độ đo AUC ......................................................................... 20

2.5 Kết luận chương ...................................................................................................... 22

CHƯƠNG 3.

XÂY DỰNG MÔ HÌNH PHÁT HIỆN HÀNH ĐỘNG .................. 23

3.1 Giới thiệu ................................................................................................................. 23

3.2 Tổng quan hệ thống ................................................................................................. 23

3.2.1 Dữ liệu thu thập từ cảm biến gia tốc ............................................................. 24

3.2.2 Xây dựng tập thuộc tính đặc trưng ................................................................ 25

3.3 Tối ưu mô hình ........................................................................................................ 26

3.3.1 Thuật toán tối ưu Particle Swarm Optimization – PSO ................................ 26

3.3.2 Mô hình nhận dạng và thuật toán PSO.......................................................... 30

3.4 Thực nghiệm và đánh giá ........................................................................................ 34

3.4.1 Môi trường thực nghiệm ............................................................................... 34

3.4.2 Dữ liệu thực nghiệm ...................................................................................... 34

3.4.3 Kết quả thực nghiệm với Random Forest ..................................................... 36

3.4.4 Kết quả thực nghiệm với ANN và SVM ....................................................... 38

3.4.5 Tối ưu mô hình Random Forest và thuật toán PSO ...................................... 41

3.5 Kết luận chương ...................................................................................................... 48

KẾT LUẬN ...................................................................................................................... 49

TÀI LIỆU THAM KHẢO .............................................................................................. 50

iv

DANH MỤC KÝ HIỆU VÀ TỪ VIẾT TẮT

DIỄN GIẢI TỪ VIẾT TẮT TIẾNG ANH TIẾNG VIỆT

RF Random Forest Thuật toán phân lớp rừng ngẫu nhiên

Artificial Neural ANN Thuật toán phân lớp mạng nơ-ron Network

Thuật toán phân lớp máy véc-tơ hỗ SVM Support Vector Machine trợ

AUC Area Under Curve Diện tích dưới đường cong ROC

Âm tính giả (mẫu mang nhãn dương FN False Negative bị phân lớp sai vào lớp âm)

Dương tính giả (mẫu mang nhãn âm FP False Positive bị phân lớp sai vào lớp dương)

Âm tính thật (mẫu mang nhãn âm TN True Negative được phân lớp đúng vào lớp âm)

Dương tính thật (mẫu mang nhãn

TP True Positive dương được phân lớp đúng vào lớp

dương)

Receiver Operator ROC Đặc tính hoạt động của bộ thu nhận Characteristic

Particle Swarm PSO Thuật toán tối ưu bầy đàn Optimization

Institute of Electrical and IEEE Hội Kỹ sư Điện và Điện tử Electronics Engineers

v

DANH MỤC HÌNH ẢNH

Hình 2-1. Một số kỹ thuật chuẩn bị dữ liệu ......................................................................... 10

Hình 2-2 Phân đoạn chuỗi tín hiệu thành các cửa sổ dữ liệu ............................................... 11

Hình 2-3. Thuật toán Random Forest .................................................................................. 15

Hình 2-4. Mô tả mạng ANN ................................................................................................ 16

Hình 2-5. Không gian trong mô hình SVM ......................................................................... 17

Hình 2-6. Biểu đồ biểu diễn đường cong ROC ................................................................... 20

Hình 2-7. Diện tích đường cong ROC (độ đo AUC) ........................................................... 21

Hình 3-1. Tổng quan hệ thống phát hiện hành động ngã ..................................................... 23

Hình 3-2. Các trục X, Y, Z trên cảm biến gia tốc ................................................................ 24

Hình 3-3. Dữ liệu thời gian ba trục X, Y, Z biểu diễn trên đồ thị ....................................... 25

Hình 3-4. Mô tả quá trình tìm kiếm thức ăn của đàn chim .................................................. 27

Hình 3-5. Quá trình cập nhật vị trí sử dụng PSO ................................................................. 28

Hình 3-6. Tối ưu mô hình bằng thuật toán PSO .................................................................. 33

Hình 3-7. Biểu đồ kết quả phân lớp của mô hình RF .......................................................... 37

Hình 3-8. Biểu đồ kết quả mô hình ANN ............................................................................ 40

Hình 3-9. Biểu đồ kết quả mô hình SVM ............................................................................ 41

Hình 3-10. Biểu đồ kết quả hành động ngã BSC ................................................................. 43

Hình 3-11. Biểu đồ kết quả hành động ngã FKL ................................................................. 44

Hình 3-12. Biểu đồ kết quả hành động ngã FOL ................................................................. 44

Hình 3-13. Biểu đồ kết quả hành động ngã SDL ................................................................. 45

Hình 3-14. Biểu đồ kết quả phân lớp chung của mô hình ................................................... 45

vi

DANH MỤC BẢNG BIỂU

Bảng 2-1. Ma trận nhầm lẫn ................................................................................................ 18

Bảng 2-2. Độ đo AUC với độ chính xác của mô hình phân lớp .......................................... 21

Bảng 3-1. Các hoạt động thường ngày ................................................................................ 35

Bảng 3-2. Các trạng thái ngã ............................................................................................... 36

Bảng 3-3. Mô hình RF với các thông số mặc định .............................................................. 36

Bảng 3-4. Kết quả phân lớp của mô hình RF ...................................................................... 37

Bảng 3-5. Bộ tham số của mô hình ANN và SVM .............................................................. 38

Bảng 3-6. Kết quả phân lớp của mô hình ANN ................................................................... 39

Bảng 3-7. Kết quả phân lớp của mô hình SVM ................................................................... 40

Bảng 3-8. Kết quả mô hình phân lớp sau tối ưu .................................................................. 43

Bảng 3-9. Kết quả mô hình phân lớp ban đầu ..................................................................... 43

Bảng 3-10. Ma trận nhầm lẫn của mô hình Random Forest sau tối ưu ............................... 46

Bảng 3-11. Mô hình đề xuất và nghiên cứu liên quan ......................................................... 47

vii

MỞ ĐẦU

Tính cấp thiết của luận văn

Ngày nay, theo dõi sức khỏe là một vấn đề được đặc biệt quan tâm trên thế

giới. Đặc biệt tại các nước phát triển, các vấn đề về ý tế, sức khỏe nhận được sự

quan tâm hàng đầu. Với những người cao tuổi, người có sức khỏe yếu thường xảy

ra những biến cố bất ngờ như ngã, đột quỵ nhưng không phải lúc nào cũng có điều

kiện chăm sóc y tế, theo dõi thường xuyên từ nhân viên y tế hoặc người thân.

Những va chạm mạnh như vậy thường gây ra những ảnh hưởng lớn đến sức khỏe

nếu không được phát hiện và xử lý kịp thời.

Với sự phát triển không ngừng nghỉ của khoa học kỹ thuật, điện thoại thông

minh ngày càng phổ biến trên thế giới. Mọi người trên thế giới hiện nay đều có thể

tiếp cận và sở hữu cho mình một chiếc điện thoại thông minh rất dễ dàng. Điện

thoại thông minh được tích hợp rất nhiều loại cảm biến khác, kèm theo đó điện

thoại thông minh thường được đem đi thường xuyên và sử dụng nhiều trong cuộc

sống cho phép nó trở thành một công cụ rất hữu ích trong việc thu thập các dữ liệu

từ người dùng. Rất nhiều công trình nghiên cứu và ứng dụng liên quan đến việc thu

thập dữ liệu từ cảm biến của điện thoại thông minh được công bố trong những năm

gần đây.

Vì vậy, với những yếu tố về con người, khoa học kỹ thuật kể trên, chúng tôi

muốn xây dựng mô hình có thể phát hiện hành động ngã thông qua việc sử dụng dữ

liệu cảm biến của điện thoại thông minh. Do đó tôi đã chọn đề tài: “Nghiên cứu và

xây dựng hệ thống phát hiện hành động ngã của người đi bộ dựa trên cảm biến của

điện thoại di động” làm đề tài nghiên cứu của luận văn thạc sĩ chuyên ngành Kỹ

thuật phần mềm.

Mục tiêu của luận văn

Mục tiêu của Luận văn là tập trung vào phân tích dữ liệu từ cảm biến thu

được từ điện thoại của con người trong cuộc sống hàng ngày, từ đó phát hiện được

các hành động của con người, đặc biệt tập trung vào hành động ngã.

Để giải quyết được mục tiêu của Luận văn, chúng tôi tập trung vào giải quyết

các vấn đề chính sau:

• Tìm hiểu và nghiên cứu các kỹ thuật phân tích dữ liệu hiện có trên thế giới.

Các kỹ thuật biến đổi dữ liệu dựa trên nhiều loại cảm biến khác nhau của

điện thoại. Từ đó có thể tìm được kỹ thuật phù hợp nhất để có thể áp dụng

vào bài toán phát hiện hành động ngã.

• Từ tập dữ liệu đầu vào dựa trên cảm biến của điện thoại thông minh, có thể

xây dựng được hệ thống phát hiện các hành động (đi bộ, ngồi, chạy, ngã, …)

của con người trong cuộc sống hàng ngày.

• Nghiên cứu thuật toán tối ưu để có thể nâng cao được độ chính xác của hệ

thống. Giảm thiểu tối đa sự nhầm lẫn giữa các hành động, đặc biệt là hành

động bình thường và hành động ngã.

Đối tượng và phạm vi nghiên cứu

Đối tượng nghiên cứu của luận văn là phân tích hành động của con người

dựa trên dữ liệu thu thập được khi họ đem theo điện thoại ở những vị trí như túi áo,

túi quần. Tập trung phân tích dữ liệu thu thập được từ cảm biến gia tốc để có thể

phân tích được hành động cụ thể.

Đóng góp của luận văn Đóng góp thứ nhất của luận văn: Xây dựng thành công mô hình phát hiện hành động ngã của người dựa trên phân tích dữ liệu thu được từ cảm biến của điện thoại thông minh.

Đóng góp thứ hai của luận văn: Áp dụng thành công thuật toán tối ưu tham số Particle Swarm Optimization – PSO để tối ưu mô hình, nâng cao độ chính xác

của việc phân tích và phát hiện các hành động.

2

Bố cục của luận văn

Ngoài phần mở đầu, mục lục, kết luận và tài liệu tham khảo, nội dung chính

của luận văn được chia thành 3 chương, cụ thể như sau:

Chương 1: Trình bày các kiến thức nền tảng về học máy. Giới thiệu một số

khái niệm về các hoạt động của con người và một số phương pháp cũng như nghiên

cứu trước đây về chủ đề này. Từ đó đề xuất giải pháp phát thiện hành động ngã dựa

trên dữ liệu cảm biến gia tốc trên điện thoại

Chương 2: Tìm hiểu và phân tích quy trình chuẩn bị dữ liệu, tiền xử lý dữ

liệu. Tìm hiểu các phương pháp phân lớp cũng như ưu nhược điểm của từng

phương pháp. Đồng thời nêu ra những phương pháp đánh giá phân lớp, lựa chọn

các trọng số để có thể đánh giá chính xác nhất độ tốt của một phương pháp phân

lớp.

Chương 3: Đề xuất hệ thống phát hiện hành động ngã dựa trên dữ liệu cảm

biến thu được từ điện thoại thông minh. Tiến hành thực nghiệm và đánh giá. Áp

dụng thuật toán tham số để tối ưu mô hình phân lớp.

3

Chương 1.

TỔNG QUAN VỀ NHẬN DẠNG HÀNH ĐỘNG

1.1

Giới thiệu

Ngày nay, nhận dạng hành động và ứng dụng vào y tế, thể thao là một trong

những vấn đề được quan tâm trên toàn thế giới. Rất nhiều công trình khoa học, ứng

dụng liên quan đến vấn đề này được ứng dụng vào thực tế và đem lại những thành

công nhất định. Bên cạnh đó hiện nay, có rất nhiều trường hợp xảy ra những sự cố

như đột quỵ, ngã gây ra những hậu quả nghiêm trọng khi không được phát hiện và

can thiệp y tế kịp thời.

Điện thoại thông minh hiện nay đã gắn liền với hoạt động thường ngày của

rất nhiều người. Kèm theo đó là sự đa dạng về chủng loại, tính năng, hiệu năng và

nhiều loại cảm biến khác nhau trên điện thoại thông minh. Cảm biến gia tốc được

tích hợp trên hầu hết các loại điện thoại thông minh hiện nay. Loại cảm biến này có

độ nhạy, độ chính xác cao trên từ những điện thoại thông minh tầm trung đến cấp

cao.

Do vậy, chương này chúng tôi sẽ làm rõ những khái niệm về hành động,

hành vi cũng như xác định bài toán phân tích hành động của người đi bộ thông qua

những dữ liệu thu thập được từ dữ liệu gia tốc trên điện thoại thông minh.

1.2 Một số khái niệm cơ bản

Hành động là việc làm cụ thể của con người nhằm mục đích nhất định [1].

Hành vi (danh từ) là toàn bộ nói chung những phản ứng, các cư xử biểu hiện

ra bên ngoài của một người trong một hoàn cảnh cụ thể [1].

Hành vi bất thường của con người là những phản ứng hoặc cách cư xử khác

với bình thường bị tác động bởi các yếu tố khách quan hoặc chủ quan trong cuộc

sống thường ngày [1].

Việc nhận biết được các loại hành động, hành vi của con người là cơ sở để

đánh giá hành vi đó là bình thường hoặc bất thường. Cụ thể trong khuôn khổ luận

văn này, chúng tôi phân làm hai loại: hành động bình thường và ngã.

4

Hành động bình thường:

- Đứng: đứng với một vài cử động nhẹ nhàng

- Đi bộ: đi bộ bình thường

- Chạy bộ

- Nhảy: nhảy liên tục

- Lên cầu thang

- Xuống cầu thang

- Ngồi xuống

- Ngồi trên ghế

- Đứng lên: từ ngồi chuyển sang đứng

- Bước vào xe ô tô

- Ra khỏi xe ô tô

- Nằm

Các kiểu ngã:

- Ngã về phía trước: ngã về phía trước khi đang đứng, sử dụng tay để

chống ngã.

- Ngã đập đầu gối: Ngã về phía trước khi đang đứng, đầu gối tiếp xúc

với đất đầu tiên.

- Ngã từ ghế: ngã ngửa trong khi đang ngồi trên ghế.

- Ngã nghiêng: ngã nghiêng về một bên trong khi đang đứng, gập chân.

1.3

Các phương pháp nhận diện hành động

Ngày nay khi khoa học công nghệ càng phát triển, nó đã được ứng dụng vào

nhiều lĩnh vực trong cuộc sống. Nhận diện hành động cũng nhận được nhiều sự

quan tâm và ứng dụng vào thực thế. Có nhiều phương pháp cũng như cách thức

nhận diện hành động được giới thiệu trên thế giới. Nhưng mỗi phương pháp lại có

ưu, nhược điểm khác nhau cũng như sự phù hợp với môi trường, thực tiễn của từng

khu vực.

Nhận diện hành động qua hình ảnh được áp dụng ở nhiều nước tiên tiến trên

thế giới. Một vài siêu thị lớn trên thế giới sử dụng phương pháp này để giám sát

5

cũng như đảm bảo an ninh, tránh thất thoát tài sản trong siêu thị. Kèm theo đó siêu

thị cũng có thể biết được khách hàng thường quan tâm đến những sản phẩm nào

hơn. Một vài quốc gia trên thế giới có hệ thống camera phủ sóng trên các con

đường, trung tâm thương mại và những nơi đông người để kiểm soát an ninh. Các

cơ quan chức năng có thể nhanh chóng can thiệp nếu xảy ra sự cố. Nhận dạng hành

động qua hình ảnh ưu điểm là dễ kiểm soát, tập trung. Có thể chủ động được tính ổn

định của thiết bị giám sát. Nhưng những hệ thống này thường rất phức tạp và có chi

phí lắp đặt cũng như vận hành cao.

Nhận diện hành động qua radar được sử dụng nhiều trong quân sự. Có độ

chính xác cao nhưng đi kèm theo đó là lượng điện năng tiêu thụ lớn và các hệ thống

rất phức tạp.

Nhận điện hành động sử dụng cảm biến của điện thoại thông minh đang là

một đề tài được đặc biệt quan tâm hiện nay. Từ những điều đơn giản nhất như nắm

bắt giấc ngủ, giờ sinh hoạt của từng người sử dụng đến phức tạp như phân tích hành

động, tính toán trong hoạt động thể thao của người sử dụng. Với những ưu điểm có

rất nhiều loại cảm biến được tích hợp trong điện thoại như cảm biến gia tốc, cảm

biến tiệm cận, cảm biến nhịp tim, cảm biến ánh sáng.

1.4 Một số nghiên cứu liên quan

Thu thập dữ liệu và nhận diện hành động đang là một chủ để được nhiều

nhóm nghiên cứu quan tâm. Có rất nhiều bài báo cũng như các công trình nghiên

cứu được công bố về vấn đề này.

Yan Wang và cộng sự đã thực hiện một cuộc khảo sát về phương thức cảm

biến có thể đeo được trên cổ tay tập trung vào việc ghi nhận hoạt động chăm sóc

sức khỏe của con người [2].

Adnan Nadeem và cộng sự đã xây dựng tập dữ liệu sử dụng cảm biến đo

lường quán tính và điện tâm đồ có thể đeo được để nhận dạng hoạt động, phát hiện

ngã và hệ thống phát hiện bất thường về tim cơ bản [3].

6

Henry Friday Nweke và cộng sự đã chỉ ra các khó khăn và thách thức khi sử

dụng các thuật toán học sâu để nhận dạng hoạt động của con người bằng cách sử

dụng mạng cảm biến di động và có thể đeo được [4].

Emma Stack và cộng sự có một công trình nghiên cứu xác định sự suy giảm

khả năng thăng bằng ở những người bị bệnh Parkinson bằng cách sử dụng video và

cảm biến có thể đeo được [5].

Nethra Ganesh Chigateria và cộng sự đã sử dụng gia tốc kế để đo hoạt động

của người già [6].

Yinfeng Wu và cộng sự đề xuất hệ thống phát hiện trước khi va chạm dựa trên

cảm biến có thể đeo được với bộ phân loại thứ bậc [7].

Charissa Ann Ronao và Sung-Bae Cho đề xuất các giải pháp nhận biết các

hoạt động của con người từ các cảm biến của điện thoại thông minh bằng cách sử

dụng các mô hình Markov ẩn liên tục phân cấp [8].

1.5

Sử dụng dữ liệu cảm biến để phân tích hành động

Điện thoại thông minh hiện nay được tích hợp rất nhiều loại cảm biến đi

kèm. Những loại cảm biến phổ biến như cảm biến vân tay, biến tiệm cận, cảm biến

nhiệt, cảm biến ánh sáng, cảm biến từ kế, cảm biến hình ảnh, cảm biến gia tốc, cảm

biến con quay hồi chuyển. Những loại cảm biến này thường được kết hợp với nhau

để áp dụng vào bài toán phân tích hành vi. Nhưng có một điều bất cập là sự giới hạn

của tốc độ xử lý cũng như nguồn pin của điện thoại. Khi kết hợp càng nhiều loại

cảm biến cùng một lúc sẽ gây ra hiện tượng quá tải của điện thoại, kèm theo đó là

tuổi thọ của pin điện thoại sẽ không được cao. Vì vậy trong khuôn khổ luận văn

này, chúng tôi sử dụng cảm biến gia tốc của điện thoại thông minh. Cảm biến gia

tốc được dùng để ghi nhận lại sự chuyển đổi vị trí của điện thoại. Nó có ưu điểm là

tốn ít tài nguyên của thiết bị, tránh làm ảnh hưởng đến hiệu năng của điện thoại

cũng như trải nghiệm của người dùng. Cảm biến gia tốc cũng có độ nhạy rất cao và

chính xác, được tích hợp trên hầu hết các điện thoại thông minh hiện nay.

Khi sử dụng cảm biến gia tốc, dữ liệu thu được là một chuỗi dữ liệu liên tục

theo thời gian. Mỗi thời điểm, dữ liệu gia tốc thu được có hai thuộc tính là thời gian,

7

véc-tơ được xác định bởi ba trục tọa độ thiết bị X, Y, Z. Khi thiết bị được di chuyển

hoặc có sự thay đổi về vị trí, véc-tơ tương ứng với ba trục X, Y, Z cũng sẽ thay đổi.

Vì vậy để kết quả được chính xác, các thiết bị nên tránh bị đổi hướng, nên để

cố định ở một vị trí như túi áo, hoặc túi quần. Nếu trong quá trình chuyển động, có

sự thay đổi vị trí đặt điện thoại rất dễ gây ra những sự xáo trộn và nhầm lẫn giữa các

trục X, Y, Z. Dữ liệu càng chứa nhiều nhiễu thì độ chính xác càng giảm.

Từ những luận điểm trên, trong khuôn khổ luận văn về phân tích hành động,

hành vi thì sử dụng cảm biến gia tốc để thu thập dữ liệu là hoàn toàn phù hợp.

1.6

Kết luận chương

Trong chương này, chúng tôi đã tìm hiểu và nghiên cứu các khái niệm cơ bản

và những phương pháp nhận diện hành động được sử dụng rộng rãi hiện nay. Chúng

tôi cũng khảo sát và tìm hiểu các công trình nghiên cứu liên quan đến nhận dạng

hành động. Để từ đó lựa chọn được hướng đi và phương pháp phù hợp cho bài toán

cụ thể trong luận văn.

8

Chương 2. MỘT SỐ KỸ THUẬT KHAI PHÁ DỮ LIỆU CHUỖI

THỜI GIAN

2.1

Giới thiệu

Để có được kết quả phân lớp tốt phải sử dụng và kết hợp nhiều kỹ thuật như

tiền xử lý dữ liệu, biến đổi dữ liệu, xây dựng bộ dữ liệu đặc trưng. Từ bộ dữ liệu đã

được xử lý sẽ áp dụng vào mô hình để ra kết quả phân lớp. Trong chương này,

chúng tôi sẽ giới thiệu về các kỹ thuật xử lý dữ liệu và các kỹ thuật, phương pháp

phân lớp được sử dụng phổ biến. Kèm theo đó là các phương pháp đánh giá phân

lớp cũng như mục đích của từng phương pháp.

2.2

Đặc điểm và một số cách xử lý dữ liệu thời gian thực

2.2.1 Tiền xử lý dữ liệu

Tiền xử lý dữ liệu là một bước quan trọng trong khai phá dữ liệu. Để hệ

thống hoạt động với độ chính xác cao cần phải có một bộ dữ liệu phù hợp và chính

xác. Nếu dữ liệu không được chuẩn bị tốt, các thuật toán nhận dạng có thể không

nhận dạng được dữ liệu từ đó sẽ gây ra khó khăn trong quá trình xây dựng hệ thống.

Một vài kỹ thuật phổ biến dùng để xử lý dữ liệu hiện nay như: làm sạch dữ

liệu, chuẩn hóa dữ liệu, chuyển đổi dữ liệu, tích hợp dữ liệu, phát hiện nhiễu, tính

giá trị thiếu.

- Làm sạch dữ liệu (Data cleaning): là bước để loại bỏ hay xử lý những

dữ liệu không chính xác ra khỏi tập dữ liệu.

- Xác định nhiễu (Noise Identification): trong một bộ dữ liệu thu thập

được, thường có những bộ dữ liệu bị sai, khuyết một vài thuộc tính.

Cách đơn giản nhất là có thể xóa chúng đi hoặc có thể sử dụng một

vài phương pháp tính toán để điền vào bộ dữ liệu khuyết dạng thời

gian liên tục. Điều này sẽ làm bộ dữ liệu có tính đồng nhất, không còn

những mẫu dễ gây ra sai số trong quá trình chạy mô hình.

9

- Bổ sung dữ liệu thiếu (Missing Data Imputation) là thêm vào các phần

dữ liệu bị thiếu trong quá trình thu thập và chuẩn bị. Giúp bộ dữ liệu

có tính nhất quán. Các giá trị thêm vào là các giá trị được ước tính

một cách hợp lý.

- Biến đổi dữ liệu (Data Transformation) để làm tăng độ chính xác

trong khai phá dữ liệu. Từ dữ liệu thô ban đầu sẽ tiến hành làm mịn,

chuẩn hóa và xây dựng lên bộ thuộc tính cần cho quá trình phân lớp.

- Tích hợp dữ liệu (Data Integration): là kết hợp dữ liệu từ nhiều nguồn,

nhiều kho dữ liệu khác nhau.

- Chuẩn hóa dữ liệu (Data Normalization): là một bước quan trọng

trong quá trình chuẩn bị dữ liệu học máy. Tùy vào từng bài toán cụ

thể cũng như phương pháp học máy. Những cách chuẩn hóa dữ liệu

khác nhau sẽ làm ảnh hưởng trực tiếp đến độ chính xác của mô hình.

- Giảm chiều dữ liệu (Data Reduction): là một kỹ thuật giúp giảm độ

phức tạp của dữ liệu gốc nhưng vẫn giữ được tính toàn vẹn của dữ

liệu [9].

Hình 2-1. Một số kỹ thuật chuẩn bị dữ liệu

10

2.2.2 Cửa sổ dữ liệu

Kỹ thuật cửa sổ trượt (Sliding window) là một kỹ thuật được sử dụng phổ

biến trong nhiều bài toán phân lớp. Đây là một kỹ thuật dùng để cắt một đoạn dữ

liệu thành nhiều cửa sổ khác nhau có cùng kích thước là W. Mỗi cửa sổ chồng lên

nhau bằng cách lấy lại một phần dữ liệu của cửa sổ ngay trước nó.

Dữ liệu chuỗi thời gian được sử dụng rộng rãi trên thế giới và được áp dụng

trên nhiều lĩnh vực như y tế, chứng khoán. Dữ liệu thu thập được từ cảm biến gia

tốc của điện thoại thông minh là bộ dữ liệu liên tục theo thời gian với tần số lấy mẫu

là 50Hz. Vì vậy bộ dữ liệu bao gồm rất nhiều giá trị liên tục theo thời gian. Với bài

toán nhận dạng hành động, chúng ta hoàn toàn có thể áp dụng kỹ thuật cửa sổ trượt

để phân đoạn chuỗi dữ liệu thành nhiều cửa sổ với mức độ chồng dữ liệu khác nhau.

Ví dụ về một đoạn dữ liệu được phân đoạn theo nhiều cửa sổ trượt được trình

bày như hình dưới đây:

Hình 2-2 Phân đoạn chuỗi tín hiệu thành các cửa sổ dữ liệu

Ở trong hình biểu diễn phân đoạn chuỗi dữ liệu thành ba cửa sổ i -1, i, i +1

có kích thước là N và chồng dữ liệu là k, cửa sổ tiếp theo sử dụng k điểm dữ liệu

của cửa sổ trước đó.

2.2.3 Biến đổi dữ liệu

Biến đổi dữ liệu là một cách biến đổi dữ liệu thô ban đầu thành các tập thuộc

tính đặc trưng. Các tập thuộc tính đặc trưng này là yếu tố quan trọng giúp mô hình

phân lớp có thể nhận biết và đoán nhận các nhãn phù hợp. Với mỗi bài toán học

máy khác nhau, cụ thể là những bài toán phân lớp khác nhau cần xây dựng những

tập thuộc tính phù hợp.

11

Với bài toán phát hiện hành động ngã, tập dữ liệu là một tập dữ liệu liên tục

theo thời gian nên các tập thuộc tính đặc trưng được lựa chọn phổ biến và phù hợp

hiện nay là theo miền thời gian và miền tần số. Dựa vào thực nghiệm và đánh giá,

có thể tìm ra những tập thuộc tính để mô hình có độ chính xác cao nhất.

2.2.4 Thuộc tính trên miền thời gian

Trong miền thời gian, các đặc trưng cơ bản thường được dùng để phân tích

tín hiệu là :

- Giá trị trung bình của một cửa sổ dữ liệu đại diện chung cho tất cả các mẫu

giá trị trong cửa sổ đó. Với một cửa sổ có N mẫu, giá trị trung bình được tính là

tổng giá trị tất cả các mẫu chia số lượng mẫu:

(2.1)

𝑁 ∑ 𝑎𝑖 𝑖=1

𝑎̄ = 1 𝑁

- Phương sai là giá trị để đo lường sự phân tán của dữ liệu so với giá trị trung

bình.

(2.2)

𝑁 ∑(𝑎𝑖 − 𝑎̄ )2 𝑖=1

𝑝ℎươ𝑛𝑔 𝑠𝑎𝑖 = 𝜎2 = 1 𝑁

trong đó 𝑎̅ là giá trị trung bình được tính bởi công thức phía trên.

- Độ lệch chuẩn được tình bằng căn bậc hai của giá trị phương sai.

- Độ lệch mẫu là độ lệch giá trị giữa giá trị mẫu cực đại và mẫu giá trị cực

tiểu của tín hiệu. Độ lệch mẫu được tính bằng công thức

(2.3)

𝛥𝑥 = 𝑚𝑎𝑥( 𝑎) − 𝑚𝑖𝑛( 𝑎)

- Tỉ lệ đỉnh trên trung bình (Peak to Average Ratio), là đặc trưng được dẫn

xuất nhằm hỗ trợ nhận dạng các hoạt động bất thường được tính theo công thức:

(2.4)

𝑃𝐴𝑅 = 𝑚𝑎𝑥(𝑎) 𝑎̄

- Điểm cắt không (Zero - crossing) là các điểm mà một tín hiệu đi qua một

giá trị xác định tương ứng với một nửa khoảng giá trị tín hiệu. Giá trị phân cách tín

12

hiệu có thể là giá trị trung bình của tín hiệu. Số lần tín hiệu đi qua đường phân cách

𝑁

là số lượng điểm cắt không. Số lượng điểm cắt không có thể được ước tính như sau:

(2.5)

𝑖=1

𝐷 = ∑ 𝑑[𝑖]

trong đó

(2.6)

| 𝑑[𝑖] = | 𝑠𝑔𝑛(𝑎𝑝[𝑖]) − 𝑠𝑔𝑛(𝑎𝑝[𝑖 − 1]) 2

với 𝑎𝑝 = 𝑎 − 𝑎𝑡ℎ𝑟, 𝑎𝑡ℎ𝑟 là mức ngưỡng để phân cách hay giá trị tham chiếu

được lựa chọn phù hợp, sgn là hàm dấu.

Ngoài những thuộc tính trên, các thuộc tính cũng thường được sử dụng trên

miền thời gian như là độ hiệu dụng, tương quan chéo, tương quan tín hiệu và hệ số

tương quan, diện tích độ lớn tín hiệu (SMA), độ lớn véc-tơ tín hiệu (SVMS)

2.2.5 Thuộc tính trên miền tần số

Thuộc tính miền tần số biểu hiện sự lặp lại của dữ liệu liên tục. Để biến đổi

dữ liệu từ miền thời gian sang miền tần số thường sử dụng phép biến đổi Fourier.

Biến đổi Fourier được sử dụng trong những ứng dụng khoa học như xác suất

thống kê, vật lý, mật mã, quang học và rất nhiều lĩnh vực khác. Trong xử lý tín hiệu

liên tục, phép biến đổi Fourier sẽ chuyển đổi tín hiệu sang thành phần biên độ và tần

số. Có ba dạng biến đổi Fourier là biến đổi Fourier liên lục, chuỗi Fourier, biến đổi

Fourier rời rạc [10]. Với bộ dữ liệu của bài toán phát hiện hành động ngã, biến đổi

Fourier rời rạc là phù hợp nhất.

Biến đổi Fourier rời rạc được dùng cho các tín hiệu thời gian rời rạc. Khi mà

bộ dữ liệu gồm một chuỗi hữu hạn các mẫu là các số thực. Công thức của biến đổi

𝑁−1

Fourier rời rạc được tính toán bởi thuật toán biến đổi Fourier nhanh:

2𝜋

(2.7)

) . 𝑘. 𝑛) 𝑋𝑘 = ∑ 𝑥𝑛. 𝑒𝑥𝑝 (−𝑖 (

𝑁

𝑛=0

13

Trong đó:

- exp là cơ số của logarit tự nhiên

- i là đơn vị ảo ( 𝑖2= -1)

- k = 0, …, N-1

2.2.6 Tham số Hjorth

Tham số Hjorth là các chỉ số về đặc tính thống kê được sử dụng trong xử lý

tín hiệu trong miền thời gian. Tham số này được Bo Hjorth giới thiệu vào năm

1970. Tham số này có 3 giá trị chính là hoạt động (Activity), di động (Mobility) và

độ phức tạp (Complexity) [11].

Tính hoạt động (Activity) thể hiện công suất tín hiệu, phương sai của một

hàm thời gian. Điều này có thể chỉ ra bề mặt phổ công suất trong miền tần số:

𝐴𝑐𝑡𝑖𝑣𝑖𝑡𝑦 = 𝑣𝑎𝑟(𝑦(𝑡))

(2.8)

Trong đó y(t) là đại diện cho tín hiệu.

Tính di động (Mobility) thể hiện tần số trung bình hoặc tỷ lệ độ lệch chuẩn

của phổ công suất. Điều này được định nghĩa là căn bậc hai của phương sai của đạo

hàm đầu tiên của tín hiệu y(t) chia cho phương sai của tín hiệu y(t).

𝑣𝑎𝑟 ( ) 𝑑𝑦(𝑡) 0

(2.9)

𝑀𝑜𝑏𝑖𝑙𝑖𝑡𝑦 = √ 𝑣𝑎𝑟(𝑦(𝑡))

Độ phức tạp (Complexity) thể hiện sự thay đổi về tần số. Tham số so sánh

mức độ tương tự của tín hiệu với sóng hình Sin thuần túy, trong đó giá trị hội tụ

thành 1 nếu tín hiệu tương tự hơn.

𝑀𝑜𝑏𝑖𝑙𝑖𝑡𝑦 ( 𝑑𝑦(𝑡) 𝑑𝑡

(2.10)

) 𝐶𝑜𝑚𝑝𝑙𝑒𝑥𝑖𝑡𝑦 = 𝑀𝑜𝑏𝑖𝑙𝑖𝑡𝑦(𝑦(𝑡))

2.3

Các phương pháp phân lớp

Trong học máy có rất nhiều phương pháp phân lớp. Mỗi phương pháp phân

lớp đều có ưu nhược điểm riêng, tùy vào mỗi bài toán cụ thể chúng ta có thể lựa

14

chọn phương pháp phân lớp phù hợp nhất. Trong khuôn khổ luận văn, đối với bài

toán phát hiện hành động ngã của người đi bộ có thể thử nghiệm các phương pháp

phân lớp là Random Forest (RF), Artificial Neural Network (ANN), Support Vector

Machine (SVM)

2.3.1 Random Forest

Random Forest (rừng ngẫu nhiên) được phát triển bởi Leo Breiman tại Đại

học California, Berkeley. Random Forest là một thuật toán học có giám sát và được

đánh giá là một trong 10 phương pháp khai phá dữ liệu kinh điển nhất.

Random Forest dựa trên kỹ thuật học kết hợp. Nó tạo ra nhiều bộ phân lớp

sau đó kết hợp tất cả các kết quả của chúng. Nó hoạt động bằng cách xây dựng rất

nhiều cây quyết định một cách ngẫu nhiên. Mỗi cây quyết định được lựa chọn một

cách ngẫu nhiên từ việc tái chọn mẫu (chọn ngẫu nhiên một phần của dữ liệu để xây

dựng) và ngẫu nhiên các biến trong tập dữ liệu. Sau khi mỗi cây quyết định đưa ra

kết quả của mình. Thuật toán sử dụng cơ chế voting để tổng hợp lại kết quả của

từng cây riêng lẻ rồi lựa chọn kết quả có nhiều sự lựa chọn nhất [12].

Hình 2-3. Thuật toán Random Forest

Hình 2-3 biểu diễn cơ chế hoạt động của thuật toán RF đơn giản gồm 3 câu

quyết định. Mỗi cây quyết định sẽ lựa chọn mẫu và đưa ra kết quả của riêng mình

15

lần lượt là A, B, B. Sau đó các kết quả được tổng hợp lại, thông qua cơ chế voting

sẽ nhận được kết quả cuối cùng là B.

2.3.2 Artificial Neural Network

Artificial Neural Network (ANN) có thể hiểu là mạng thần kinh nhân tạo lấy

cảm hứng từ mạng nơ-ron thần kinh. Mô hình được mô phỏng dựa trên liên kết giữa

các nơ-ron thần kinh trong bộ não của con người. Mô hình tạo một mạng lưới các

nút để xử lý dữ liệu, mỗi nút được liên kết với nhau. Dữ liệu sẽ được chạy qua tất cả

các nút trong mạng lưới ANN và cho ra kết quả. Mỗi kết quả đầu ra đều được so

sánh với với các kết quả và dữ liệu mà mô hình đã được học tập trước đó [13].

Mô hình ANN có ba thành phần chính: Input Layer, Hidden Layer, Output

Layer. Tùy vào từng bài toán cụ thể có thể có một hoặc nhiều Hidden Layer.

Hình 2-4. Mô tả mạng ANN

Ta có thể thấy các node thuộc từng layer đều liên kết với tất cả các node

thuộc layer trước hoặc sau nó. Vì vậy dữ liệu sẽ đi quá tất cả các node của mạng mô

hình. Kết quả hoặc dữ liệu đầu ra của tầng nào sẽ là dữ liệu đầu vào của lớp kế tiếp.

16

• Input Layer: cung cấp các số liệu cần thiết cho mạng. Mỗi node của input

layer tương ứng với một thông số đầu vào. Các thông số này được chuyển đổi

về dạng véc-tơ. Số nơ-ron của Input Layer sẽ do bài toán quyết định.

• Hidden Layer: gồm các neuron ẩn. Nó giúp kết nối giữ Input Layer và Output

Layer. Tùy vào mỗi bài toán cụ thể Hidden Layer có thể có một hoặc nhiều

lớp. Mỗi node sẽ nhận ma trận đầu vào từ lớp trước nó, kết hợp với các trọng

số để trả về kết quả. Số lượng nơ-ron và số lượng lớp sẽ do người dùng quyết

định.

• Output Layer: gồm các nơ-ron đầu ra. Qua các tính toán của ANN, kết quả

được chuyển đến người dùng qua lớp này.

2.3.3 Support Vector Machine

Support Vector Machine (SVM) được dùng trong các bài toán phân loại nhị

phân hoặc đệ quy. Trong mô hình SVM, mỗi dữ liệu tương ứng với một điểm trong

không gian. Ví dụ với không gian N chiều, mô hình sẽ tìm một siêu phẳng gồm N-1

chiều. Siêu phẳng này sẽ chia đôi tập dữ liệu ra thành 2 phần riêng biệt. Việc đánh

giá siêu phẳng này có tốt nhất hay không phụ thuộc vào khoảng cách của điểm gần

nhất trong không gian đến siêu phẳng [14]. Khoảng cách càng lớn thì siêu phẳng

được đánh giá càng tốt. SVM luôn cố gắng cực đại khoảng cách này.

Hình 2-5. Không gian trong mô hình SVM

17

Ở hình ảnh phía trên, mô hình SVM sẽ lựa lựa chọn siêu phẳng H3 để phân

loại các điểm trong không gian thành 2 phần riêng biệt. Siêu phẳng H3 có khoảng

cách cực đại đến các điểm gần nó nhất.

2.4

Phương pháp đánh giá phân lớp

2.4.1 Ma trận nhầm lẫn

Trong bài toán phân loại hành động, các giá trị để đánh giá mô hình là độ

chính xác (precision), độ bao phủ (recall), F-Measure, độ đo AUC, đường cong

ROC.

Ma trận nhầm lẫn gồm 4 giá trị chính sau:

• TP[i] (true positive): số dự đoán chính xác của lớp i

• FP[i] (false positive): số lượng các mẫu không thuộc lớp i, bị phân loại

nhầm vào lớp i

• TN[i] (true negative): số lượng các ví dụ không thuộc lớp i được phân loại

chính xác

• FN[i] (false negative): số lương các mẫu thuộc lớp i nhưng bị phân loại

nhầm vào lớp khác

Ma trận nhầm lẫn với bài toán cụ thể phân lớp với hai mẫu dữ liệu mang

nhãn dương (+) và nhãn âm (-):

Bảng 2-1. Ma trận nhầm lẫn

Được phân lớp bởi mô hình Mẫu dữ liệu + -

+ TP FN Thực tế - FP TN

Từ ma trận nhầm lẫn, ta có thể tính được các giá trị để đo độ chính xác của

mô hình.

Độ chính xác (precision) là tỉ lệ giữa số phân loại đúng là mẫu dương trên

tổng số các mẫu được phân loại là mẫu dương.

18

𝑇𝑃

Precision =

(2.11)

𝑇𝑃+𝐹𝑃

Độ bao phủ (recall) để xác định số mẫu phân loại đúng là mẫu dương trên

𝑇𝑃

tổng số mẫu dương thực.

Recall =

(2.12)

𝑇𝑃+𝐹𝑁

F-Measure là tiêu chí đánh giá dựa trên sự kết hợp của dộ chính xác và độ

2 ∗ 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 ∗ 𝑅𝑒𝑐𝑎𝑙𝑙

bao phủ. Công thức tính F-Measure như sau:

F-Measure =

(2.13)

𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛+𝑅𝑒𝑐𝑎𝑙𝑙

Ngoài ra, kết quả phân lớp còn được đánh giá bởi độ chính xác (Accuracy), độ nhạy

(sensitivity), độ đặc hiệu (specificity).

𝑇𝑃+𝑇𝑁

Độ chính xác (Accuracy)

𝑇𝑃+𝐹𝑃+𝑇𝑁+ 𝐹𝑁

Accuracy =

(2.14)

Độ nhạy (sensitivity) là tỉ lệ số mẫu phân loại đúng là mẫu dương trên tổng

𝑇𝑃

số mẫu dương thực.

𝑇𝑃+𝐹𝑁

Sensitivity =

(2.15)

Độ đặc hiệu (specificity) là tỉ lệ số mẫu phân loại đúng là mẫu âm trên tổng

𝑇𝑁

số mẫu âm thực.

Specificity =

(2.16)

𝑇𝑁+𝐹𝑃

Ta có thể thấy, trong bài toán phân loại hai mẫu dương và âm. Kết quả lý

tưởng là độ nhạy và độ đặc hiệu là 1. Tức là mô hình phân lớp đúng 100%. Nhưng

trong thực tế dường như không một mô hình phân lớp nào chính xác tuyệt đối cả.

Hầu hết các mô hình có độ nhạy cao thì độ đặc hiệu thấp hoặc ngược lại.

19

2.4.2 Biểu đồ ROC và độ đo AUC

Như đã trình bài ở phần trên, những mô hình có độ nhạy cao thì độ đặc hiệu

thấp hoặc ngược lại, vì vậy biểu đồ ROC (Receiver Operating Characteristic) là

phương pháp phân tích để cân bằng hai độ đo này. Biểu đồ ROC gồm 2 trục X, và

Y. Trục tung (Y) biểu là giá trị True positive rate, trục hoành (X) biểu diễn giá trị

𝑇𝑃

False positive rate.

True positive rate =

(2.17)

𝑇𝑃+𝐹𝑁

𝐹𝑃

False positive rate =

(2.18)

𝑇𝑃+𝐹𝑁

Hình 2-6. Biểu đồ biểu diễn đường cong ROC

Hai giá trị True positive rate và False positive rate được biểu diễn bởi các

điểm trên biểu đồ ROC. Hai chỉ số này biến thiên ngược chiều nhau và tạo thành

đường cong ROC. Các điểm nằm phía bên trái của đường chéo sẽ cho kết quả tốt.

20

Độ đo AUC (Area Under Curve) chính là diện tích đường cong ROC. Công

thức tính AUC như sau:

(2.19)

Trong đó n0 là kích cỡ mẫu 1, n1 là kích cỡ mẫu 2. Ro là tổng của các xếp

hạng trong mẫu. Giá trị của AUC thường được dùng để đánh giá độ chính xác của

mô hình phân lớp.

Hình 2-7. Diện tích đường cong ROC (độ đo AUC)

Độ đo AUC càng lớn, độ chính xác của mô hình phân lớp càng cao, mô hình

được đánh giá tốt. Một mô hình tốt có độ đo AUC trên 0.5.

Bảng 2-2. Độ đo AUC với độ chính xác của mô hình phân lớp

AUC Ý nghĩa

>0.9 Rất tốt

0.8 đến 0.9 Tốt

0.7 đến 0.8 Trung bình

0.6 đến 0.7 Không tốt

0.5 đến 0.6 Rất tệ

21

2.5

Kết luận chương

Trong chương này, chúng tôi đã tìm hiểu và phân tích quy trình chuẩn bị dữ

liệu, tiền xử lý dữ liệu. Tìm hiểu các phương pháp phân lớp cũng như ưu nhược

điểm của từng phương pháp. Đồng thời nêu ra những phương pháp đánh giá phân

lớp, lựa chọn các trọng số để có thể đánh giá chính xác nhất độ tốt của một phương

pháp phân lớp.

22

Chương 3. XÂY DỰNG MÔ HÌNH PHÁT HIỆN HÀNH ĐỘNG

3.1

Giới thiệu

Trong chương này, chúng ta sẽ tập trung vào việc phân tích và xây dựng hệ

thống phát hiện hành động ngã. Quá trình xây dựng hệ thống sẽ áp dụng các kỹ

thuật xử lý dữ liệu, xây dựng tập thuộc tính. Sau đó sẽ sử dụng bộ dữ liệu đã được

xử lý để chạy mô hình phân lớp. Từ mô hình phân lớp ban đầu, sử dụng thuật toán

tối ưu Particle Swarm Optimization tìm bộ tham số có kết quả phân lớp tốt hơn.

3.2

Tổng quan hệ thống

Hệ thống phát hiện hành động ngã của người đi bộ dựa trên cảm biến gia tốc

của điện thoại thông minh được chia làm hai pha chính.

- Pha huấn luyện

- Pha phát hiện

Hình 3-1. Tổng quan hệ thống phát hiện hành động ngã

Trong pha huấn luyện, chúng ta sử dụng dữ liệu gia tốc thu được từ cảm

biến. Đây là bộ dữ liệu có gán nhãn và đã được phân loại các hành động cụ thể. Từ

tập dữ liệu thô phải tiến hành tiền xử lý dữ liệu qua các kỹ thuật biến đổi dữ liệu từ

đó có được các tập thuộc tính đặc trưng. Từ đó có thể xây dựng được mô hình nhận

23

dạng cho hệ thống bằng các phương pháp và thuật toán phân lớp. Khi đã có được

mô hình nhận dạng cơ bản cần phải tối ưu các tham số của mô hình để có được độ

chính xác tốt hơn từ đó có thể xây dựng được mô hình hoàn chỉnh với độ chính xác

cao.

Trong pha phát hiện, dữ liệu cũng được thu thập từ cảm biến gia tốc của điện

thoại nhưng không được gán nhãn. Dữ liệu cũng được tiền xử lý qua các bước

giống pha huấn luyện, đi qua mô hình phân lớp đã xây dựng được ở pha huấn luyện.

Từ đó có thể phân loại được dữ liệu thuộc hành động nào.

3.2.1 Dữ liệu thu thập từ cảm biến gia tốc

Dữ liệu thu thập từ cảm biến gia tốc của điện thoại thông minh. Dữ liệu thô

ban đầu thu thập được sẽ gồm hai phần chính là thời điểm thu thập mẫu và véc-tơ

gia tốc theo trục X, Y, Z. Ba trục này được biểu diễn trên dưới đây.

Hình 3-2. Các trục X, Y, Z trên cảm biến gia tốc

Một cảm biến gia tốc đo theo 3 chiều X, Y, Z so với màn hình điện thoại.

Mỗi khi có sự thay đổi về vị trí của điện thoại, cảm biến sẽ sinh ra một véc-tơ có 3

chiều và được đo bằng đơn vị 𝑚/𝑠2.

24

25

20

15

10

5

0

-5

-10

-15

X

Y

Z

Hình 3-3. Dữ liệu thời gian ba trục X, Y, Z biểu diễn trên đồ thị

3.2.2 Xây dựng tập thuộc tính đặc trưng

Dữ liệu gia tốc thu được là chuỗi dữ liệu liên tục theo miền thời gian. Đây là

một chuỗi dữ liệu thô ban đầu. Để nạp dữ liệu vào mô hình chúng ta cần biến đổi dữ

liệu thô ban đầu thành một cấu trúc dữ liệu mà mô hình phân lớp có thể hiểu. Đây

chính là quá trình xây dựng các tập thuộc tính đặc trưng.

Trong miền thời gian, một vài giá trị thường được sử dụng làm thuộc tính

đặc trưng như giá trị trung bình, phương sai, độ lệch chuẩn, diện tích độ lớn tín hiệu

(MSA), tỉ lệ đỉnh trên trung bình (PAR), độ lớn véc-tơ tín hiệu (SVM). Ngoài các

thuộc tính trên miền thời gian, các tập thuộc tính trên miền tần số và tham số Hjorth

cũng thường được sử dụng.

Với mỗi bộ dữ liệu và bài toán khác nhau, cần phải đánh giá để tìm những bộ

thuộc tính phù hợp nhất. Trong khuôn khổ luận văn từ dữ liệu cảm biến gia tốc ban

đầu đã xây dựng thành các bộ thuộc tính khác nhau. Bộ thuộc tính trên miền thời

gian là 34 thuộc tính, kèm theo là 7 thuộc tính trên miền tần số và 18 thuộc tính từ

tham số Hjorth.

25

Các bộ thuộc tính được xây dựng riêng biệt, vì vậy cần phải đánh giá và chạy

thử nghiệm tính đúng đắn của từng bộ. Có thể kết hợp các bộ thuộc tính với nhau để

cùng tạo một bộ dữ liệu nạp vào mô hình đầy đủ hơn.

3.3

Tối ưu mô hình

Sau khi thử nghiệm và lựa chọn được mô hình phù hợp với bài toán, bước

tiếp theo cần thực hiện là tối ưu mô hình để có được kết quả tốt hơn mô hình ban

đầu. Mô hình tối ưu sẽ giúp hệ thống có kết quả phân tích tốt hơn, giúp phân loại

hành động và phát hiện hành động ngã tốt hơn. Luận văn tập trung vào phát hiện

hành động ngã, vì vậy cần tối ưu mô hình làm sao để tỉ lệ phán đoán và phát hiện

các hành động ngã chính xác và hạn chế tối đa sự nhầm lẫn. Bước tiếp theo sau khi

đã xác định được mô hình phù hợp là tối ưu hệ thống nhận dạng dựa trên việc tối ưu

dự liệu, tìm kiếm các tham số để nâng cao kết quả phân lớp của mô hình.

3.3.1 Thuật toán tối ưu Particle Swarm Optimization – PSO

Giới thiệu thuật toán

Thuật toán tối ưu bầy đàn (Particle Swarm Optimization - PSO) là một thuật

toán được phát triển mô phỏng trí tuệ bầy đàn để tìm kiếm kết quả cho các bài toán

tối ưu hoá trên một phạm vi tìm kiếm cố định. Thuật toán được công bố vào năm

1995 tại hội nghị của IEEE bởi Dr.Eberhart và Dr.Kennedy. PSO được công nhận

và áp dụng trong nhiều lĩnh vực khoa học trên toàn thế giới mà ở đó đòi hỏi các kỹ

thuật tối ưu hóa. PSO mô phỏng hành vi trong quá trình tìm kiếm thức ăn của các

bầy chim hay đàn cá. Một vài khái niệm của thuật toán:

• PSO là một kỹ thuật tối ưu hóa ngẫu nhiên, ban đầu khởi tạo một nhóm

cá thể ngẫu nhiên. Sau đó cập nhật các kết quả tối ưu bằng việc cập nhật

các thế hệ.

• Mỗi cá thể trong bầy đàn đều có hướng bay hoặc hướng tìm kiếm thức ăn

riêng. Sau mỗi lần cập nhật, các cá thể cập nhật hướng theo vị trí tốt nhất

nó từng đạt được và vị trí tốt nhất mà cả bầy đàn từng đạt được.

26

Để hiểu rõ hơn về thuật toán PSO, chúng ta áp dụng nó vào việc tìm kiếm

thức ăn của một bầy chim trong không gian. Phạm vi tìm kiếm thức ăn là không

gian chúng ta đang sinh sống. Ban đầu, cả bầy có một hướng bay, mỗi cá thể trong

bầy có một vị trí ngẫu nhiên và khác nhau. Sau một thời gian tìm kiếm, có một vài

cá thể tìm thấy thức ăn. Tùy vào lượng thức ăn được tìm thấy, chúng ta có vị trí tìm

kiếm được nhiều thức ăn nhất của cả bầy. Từ đó tất cả các cá thể trong đàn sẽ cập

nhật lại hướng bay và vận tốc của mình để hướng về vị trí có nhiều thức ăn nhất.

Quá trình này được lặp lại, qua mỗi lần cập nhật sẽ theo xu hướng tìm được nơi có

nhiều thức ăn hơn. Đây là một dạng trí tuệ dựa trên sự gắn kết bầy đàn. Giúp làm

giảm thời gian tìm kiếm và tăng tỉ lệ tìm kiếm được vị trí có nhiều thức ăn nhất,

tăng không gian tìm kiếm của bầy đàn.

Hình 3-4. Mô tả quá trình tìm kiếm thức ăn của đàn chim

Hình 3-4 mô tả quá trình tìm kiếm thức ăn của đàn chim trong không gian 3

chiều. Ban đầu, mỗi cả thể có mỗi hướng tìm kiếm thức ăn khác nhau và có vị trí

ngẫu nhiên khác nhau trong không gian ba chiều. Sau một thời gian tìm kiếm, dựa

vào sự gắn kết bầy đàn cũng như truyền tải thông tin bầy đàn, các cá thể sẽ có xu

hướng cập nhật lại hướng bay và vị trí để tìm được nơi có nhiều thức ăn nhất.

Công thức tính toán

Trong nhiều năm kể từ khi thuật toán PSO ra đời, nó được đón nhận và dành

được sự quan tâm của rất nhiều nhà nghiên cứu. Có nhiều phiên bản biến thể của

27

thuật toán này nhằm nâng cao khả năng tính toán, giảm thời gian tìm kiếm. Trong

khuôn khổ luận văn, chúng tôi trình bày công thức cơ bản nhất của thuật toán khi

được giới thiệu lần đầu.

Đầu tiên, PSO khởi tạo một nhóm cá thể ngẫu nhiên. Trong nhóm cá thể

ngẫu nhiên ban đầu, vị trí tốt nhất của bầy đàn chính là vị trí của một trong các cá

thể khởi tạo ban đầu. Mỗi lần cập nhật vị trí của các cá thể trong đàn mỗi cá thể sẽ

biết được 2 giá trị là Pbest vị trí tốt nhất cá thể đó từng đạt được và Gbest vị trí tốt nhất

mà tất cả các cả thể từng đạt được đến thời điểm hiện tại. Từ 2 giá trị này, từng cá

thể trong đàn sẽ cập nhật lại vị trí, hướng bay của mình theo vị trí tốt nhất từng đạt

được.

Hình 3-5. Quá trình cập nhật vị trí sử dụng PSO

𝑡: Vị trí của cá thể i trong thế hệ thứ t 𝑥𝑖

𝑡: Vận tốc của cá thể i trong thế hệ thứ t

Trong đó:

𝑡+1: Vận tốc của cá thể i trong thế hệ thứ t+1

𝑣𝑖 𝑡+1: Vị trí của cá thể i trong thế hệ thứ t+1 𝑥𝑖

𝑣𝑖

𝑃𝑏𝑒𝑠𝑡: Vị trí tốt nhất cá thể i đạt được

𝐺𝑏𝑒𝑠𝑡: Vị trí tốt nhất trong quần thể

28

Sau mỗi lần cập nhật, vị trí và vận tốc của từng cá thể được tính theo công

𝑡 )

thức sau:

(3.1)

𝑡+1 = 𝜔 × 𝑣𝑖

𝑡 + 𝑐1 × 𝑟1 × (𝑃𝑏𝑒𝑠𝑡 − 𝑥𝑖

𝑡 ) + 𝑐2 × 𝑟2 × (𝐺𝑏𝑒𝑠𝑡 − 𝑥𝑖

𝑡+1

𝑣𝑖

(3.2)

𝑡+1 = 𝑥𝑖

𝑡 + 𝑣𝑖

𝑥𝑖

Trong đó:

𝜔: là hệ số quán tính

𝑐1, 𝑐2: Các hệ số gia tốc, giá trị trong khoảng 1.5 đến 2.5

𝑟1, 𝑟2: Các số ngẫu nhiên, giá trị trong khoảng 0 đến 1

Thuật toán: Thuật toán tối ưu hóa PSO

1. P = Particle_Initialization() //khởi ngẫu nhiên các cá thể

2. For i:=1 to tmax do //thực hiện tmax lần

3. For each pacticle p in P do // duyệt qua tất cả các cả thể

trong bầy đàn

4. If p > 𝑃𝑏𝑒𝑠𝑡 Then // nếu giá trị hiện tại lớn hơn Pbest

5. 𝑃𝑏𝑒𝑠𝑡 ← 𝑝 //cập nhật giá giá trị tốt nhất mà cá thể từng đạt được

6. EndIf

7. EndFor

8. 𝐺𝑏𝑒𝑠𝑡 = best 𝑃𝑏𝑒𝑠𝑡 in P // cập nhật giá trị Gbest 9. For each pacticle p in P do // duyệt qua tất cả các cả thể

trong bầy đàn

10. 𝑣 = 𝜔 + 𝑣 + 𝑐1 × 𝑟1 × (𝑃𝑏𝑒𝑠𝑡 − 𝑥 ) + 𝑐2 × 𝑟2 × (𝐺𝑏𝑒𝑠𝑡 − 𝑥 ) // cập nhật vận tốc của cá thể

𝑥 = 𝑥 + 𝑣 // cập nhật vị trí mới cho cá thể

11. EndFor

12. EndFor

13. Return Gbest

Thuật toán 3-1. Thuật toán tối ưu PSO

29

3.3.2 Mô hình nhận dạng và thuật toán PSO

Khi sử dụng phương pháp nhận dạng Random Forest để tiến hành phân lớp,

các thông số mặc định ban đầu đã được sử dụng. Các tham số mặc định là:

P = 100; I =100; num-slots = 1; K =10; M = 1.0; V = 0.001; S = 1

Trong đó:

- P (Bag size percent): Kích thước của mỗi túi, theo tỷ lệ phần trăm

của kích thước tập huấn luyện.

- I (numIterations): Số lượng cây trong rừng ngẫu nhiên

- Num-slot (numExecutionSlots): Số lượng luồng được sử dụng để

xây dựng nhóm.

- K (numFeatures): Số lượng thuộc tính được chọn ngẫu nhiên

- M (minimum number of instances): Đặt số lượng cá thể tối thiểu

cho mỗi lá

- V (minimum variance for split): Đặt tỷ lệ phương sai loại số tối

thiểu

- S (seed): Số hạt giống ngẫu nhiên được sử dụng.

Với bộ tham số của Random Forest, để tìm được các tham số tối ưu nhất cho

bộ phân lớp, chúng ta phải thử rất nhiều lần. Và số lượng lần thử nghiệm sẽ tăng

theo cấp số nhân với từng bộ tham số. Một ví dụ đơn giản với ba tham số P (Bag

size percent), I (numIterations), Num-slot. Tham số P có thể nhận giá trị từ 1 đến

100, tham số I có thể nhận giá trị từ 1 đến 1000 hoặc nhiều hơn nữa, K có thể nhận

giá trị từ 1 đến số lượng thuộc tính trong một bộ dữ liệu (ví dụ là 50 bộ thuộc tính).

Như vậy chúng ta phải thử nghiệm mô hình RF 5000000 lần. Như vậy sẽ mất rất

nhiều thời gian. Với một cấu hình của máy tính phổ thông hiện nay thì thời gian ít

nhất phải lên đến hàng năm.

Mỗi bài toán khác nhau, mỗi bộ dữ liệu khác nhau chúng ta có những cách

xây dựng bộ thuộc tính khác nhau. Vì vậy các thông số của bộ phân lớp cũng cần

phải thay đổi để phù hợp với bộ thuộc tính của dữ liệu. Như vậy sẽ cho ra kết quả

30

phân lớp tốt. Nhưng để thử được tất cả các bộ tham số của mô hình qua các phương

pháp như vét cạn và thử hết các bộ tham số sẽ mất rất nhiều tài nguyên và thời gian.

Với thuật toán tối ưu, chúng ta có thể giảm được tối đa thời gian thử nghiệm. Giúp

mô hình tìm được vùng có bộ tham số tốt.

Để kết hợp bộ phân lớp Random Forest với thuật toán tối ưu, chúng ta xác

định được những tham số nào cần tối ưu và lấy giá trị đầu ra nào của bộ phân lớp để

làm trọng số đánh giá.

Trọng số đánh giá

Trong khuôn khổ luận văn tập trung vào việc phát hiện hành động ngã. Vì vậy

việc phát hiện và phân lớp các hành động ngã được đặc biệt quan tâm. Như đã trình

bày ở chương 2, có các giá trị đầu ra để đánh giá một mô hình như độ chính xác

(precision), độ bao phủ (recall), F-Measure, độ đo AUC, đường cong ROC. Trong

đó giá trị F-Measure là giá trị thể hiện rõ nhất hiệu quả của mô hình phân lớp. Vì

vậy trọng số đánh giá mô hình phân lớp để áp dụng vào thuật toán tối ưu sẽ lấy giá

trị trung bình F-Measure của các hành động ngã. Giá trị đó được tính như sau:

𝐹 = 𝐹𝐹𝐾𝐿 + 𝐹𝐹𝑂𝐿 + 𝐹𝐵𝑆𝐶 + 𝐹𝑆𝐷𝐿 4

Trong đó:

𝐹𝐹𝐾𝐿: Giá trị F-measure phân lớp cho hành động ngã gập đầu gối

𝐹𝐹𝑂𝐿: Giá trị F-measure phân lớp cho hành động ngã về phía trước

𝐹𝐹𝐾𝐿: Giá trị F-measure phân lớp cho hành động ngã từ ghế

𝐹𝐹𝐾𝐿: Giá trị F-measure phân lớp cho hành động ngã nghiêng

Khi sử dụng thuật toán PSO, sau mỗi lần cập nhật, chúng ta sẽ lấy giá trị F

là trọng số. Mô hình càng tốt khi giá trị của F càng lớn, lý tưởng là 1 (tương ứng

là phân lớp các hành động ngã đúng 100%).

31

Các tham số cần tối ưu

Bộ phân lớp Random Forest có nhiều tham số, vì vậy cần phải chọn lọc

những tham số cần tối ưu tránh lãng phí tài nguyên cũng như thời gian chạy thuật

toán. Các tham số tối ưu sẽ là những tham số quan trọng, khi thay đổi các tham số

này sẽ làm độ chính xác của mô hình tăng hoặc giảm rõ rệt. Nếu chọn quá nhiều

tham số sẽ làm cho thuật toán tối ưu trở lên phức tạp hơn, lãng phí tài nguyên máy

tính cũng như quá trình tìm được mô hình cuối cùng trở lên khó khăn hơn. Sau quá

trình nghiên cứu, chúng tôi đề xuất những tham số sẽ tối ưu trong mô hình nhận

dạng sử dụng phương pháp Random Forest như sau:

- P (Bag size percent): Kích thước của mỗi túi, theo tỷ lệ phần trăm của

kích thước tập huấn luyện.

- I (numIterations): Số lượng cây trong rừng ngẫu nhiên

- Num-slot (numExecutionSlots): Số lượng luồng được sử dụng để xây

dựng nhóm.

- K (numFeatures): Số lượng thuộc tính được chọn ngẫu nhiên

Sau khi xác định được trọng số đánh giá và các tham số của mô hình áp dụng

vào thuật toán tối ưu, ta có thể thấy cần phải cải tiến thuật toán tối ưu để cùng

lúc mỗi hạt trong mô hình có thể cập nhật được nhiều tham số trong mô hình. Ví

dụ đơn giản như đàn chim tìm kiếm thức ăn sử dụng PSO, mỗi cá thể trong đàn

chim chỉ cần cập nhật một thông số là véc-tơ vận tốc của mình. Nhưng trong bài

toán của mô hình RF, chúng ta sẽ phải tính lại vận tốc cho 4 tham số trong mô

hình RF. Tối ưu mô hình RF khi kết hợp với thuật toán PSO sẽ được thực hiện

như sau:

1. Khởi tạo quần thể

• Thiết lập các giá trị ban đầu: 𝑐1, 𝑐2, 𝑡𝑚𝑎𝑥

• Thiết lập giá trị giới hạn cho từng tham số trong mô hình

• Khởi tạo ngẫu nhiên các bộ tham số, các tham số ngẫu nhiên

𝑡)

2. Tối ưu hóa

• Với mỗi bộ tham số, sẽ có đầu ra là trọng số F (𝑓𝑖

32

𝑡

𝑡 > 𝑃𝑏𝑒𝑠𝑡, cập nhật 𝑃𝑏𝑒𝑠𝑡 = 𝑓𝑖 • Nếu 𝑃𝑏𝑒𝑠𝑡 > 𝐺𝑏𝑒𝑠𝑡, cập nhật 𝐺𝑏𝑒𝑠𝑡 = 𝑃𝑏𝑒𝑠𝑡

• Nếu 𝑓𝑖

• 𝐺𝑏𝑒𝑠𝑡 = 1, thỏa mãn điều kiện tìm kiếm, dừng tối ưu, chuyển sang

bước 3.

• Cập nhật lại vector vận tốc cho từng tham số trong mô hình

• Cập nhật giá trị mới cho từng tham số trong mô hình

• Lặp lại bước 2 (tối ưu hóa).

3. Kết thúc

Kết thúc khi thỏa mãn điều kiện tìm kiếm, hoặc số vòng lặp đạt giá

trị tối đa 𝑡𝑚𝑎𝑥

Hình 3-6. Tối ưu mô hình bằng thuật toán PSO

33

Trong đó, giá trị F:

𝐹 = 𝐹𝐹𝐾𝐿 + 𝐹𝐹𝑂𝐿 + 𝐹𝐵𝑆𝐶 + 𝐹𝑆𝐷𝐿 4

𝐹𝐹𝐾𝐿: Giá trị F-measure phân lớp cho hành động ngã gập đầu gối

𝐹𝐹𝑂𝐿: Giá trị F-measure phân lớp cho hành động ngã về phía trước

𝐹𝐹𝐾𝐿: Giá trị F-measure phân lớp cho hành động ngã từ ghế

𝐹𝐹𝐾𝐿: Giá trị F-measure phân lớp cho hành động ngã nghiêng

Hình 3-6 mô tả thuật toán tối ưu mô hình khi kết hợp với PSO. Kết quả sau

mỗi lần cập nhật các bộ tham số, cập nhật giá trị Pbest, Gbest sẽ được so sánh đã

thỏa mãn với yêu cầu của bài toán chưa. Nếu Gbest chưa thỏa mãn điều kiện để

dừng thuật toán và t < 𝑡𝑚𝑎𝑥 sẽ tiếp tục cập nhật lại véc-tơ vận tốc, tính toán lại các

giá trị trong bộ tham số và tiến hành vòng lặp tiếp theo. Còn nếu Gbest đã thỏa mãn

giá trị yêu cầu, hoặc đã hết số lần chạy thuật toán t = 𝑡𝑚𝑎𝑥 sẽ dừng thuật toán và giá

trị tốt nhất của mô hình sẽ là giá trị Gbest hiện tại. Vì giá trị lý tưởng của F-measure

là 1 (tương ứng phân lớp các hành động ngã đúng 100%) nên giá trị Gbest tối đa có

thể đạt được cũng là giá trị để dừng thuật toán là 1.

3.4

Thực nghiệm và đánh giá

3.4.1 Môi trường thực nghiệm

Hệ thống phát hiện hành động ngã được xây dựng trên ngôn ngữ java. Các

mô hình phân tích dữ liệu và phát hiện hành động sử dựng bộ công cụ WEKA.

Chúng tôi tiến hành khảo sát và thực nghiệm phân lớp trên các mô hình

Random Forest (RF), Artificial Neural Network (ANN) và Support Vector Machine

(SVM). Các tham số của các thuật toán phân lớp được sử dụng mặc định của bộ

công cụ WEKA.

3.4.2 Dữ liệu thực nghiệm

Trong khuôn khổ luận văn bộ dữ liệu sử dụng được chia làm 12 hành động

cơ bản ( đi, chạy, ngồi, bước lên xe ô tô, …) và 4 hành động ngã (ngã về phía trước,

ngã gập đầu gối, ngã khi đang cố ngồi vào ghế, ngã nghiêng). Bộ dữ liệu được thu

34

thập từ cảm biến gia tốc của điện thoại thông minh. Tần số lấy mẫu dữ liệu là 50Hz

tức là 1 giây chúng ta có 50 mẫu dữ liệu. Để đảm bảo tính khách quan của dữ liệu,

có nhiều người cùng tham gia thu thập từ đó sẽ có một bộ dữ liệu đa dạng.

Trong khuôn khổ luận văn, bô dữ liệu sử dụng là MobiAct [15]. Đây là bộ dữ

liệu được công bố rộng rãi và có thể tải miễn phí. Bộ dữ liệu được thu thập từ 66

tình nguyện viên khác nhau. Mỗi tình nguyện viên sẽ mô phỏng các hành động

thường ngày và các kiểu ngã khác nhau. Gồm 12 hoạt động thường ngày và 4 kiểu

ngã.

Bảng 3-1. Các hoạt động thường ngày

Thử

Thời

TT Nhãn

Hoạt động

Mô tả

nghiệm

gian

1

STD Đứng

1

5 phút Đứng với với cử động nhẹ nhàng

2 WAL Đi bộ

1

5 phút Đi bộ bình thường

3

JOG Chạy bộ

3

30 giây Chạy bộ

4

JUM Nhảy

3

30 giây Nhảy liên tục

5

STU Lên cầu thang

10 giây Đi lên cầu thang (10 bậc)

6

Xuống cầu

6

STN

6

10 giây Đi xuống cầu thang (10 bậc)

thang

Đứng chuyển

Chuyển tiếp từ đứng sang ngồi (ngồi

7

SCH

6

6 giây

sang ngồi

trên ghế)

Ngồi trên ghế với những cử động

1

8

SIT Ngồi trên ghế

1 phút

nhẹ nhàng

Ngồi chuyển

Chuyển tiếp từ ngồi sang đứng

9

CHU

6

6 giây

sang đứng

(đứng lên từ ghế)

Bước vào xe

10

CSI

6

6 giây Bước vào trong xe

hơi

Bước ra khỏi

11 CSO

6

6 giây Bước ra khỏi xe hơi

xe hơi

Hoạt động được thực hiện ở khoảng

12

LYI Nằm

12

-

thời gian nằm sau ngã

35

Bảng 3-2. Các trạng thái ngã

Thử

TT Nhãn

Hoạt động

Thời gian

Mô tả

nghiệm

Ngã về phía

Ngã về phía trước khi đang đứng, sử

1

FOL

3

10 giây

trước

dụng tay để chống ngã

Ngã gập đầu

Ngã về phía trước khi đang đứng,

2

FKL

3

10 giây

gối

đầu gối tiếp xúc đầu tiên.

Ngã ngửa trong khi đang ngồi trên

3

BSC Ngã từ ghế

3

10 giây

ghế

Ngã sang một bên khi đang đứng,

4

3

SDL Ngã nghiêng

10 giây

gập chân

3.4.3 Kết quả thực nghiệm với Random Forest

Kết quả thực nghiệm với bộ dữ liệu sử dụng kích thước cửa sổ từ 1 đến 6

giây, tỉ lệ chồng dữ liệu lần lượt là 25%, 50%, 75%. Độ đo F-measure được sử dụng

chính để đánh giá độ tốt của mô hình phân lớp.

Mô hình phân lớp Random Forest sử dụng bộ tham số mặc định của bộ công

cụ WEKA.

Bảng 3-3. Mô hình RF với các thông số mặc định

P

I

num-slots K M

V

S

Tham số mặc định của RF

100

100

1

0

1

0.001

1

Trong đó:

- P (Bag size percent): Kích thước của mỗi túi, theo tỷ lệ phần trăm

của kích thước tập huấn luyện.

- I (numIterations): Số lượng cây trong rừng ngẫu nhiên

- Num-slot (numExecutionSlots): Số lượng luồng được sử dụng để

xây dựng nhóm.

- K (numFeatures): Số lượng thuộc tính được chọn ngẫu nhiên

36

- M (minimum number of instances): Đặt số lượng cá thể tối thiểu

cho mỗi lá

- V (minimum variance for split): Đặt tỷ lệ phương sai loại số tối

thiểu

- S (seed): Số hạt giống ngẫu nhiên được sử dụng.

Kết quả độ chính xác của phân lớp được thể hiện trong bảng dưới đây.

Bảng 3-4. Kết quả phân lớp của mô hình RF

Tỉ lệ chồng dữ liệu

25% 50% 75%

Kích thước cửa sổ

1 giây 0.524 0.582 0.671

2 giây 0.664 0.783 0.695

3 giây 0.653 0.716 0.587

4 giây 0.689 0.635 0.665

5 giây 0.522 0.589 0.597

0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0

1s

2s

3s

4s

5s

6s

25%

0.524

0.664

0.653

0.689

0.522

0.656

50%

0.582

0.783

0.716

0.635

0.589

0.522

75%

0.671

0.695

0.587

0.665

0.597

0.598

25%

50%

75%

6 giây 0.656 0.522 0.598

Hình 3-7. Biểu đồ kết quả phân lớp của mô hình RF

37

Từ bảng 3-5 và biểu đồ hình 3-7 cho thấy, kết quả phân lớp của mô hình RF

cho kết quả trọng số F-measure tốt tại cửa sổ dữ liệu W = 2 giây và tỉ lệ chồng chéo

là 50%. Khi đó F-measure đạt giá trị 0.783. Từ đó có thể thấy được ảnh hưởng của

cửa sổ dữ liệu đến kết quả của thuật toán phân lớp.

3.4.4 Kết quả thực nghiệm với ANN và SVM

Với mô hình phân lớp ANN và SVM, chúng tôi sử dụng kích thước cửa sổ từ

1 đến 6 giây, tỉ lệ chồng dữ liệu lần lượt là 25%, 50%, 75%. Độ đo F-measure được

sử dụng chính để đánh giá độ tốt của mô hình phân lớp. Các mô hình này cũng được

thử nghiệm với bộ tham số mặc định của bộ công cụ WEKA.

Bảng 3-5. Bộ tham số của mô hình ANN và SVM

STT Mô hình Bộ tham số

1 ANN L = 0.3; M = 2; N = 500; V = 0; S = 0; E = 20; H = a

S= 0; K= 2; D = 3; G = 0; R = 0.0; N = 0.5; M = 40; C = 1.0; E =

2 SVM

0.001; P = 0.1

Trong đó:

Mô hình ANN:

- L (learning rate): Tỷ lệ học cho thuật toán lan truyền ngược.

- M (Momentum): Tỷ lệ động lượng cho thuật toán lan truyền

ngược.

- N (number of epochs): Số kỷ nguyên cần đào tạo.

- V (percentage size of validation set): Phần trăm kích thước xác

thực được đặt để sử dụng để chấm dứt đào tạo.

- S (seed): Giá trị được sử dụng để khởi tạo trình tạo số ngẫu nhiên

- E (threshold for number of consecutive errors): Số lỗi gia tăng liên

tiếp được phép xác thực kiểm tra trước khi kết thúc đào tạo.

- H (comma separated numbers for nodes on each layer): Các lớp ẩn

được tạo cho mạng. Giá trị mặc định bằng a=(attribs + classes) / 2

38

Mô hình SVM:

- S (type of SVM): Đặt loại cho mô hình SVM

- K (type of kernel function): Đặt loại cho hàm Kernel

- D (degree in kernel function): Độ trong hàm nhân

- G (gamma in kernel function): Gamma trong hàm nhân

- R (coef0 in kernel function): coef0 trong hàm nhân

- N (Nu): tham số nu của nu-SVC, SVM một lớp và nu-SVR

- M (cachesize): kích thước bộ nhớ đệm tính bằng MB

- C (cost) : tham số C của C-SVC, epsilon-SVR và nu-SVR

- E (epsilon): đặt dung sai của tiêu chí kết thúc

- P: chức năng mất epsilon của epsilon-SVR

Kết quả thử nghiệm của 2 bộ mô hình như sau

Bảng 3-6. Kết quả phân lớp của mô hình ANN

Tỉ lệ chồng dữ liệu

50% 75% 25%

Kích thước cửa sổ

1 giây 0.601 0.603 0.563

2 giây 0.653 0.602 0.485

3 giây 0.609 0.535 0.436

4 giây 0.569 0.549 0.514

5 giây 0.441 0.563 0.515

6 giây 0.589 0.556 0.532

39

Bảng 3-7. Kết quả phân lớp của mô hình SVM

Tỉ lệ chồng dữ liệu

25% 50% 75%

Kích thước cửa sổ

0.602 0.389 0.568 1 giây

0.516 0.392 0.536 2 giây

0.556 0.347 0.587 3 giây

0.547 0.656 0.579 4 giây

0.607 0.657 0.425 5 giây

0.7

0.6

0.5

0.4

0.3

0.2

0.1

0

1s

2s

3s

4s

5s

6s

25%

0.563

0.485

0.436

0.514

0.515

0.532

50%

0.601

0.653

0.609

0.569

0.441

0.589

75%

0.603

0.602

0.535

0.549

0.563

0.556

25%

50%

75%

0.445 0.563 0.489 6 giây

Hình 3-8. Biểu đồ kết quả mô hình ANN

40

0.7

0.6

0.5

0.4

0.3

0.2

0.1

0

1s

2s

3s

4s

5s

6s

25%

0.602

0.516

0.556

0.547

0.607

0.445

50%

0.389

0.392

0.347

0.656

0.657

0.563

75%

0.568

0.536

0.587

0.579

0.425

0.489

25%

50%

75%

Hình 3-9. Biểu đồ kết quả mô hình SVM

Từ biểu đồ hình 3-7 và hình 3-8 ta có thể nhận thấy quả tốt nhất của mô hình

ANN đạt được F-measure = 0.653 tại kích thước cửa sổ là 2 giây và tỉ lệ chồng dữ

liệu là 50%. Mô hình SVM cho kết quả tốt nhất F-measure = 0.657 tại kích thước

cửa sổ là 5 giây và tỉ lệ chồng dữ liệu 50%. Từ kết quả trên cho thấy, đối với bộ dữ

liệu được xây dựng kết quả chạy từ mô hình phân lớp ANN và SVM không thực sự

tốt được như mô hình RF.

3.4.5 Tối ưu mô hình Random Forest và thuật toán PSO

Chương trình tối ưu được viết trên ngôn ngữ java, mô hình nhận dạng cũng

như tính toán mô hình sử dụng bộ công cụ WEKA. Dữ liệu thực nghiệm và tiền xử

lý dữ liệu được sử dụng giống trong quá trình tạo mô hình ở chương 2.

Trong quá trình nghiên cứu, chúng tôi nhận thấy độ chính xác khi phát hiện

các hành động ngã luôn nhỏ hơn độ chính xác trung bình tất cả các hành động của

mô hình. Giá trị F-measure của các hành động ngã cũng luôn nhỏ hơn giá trị

F-measure trung bình của mô hình. Các hành động như đi bộ (WAL), đứng (STD),

chạy bộ (SOL) và các hoạt động thường ngày luôn cho kết quả tốt hơn. Vì vậy trong

giai đoạn tối ưu mô hình chúng tôi sẽ tập trung tối ưu để tăng tỉ lệ chính xác khi

phát hiện các trạng thái ngã.

41

Các tham số của thuật toán tối ưu

- 𝑐1 = 2.05

- 𝑐2 = 2.05

- 𝜔 = 0.9

- 𝑡𝑚𝑎𝑥 = 100

- Số lượng bộ tham số ban đầu N = 7

Giới hạn tham số của mô hình Random Forest

- P (Bag size percent) = [10, 100]

- I (numIterations) = [10, 1000]

- Num-slot (numExecutionSlots) = [1, 10]

- K (numFeatures) = [5, 50]

Chương trình tối ưu được chạy trên máy tính để bàn với cầu hình CPU core

i7-8700 @ 3.2GHz, RAM 32GB. Mỗi lần thay đổi bộ tham số, mô hình sẽ chạy lại

một lần. Thời gian chạy mô hình tùy thuộc vào bộ tham số của mô hình đó. Chương

trình tối ưu sẽ dừng lại khi thỏa mãn một trong hai điều kiện sau:

- Giá trị F-measure của các hành động ngã đều bằng 1. Tỉ lệ đoán đúng

các hành động ngã là 100%

- 𝑡 = 𝑡𝑚𝑎𝑥 = 100. Đã chạy hết số vòng lặp.

Như chúng ta đã biết, bất kỳ mô hình phân lớp nào cũng đều có sự sai số. Vì

vậy có thể dự đoán chương trình tối ưu khi thỏa mãn giá trị F = 1 gần như là không

thể. Trong khuôn khổ luận văn có sự giới hạn về thời gian, nên việc lấy giá tị

𝑡𝑚𝑎𝑥=100 là khả thi và phù hợp với tài nguyên, thời gian cho phép. Với giá trị N=7

và 𝑡𝑚𝑎𝑥 = 100, khi kết thúc vòng lặp chương trình đã chạy tương đương với 700 mô

hình Random Forest.

42

Kết thúc chương trình tối ưu, các kết quả thu được như sau:

Bảng 3-8. Kết quả mô hình phân lớp sau tối ưu

Precision Recall F-measure ROC Area

0.780 0.995 BSC 0.875 0.703

0.793 0.996 FKL 0.831 0.758

0.810 0.993 FOL 0.858 0.766

0.810 0.996 SDL 0.856 0.769

0.931 0.998 All 0.933 0.933

Bảng 3-9. Kết quả mô hình phân lớp ban đầu

Precision Recall F-measure ROC Area

0.440 0.951 BSC 0.560 0.355

0.787 0.983 FKL 0.657 0.983

0.766 0.975 FOL 0.807 0.729

0.659 0.965 SDL 0.723 0.606

1

0.8

0.6

0.4

0.2

0

Precision

Recall

F-measure

ROC Area

Mô hình ban đầu

0.56

0.355

0.44

0.951

Mô hình tối ưu

0.875

0.703

0.78

0.995

Mô hình tối ưu

Mô hình ban đầu

0.783 0.980 All 0.805 0.790

Hình 3-10. Biểu đồ kết quả hành động ngã BSC

43

1

0.8

0.6

0.4

0.2

0

Precision

Recall

F-measure

ROC Area

Mô hình ban đầu

0.657

0.983

0.787

0.983

Mô hình tối ưu

0.831

0.758

0.793

0.996

Mô hình tối ưu

Mô hình ban đầu

Hình 3-11. Biểu đồ kết quả hành động ngã FKL

1

0.8

0.6

0.4

0.2

0

Precision

Recall

F-measure

ROC Area

Mô hình ban đầu

0.807

0.729

0.659

0.975

Mô hình tối ưu

0.858

0.766

0.81

0.993

Mô hình tối ưu

Mô hình ban đầu

Hình 3-12. Biểu đồ kết quả hành động ngã FOL

44

1

0.8

0.6

0.4

0.2

0

Precision

Recall

F-measure

ROC Area

Mô hình ban đầu

0.723

0.606

0.659

0.965

Mô hình tối ưu

0.856

0.769

0.81

0.996

Hình 3-13. Biểu đồ kết quả hành động ngã SDL

1

0.8

0.6

0.4

0.2

0

Precision

Recall

F-measure

ROC Area

Mô hình ban đầu

0.805

0.79

0.783

0.98

Mô hình tối ưu

0.933

0.933

0.931

0.998

Mô hình tối ưu

Mô hình ban đầu

Hình 3-14. Biểu đồ kết quả phân lớp chung của mô hình

Nhìn vào các biểu đồ có thể thấy được sau khi tối ưu, mô hình được cải thiện

rõ rệt. Tất cả các trọng số độ chính xác (Precision), độ bao phủ (Recall), F-measure,

AUC (diện tích đường cong ROC) đều tốt hơn mô hình ban đầu. Có sự khác biệt rõ

rệt giữa trọng số F-measure của hành động ngã BSC, FOL, SDL. Xét về tổng thể

45

chung của cả mô hình, F-measure tăng từ 0.783 lên 0.931. Độ chính xác tăng từ

0.805 (80.5%) lên 0.933 (93.3%).

Từ các kết quả cho thấy được tham số của mô hình có ảnh hưởng không nhỏ

đến kết quả phân lớp. Với thuật toán tối ưu PSO và mô hình phức tạp như Random

Forest, các kết quả trên có thể chưa là kết quả tốt nhất đạt được nhưng vẫn đảm bảo

bộ tham số nằm trong vùng có kết quả tốt. Nếu điều kiện tài nguyên cho phép, có

thể tăng giá trị 𝑡𝑚𝑎𝑥 từ 100 lên 200, 500 hoặc 1000. Khi đó thuật toán tối ưu PSO sẽ

có nhiều cơ hội thử nghiệm hơn và có thể tìm được mô hình phân lớp có độ chính

xác cao hơn.

Bảng 3-10. Ma trận nhầm lẫn của mô hình Random Forest sau tối ưu

BSC

CHU

CSI

CSO

FKL

FOL

JOG

JUM

LYI

SCH

SDL

SIT

STD

STN

STU WAL

BSC

70.3

0

11.5

0.5

1.5

0.7

7.1

5.3

1

0.1

0

0

0

1

0

1

CHU

0

81.4

0.5

9

0

0

0

0

0

0

0

1

4.3

2.4

1.4

0

0.0

79.3

0.4

0.1

0.1

0.1

0.1

0.1

3.9

1.1

2.4

0.5

1.4

6.3

2.6

CSI

1.6

0.1

96.1

0.0

0.0

0.0

0.0

0.0

0.0

0.2

0.2

1.6

0.0

0.2

1.4

0.3

CSO

0.0

0.6

75.8

0.2

0.2

0.0

9.8

2.6

1.1

3.5

0.2

0.6

2.6

0.8

0.0

1.8

FKL

0.3

8.8

76.6

0.0

0.3

0.0

1.5

2.7

1.5

0.5

1.3

3.6

0.5

0.0

2.0

0.1

FOL

0.7

0.0

96.7

0.7

0.0

0.0

0.0

0.0

0.9

0.0

0.0

0.6

1.0

0.0

0.1

0.0

JOG

0.0

0.9

98.2

0.0

0.0

0.0

0.0

0.0

0.6

0.1

0.0

0.2

0.0

0.0

0.0

0.0

JUM

0.0

8.0

64.8

9.7

0.0

0.0

0.0

0.0

1.0

2.3

3.7

2.2

8.1

0.0

0.2

0.0

LYI

0.0

0.3

0.0

0.1

0.2

0.6

4.8

1.7

52.6

2.6

10.3

5.8

13.4

0.3

4.2

2.8

SCH

0.3

0.7

0.1

0.0

3.2

2.2

0.9

0.7

2.8

76.9

0.1

1.6

0.3

0.0

5.7

0.8

SDL

4.0

0.0

0.0

0.0

0.0

0.0

0.0

0.2

0.2

0.0

99.1

0.0

0.0

0.0

0.0

0.4

SIT

0.0

0.0

0.0

0.0

0.0

0.0

0.0

0.0

0.0

0.1

0.0

0.0

99.9

0.0

0.0

0.0

STD

0.0

0.5

0.0

0.2

0.0

0.1

0.0

0.4

0.4

6.4

5.5

6.6

79.3

0.0

0.3

0.2

STN

0.0

0.1

0.0

0.0

0.0

0.0

0.0

0.2

0.3

3.5

5.7

7.5

82.4

0.0

0.2

0.0

STU

0.0

0.0

0.0

0.0

0.0

0.0

0.0

0.0

0.0

0.0

0.1

0.2

99.6

0.1

0.0

0.0

WAL

0.0

Bảng 3.10 biểu diễn ma trận nhầm lẫn của mô hình Random Forest sau khi

tối ưu. Hệ số của bảng được tính theo tỉ lệ phần trăm. Có thể thấy kết quả của 4

hành động ngã:

• Trạng thái ngã từ ghế (BSC) thường bị nhầm lẫn với hành động bước

vào xe hơi CSI), từ đứng chuyển sang ngồi (SCH) và trạng thái ngã

nghiêng (SDL).

46

• Trạng thái ngã gập đầu gối (FKL) thường bị nhầm lẫn với trạng thái

ngã về phía trước (FOL).

• Trạng thái ngã gập đầu gối (FOL) thường bị nhầm lẫn với trạng thái

ngã nghiêng (FKL).

• Trạng thái ngã nghiêng (SDL) thường bị nhầm lẫn với trạng thái ngã

từ ghế (BSC), bước vào xe hơi (CSI) và ngã gập đầu gối (FKL).

So sánh mô hình với các nghiên cứu liên quan

Phương pháp nhận dạng các hành động hàng ngày bằng các thuật toán

phân lớp là một phương pháp phổ biến được nhiều nghiên cứu sử dụng. Tùy

theo dữ liệu, yêu cầu của bài toán sẽ có những hệ thống nhận dạng được thiết

kế khác nhau. Với tập thuộc tính như đã đề xuất, nhóm nghiên cứu đã thực

nghiệm trên bộ dữ liệu MobiAct [15], kết quả thực nghiệm về phát hiện các

hành động ngã trong nghiên cứu này cao hơn so với các phương pháp của

một số nghiên cứu trên cùng bộ dữ liệu này như thống kê trong Bảng 3-11.

Qua những kết quả đánh giá này cho thấy, hệ thống nhận dạng là phù hợp và

có kết quả khả quan trong việc nhận dạng các hành động hàng ngày, đặc biệt

là hành động ngã.

Bảng 3-11. Mô hình đề xuất và nghiên cứu liên quan

Kết quả trung Kết quả của hành động ngã bình của các hành Nghiên cứu động ngã BSC FKL FOL SDL

Charikleia Chatzaki và 0.832 0.760 0.709 0.757 0.764 cộng sự [15]

Phương pháp đề xuất 0.780 0.793 0.810 0.810 0.798

Trong đó, trọng số đánh giá sử dụng độ đo F-measure.

47

3.5

Kết luận chương

Trong chương này, chúng tôi đề xuất hệ thống phát hiện hành động ngã dựa

trên dữ liệu cảm biến thu được từ điện thoại thông minh. Các phương pháp phân lớp

đã được thử nghiệm và đánh giá với bộ dữ liệu mà chúng tôi xây dựng. Lựa chọn

mô hình cho kết quả tốt nhất để chạy thuật toán tối ưu. Từ đó tìm ra được bộ tham

số có kết quả tốt hơn.

48

KẾT LUẬN

Nghiên cứu và phân tích, nhận dạng hoạt động đang là một chủ đề đặc biệt

được quan tâm trong nhiều lĩnh vực. Luận văn đã nghiên cứu trong lĩnh vực theo

dõi, giám sát và phân phát hiện hành động ngã của người đi bộ dựa trên phân tích

dữ liệu thu được từ cảm biến gia tốc của điện thoại.

Trong luận văn, chúng tôi đã khảo sát và nghiên cứu các kỹ thuật và phương

pháp thu thập dữ liệu. Sau đó sử dụng các kỹ thuật để nghiên cứu xây dựng bộ

thuộc tính đặc trưng để nâng cao độ chính xác của hệ thống phát hiện hành động

ngã.

Chúng tôi đã nghiên cứu các phương pháp phân lớp, tiến hành thử nghiệm

với bộ thuộc tính đã xây dựng. Sau đó tối ưu bộ tham số của mô hình phân lớp phù

hợp dựa trên thuật toán tối ưu PSO.

Luận văn đã có một số kết quả như sau:

- Xây dựng bộ dữ liệu gồm các bộ thuộc tính đặc trưng. Từ bộ dữ liệu liên tục

theo miền thời gian, chúng tôi đã tiến hành xây dựng tập thuộc tính đặc trưng

trên miền thời gian, miền tần số và thuộc tính Hjorth.

- Đề xuất hệ thống phát hiện hành động ngã của người đi bộ dựa trên phân tích dữ

liệu thu được từ cảm biến gia tốc của điện thoại thông minh. Hệ thống gồm 2

pha chính là pha huấn luyện và pha phát hiện. Trong quá trình xây dựng và thử

nghiệm hệ thống, chúng tôi đã tiến hành trên nhiều phương pháp phân lớp khác

nhau để lựa chọn được phương pháp phù hợp với bài toán và bộ dữ liệu hiện có.

- Đề xuất giải pháp tối ưu tham số PSO cho mô hình phân lớp Random Forest.

49

TÀI LIỆU THAM KHẢO

[1] Hoàng Phê (Chủ biên), “Từ điển Tiếng Việt - GS. Hoàng Phê”. Nhà xuất bản Hồng

Đức, 2016.

[2] WangYan, CangShuang, Yu, Hongnian, “A survey on wearable sensor modality in health care”, Expert Systems With

centred human activity recognition Applications, pp. 167-190, 2019.

[3] Adnan Nadeem, Amir Mefmood, Kashif Rizwan, “A dataset build using wearable inertial measurement and ECG sensors for activity recognition, fall detection and basic heart anomaly detection system”, Data in brief, pp. 104717, 2019

[5]

impairments

[4] Henry Friday Nweke, Ying Wah The, Mohammed Ali Al-garadi, Uzoma Rita Alo, “Deep learning algorithms for human activity recognition using mobile and wearable sensor networks: State of the art and research challenges”, Expert Systems With Applications, pp. 233-261, 2018 E. Stack, V. Agarwal, R. King, M. Burnett, F. Tahavori, B. Janko, W. Harwin, A. in people with Ashburn and D.Kunkel, “Identifying balance Parkinson’s disease using video and wearable sensors”, Gait & Posture, pp. 321- 326, 2018

[6] N. C. Chigateria, N. Kerse, L. Wheeler, B. MacDonald, J. Klenk, “Validation of an accelerometer for measurement of activity in frail older people”, Gait & Posture, pp. 114-117, 2018

[7] Yinfeng Wu, Yiwen Su, Renjian Feng, Ning Yu and Xu Zang, “Wearable-sensor- based pre-impact fall detection system with a hierarchical classifier”, Measurement, pp. 283-292, 2019

[9]

[8] Charissa Ann Ronao, Sung-Bae Cho, “Recognizing human activities from smartphone sensors using hierarchical continuous hidden Markov models”, International Journal of Distributed SenSor NetWorks, Vol. 13(1), 2017 S. García, Intelligent Systems Reference Library 72 Data Preprocessing in Data Mining. 2015.

[10] Bochner, S. Chandrasekharan, K. (1949), “Fourier Transforms”, Princeton

University Press.

[11] Bo Hjorth, “EEG analysis based on time domain propertiesAnalyse EEG basee sur

les series temporelles”, pp. 306-310, 1970

[12] Ho, Tin Kam (1995). “Random Decision Forests”. Proceedings of the 3rd International Conference on Document Analysis and Recognition, Montreal, QC, 14–16 August 1995. pp. 278–282. Archived from the original (PDF) on 17 April 2016. Retrieved 5 June 2016.

[13] Michael A. Nielsen, “Neural Networks and Deep Learning”, Determination Press,

2015

[14] Abe, Prof. Dr. Shigeo, Support Vector Machines for Pattern Classification,

Springer-Verlag, London, 2010

[15] Chatzaki C., Pediaditis M., Vavoulas G., Tsiknakis M. (2017) Human Daily Activity and Fall Recognition Using a Smartphone’s Acceleration Sensor. In: Rocker C., O’Donoghue J., Ziefle M., Helfert M., Molloy W. (eds) Information and Communication Technologies for Ageing Well and e-Health. ICT4AWE 2016. Communications in Computer and Information Science, vol 736, pp 100-118.

50

Springer, Cham, DOI 10.1007/978-3-319-62704-5_7

51