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

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

---------------------

ĐỖ VĂN THÌN

NHẬN DẠNG HÀNH VI NGƯỜI DÙNG TỪ DỮ LIỆU

CỦA CẢM BIẾN CỦA ĐIỆN THOẠI THÔNG MINH

LUẬN VĂN THẠC SĨ HỆ THỐNG THÔNG TIN

Hà Nội – 2016

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

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

---------------------

ĐỖ VĂN THÌN

NHẬN DẠNG HÀNH VI NGƯỜI DÙNG TỪ DỮ LIỆU CỦA CẢM BIẾN

CỦA ĐIỆN THOẠI THÔNG MINH

Ngành : Hệ thống thông tin

Chuyên ngành: Hệ thống thông tin

Mã số: 60.48.01.04

LUẬN VĂN THẠC SĨ HỆ THỐNG THÔNG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS NGUYỄN HẢI CHÂU

XÁC NHẬN CỦA XÁC NHẬN CỦA

CÁN BỘ HƯỚNG DẪN CHỦ TỊCH HỘI ĐỒNG

Hà Nội – 2016

LỜI CAM ĐOAN

Tôi xin cam đoan nội dung và những kết quả của luận văn tốt nghiệp này là do tôi

tự nghiên cứu dưới sự hướng dẫn của PGS.TS Nguyễn Hải Châu. Trong toàn bộ nội dung

của luận văn, những nội dung được trình bày là của cá nhân tôi hoặc được tổng hợp từ

nhiều nguồn tài liệu khác. Tất cả các tài liệu tham khảo đều được trích dẫn rõ ràng ở phần

cuối của luận văn.

Tôi xin cam đoan những lời trên là sự thật. Nếu sai tôi xin hoàn toàn chịu trách

nhiệm.

Hà Nội, ngày tháng năm

Học viên

Đỗ Văn Thìn

LỜI CẢM ƠN

Tôi xin gửi lời cảm ơn sâu sắc tới PGS.TS Nguyễn Hải Châu, người đã tận tình chỉ

bảo tôi những kiến thức chuyên môn, phương pháp nghiên cứu khoa học đồng thời cũng

là tấm gương trong mọi mặt của cuộc sống để tôi học tập và noi theo.

Tôi xin chân thành cảm ơn các thầy, cô giáo trường Đại học Công Nghệ đã cung

cấp cho tôi những kiến thức bổ ích trong thời gian tôi học tập tại trường.

Cuối cùng tôi xin gửi lời cảm ơn tới gia đình tôi đã luôn ủng hộ tôi trên con đường

học tập và nghiên cứu với nhiều khó khăn, vất vả. Mặc dù tôi đã cố gắng hết sức trong

quá trình làm luận văn nhưng không thể tránh khỏi thiếu sót, rất mong nhận được những

góp ý của thầy cô và các bạn.

Hà Nội, ngày tháng năm

Học viên

Đỗ Văn Thìn

MỤC LỤC

Mục lục ................................................................................................................................. 1

Danh mục chữ viết tắt ........................................................................................................... 2

Danh mục hình...................................................................................................................... 3

Danh mục bảng ..................................................................................................................... 4

Giới thiệu .............................................................................................................................. 5

Chương 1: Tổng quan ........................................................................................................... 7

1.1. Tổng quan về giám sát hoạt động ........................................................................... 7

1.2. Cảm biến ................................................................................................................. 8

1.3. Điện thoại thông minh .......................................................................................... 11

1.4. Phân lớp ................................................................................................................ 13

1.4.1. Khái niệm phân lớp ........................................................................................ 13

1.4.2. Phân lớp dữ liệu ............................................................................................. 13

Chương 2: Phương pháp, công cụ hỗ trợ nhận dạng hành vi ............................................. 18

2.1. Kỹ thuật phân lớp nhận dạng hành vi ................................................................... 18

2.2. Tiền xử lý .............................................................................................................. 20

2.3. Trích chọn tính năng ............................................................................................. 21

2.4. Phân lớp dữ liệu .................................................................................................... 23

2.4.1. Thuật toán SVM ............................................................................................. 24

2.4.2. Thuận toán k-NN ............................................................................................ 27

2.4.3. Phân lớp dựa trên thuật toán cây quyết định .................................................. 28

2.5. Đánh giá thuật toán ............................................................................................... 30

Chương 3: Cài đặt và thực nghiệm ..................................................................................... 32

3.1. Bộ dữ liệu nhận dạng hành vi ............................................................................... 32

3.2. Tiền xử lý dữ liệu .................................................................................................. 35

3.3. Xây dựng thực nghiệm ứng dụng nhận dạng hành vi ........................................... 37

3.4. Kết quả thực nghiệm ............................................................................................. 39

Kết luận ............................................................................................................................... 42

1

Tài liệu tham khảo .............................................................................................................. 43

DANH MỤC CHỮ VIẾT TẮT

Ký hiệu ADL AR ARFF DT FFT HMM K-NN Diễn giải Activities of daily living Activity recognition Attribute-Relation File Format Dataset Fast Fourier Transform Hidden Markov Models k-Nearest Neighbours

2

Support Vector Machines SVM Weka Waikato Environment for Knowledge Tiếng Việt Hoạt động hàng ngày Nhận dạng hành vi Định dạng tài liệu ARFF Tập tài liệu Biến đổi Fourier Mô hình Markov ẩn Mô hình phân lớp K-hàng xóm gần nhất Analysis

DANH MỤC HÌNH

Hình 1.1: Lợi ích của giám sát hoạt động con người ........................................................... 7

Hình 1.2: Cảm biến gia tốc tuyến tính .................................................................................. 9

Hình 1.3: Hệ trục trên điện thoại thông minh ....................................................................... 9

Hình 1.4: Tóm tắt những nghiên cứu trước đây về nhận dạng hành vi sử dụng cảm biến

gia tốc ................................................................................................................................. 10

Hình 1.5: Phân lớp dữ liệu – (a) Xây dựng mô hình phân lớp ........................................... 15

Hình 1.6: Phân lớp dữ liệu – (b1) ước lượng độ chính xác mô hình .................................. 16

Hình 1.7: Phân lớp dữ liệu – (b2) phân lớp dữ liệu mới .................................................... 16

Hình 2.1: Sơ đồ biểu diễn quy trình học máy ..................................................................... 19

Hình 2.2: mô hình nhận dạng hành vi từ dữ liệu cảm biến trên điện thoại thông minh ..... 20

Hình 2.3: Siêu phẳng h chia bộ dữ liệu huấn luyện thành 2 tập + và – với khoảng cách

biên lớn nhất. ...................................................................................................................... 25

Hình 2.4: Ví dụ về cây quyết định ...................................................................................... 29

Hình 2.5: Mã giải của thuật toán phân lớp dữ liệu dựa trên cây quyết định ...................... 30

Hình 2.6: Ma trận nhầm lẫn ................................................................................................ 31

Hình 3.1: Thu thập dữ liệu từ cảm biến của điện thoại thông minh ................................... 32

Hình 3.2: Ví dụ về dữ liệu của cảm biến gia tốc ................................................................ 33

Hình 3.3: Chương trình ứng dụng demo ............................................................................ 39

3

Hình 3.4: Kết quả phân lớp dữ liệu với thuật toán J48 ...................................................... 41

DANH MỤC BẢNG

Bảng 1.1: Các cảm biến được trang bị trên điện thoại thông minh ......................... 12

Bảng 2.1: Tính năng miền thời gian ........................................................................ 22

Bảng 2.2: Miền tần số .............................................................................................. 22

Bảng 2.3: Tính năng miền chuỗi biểu tượng ............................................................ 23

Bảng 2.4: Công thức đánh giá toán hiệu năng thuật toán phân lớp ......................... 31

Bảng 3.1: Số lượng các trường hợp cho mỗi lớp ..................................................... 34

Bảng 3.2: Tính năng được trích xuất và mô tả ......................................................... 34

Bảng 3.3: Tín hiệu được chuyển hóa từ dữ liệu gia tốc, sử dụng miền thời gian và

tần số ......................................................................................................................... 35

Bảng 3.4: Trích chọn tính năng từ tập dữ liệu ban đầu ............................................ 36

Bảng 3.5: Loại bỏ tính năng được đánh dấu trong các tập dữ liệu .......................... 36

Bảng 3.6: Phân lớp J48 với các tập dữ liệu .............................................................. 39

Bảng 3.7: Thử nghiệm với tập dữ liệu DT2 ............................................................ 40

Bảng 3.8: Kết quả thực nghiệm với thuật toán J48 .................................................. 40

4

GIỚI THIỆU

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

Nhận dạng hành vi con người sử dụng các cảm biến cá nhân đã trở thành một lĩnh

vực nghiên cứu quan trọng nhằm tạo ra hay cải thiện các ứng dụng giám sát hoạt động

con người. Khả năng ghi lại và nhận dạng các hoạt động cá nhân hàng ngày là điều cần

thiết để xác định mức độ thực hiện hoạt động của con người.

Những hệ thống này có những ứng dụng thực tế trong việc chăm sóc sức khỏe và

theo dõi luyện tập sức khỏe. Hoạt động thể chất có tác dụng tích cực lên tất cả các chức

năng của cơ thể và các nghiên cứu đã chứng minh rằng nguy cơ tim mạch giảm tới 50%

đối với người có hoạt động thể chất tích cực [5].Với sự già hóa dân số và kinh phí hạn chế

cho việc chăm sóc sức khỏe cộng đồng, sự quan tâm nhiều hơn được trả để giám sát hoạt

động con người, nâng cao khả năng hỗ trợ các bệnh nhân và giúp họ tự chăm sóc bản

thân, giảm sự chăm sóc y tế thông thường và chuyển qua chăm sóc từ xa.

Trong lĩnh vực y tế, việc theo dõi hoạt động người dùng trong thời gian dài có thể

hữu ích trong việc phát hiện sớm các bệnh hoặc có thể khuyến khích người dùng cải thiện

mức độ hoạt động của họ.

Một trong những phương pháp được sử dụng để giám sát hoạt động của con người

là dựa trên các hệ thống video ghi chuyển động được liên kết với nền cảm nhận áp lực ở

dưới. Những phương pháp này gây khó chịu, đòi hỏi thiết bị lớn và chỉ có thể được sử

dụng bên trong phòng thí nghiệm đòi hỏi các thiết lập cao, thời gian xử lý cũng như

không gian bộ nhớ để ghi lại nó.

Phân tích hành vi sử dụng các cảm biến của điện thoại thông minh đã trở thành

một lựa chọn thú vị cho hệ thống này vì kích thước nhỏ, chi phí thấp và khả năng ghi lại

các tín hiệu chuyển động một cách kín đáo. Hơn nữa ngày nay hầu hết các điện thoại

thông minh đều được tích hợp các cảm biến phù hợp cho việc phân tích hành vi người

dùng. Cảm biến gia tốc và con quay hồi chuyển được sử dụng để nghiên cứu các hoạt

động hàng ngày của con người.

Phân loại thông tin chuyển động, thu thập được từ dữ liệu từ các cảm biến trong

5

điện thoại thông minh, các nhãn hoạt động thường được thực hiện với kỹ thuật học máy

đòi hỏi phải khai thác các thông số dữ liệu chuyển động để huấn luyện phân lớp để dự

đoán dữ liệu hoạt động mới với mô hình huấn luyện.

2. Mục tiêu và nhiệm vụ của đề tài

Nghiên cứu phương pháp giám sát hành vi người sử dụng điện thoại thông minh sử

dụng các cảm biến trên điện thoại thông minh. Trong luận văn này sẽ tập trung vào các

hoạt động hàng ngày như: đứng (standing), ngồi (sitting), nằm (laying), đi bộ (walking),

đi lên cầu thang (walking upstairs), đi xuống cầu thang (walking down stairs). Sự chuyển

động của người dùng được ghi lại bằng cảm biến gia tốc của điện thoại thắt lưng được đặt

ở thắt lưng người dùng khi họ thực hiện các hoạt động.

Nghiên cứu các thuật toán giúp phân lớp gán nhãn các hoạt động người dùng dựa

vào dữ liệu cảm biến trên điện thoại thông minh

Xây dựng sản phẩm phân tích hành vi người sử dụng trên điện thoại thông minh,

6

đánh giá chất lượng mô hình xây dựng được.

CHƯƠNG 1: TỔNG QUAN

1.1. Tổng quan về giám sát hoạt động

Theo dõi chính xác các hoạt động của con người có khả năng cải thiện hệ thống

chăm sóc sức khỏe, cảnh báo sớm các nguy cơ, giám sát tập thể dục và hỗ trợ trong sinh

hoạt hàng ngày. Những hệ thống nhận thức hoạt động này có thể cung cấp cho người

dùng một loạt các dịch vụ tiện ích ví dụ như: bằng cách phân tích các hoạt động của con

người trong một khoảng thời gian có thể xác định được xu hướng của các thói quen hàng

ngày từ đó điều chỉnh để có một chế độ tốt nhất cho cơ thể; đặc biệt với người cao tuổi,

nó giúp cảnh báo các nguy cơ về sức khỏe.

Hình 1.1: Lợi ích của giám sát hoạt động con người

Khái niệm hoạt động đã được xem xét trong tương tác người–máy (HCI) để thiết

kế tốt hơn các mô hình điện toán phân tán dựa trên hành vi người dùng (Bao & Intille,

2004). Các mục tiêu của điện toán phân tán là có mặt khắp mọi nơi và kín đáo, hoặc dần

là nền tảng hỗ trợ con người trong khi học thực hiện các hoạt động hàng ngày. Dự đoán

các hoạt động là mục tiêu của các hệ thống điện toán rộng khắp, tuy nhiên việc sử dụng

các hành động cô lập để phân tích các tình huống thực tế bên ngoài không thành công, bởi

vì hành động luôn nằm trong một bối cảnh, và hệ thống không thể hiểu được bối cảnh đó.

Sự phát triển của các hệ thống nhận biết ngữ cảnh là quan trọng để nhận ra một hoạt động

chính là bối cảnh có ý nghĩa tối thiểu để hiểu được hoạt động cá nhân. Phát hiện các tư

thế không đủ để phân biệt được một số các hoạt động, chỉ khi có được bối cảnh, các hoạt

7

động có thể được phân biệt một cách chính xác.

Quá trình giám sát hành vi người dùng bắt đầu bằng việc thu thập các dữ liệu thô,

đặc biệt là dữ liệu chuyển động. Cảm biến quán tính là một giải pháp thích hợp để phát

hiện chuyển động. Những cảm biến phản ứng với các kích thích bằng cách tạo ra các tín

hiệu có thể phân tích và diễn tả. Thông thường, các cảm biến được đặt bên cạnh cơ thể và

nên đem lại sự thoải mái cho người sử dụng.

Các thế hệ mới của điện thoại thông minh được trang bị với một loạt các cảm biến

bên trong: cảm biến gia tốc, cảm biến con quay hồi chuyển, cảm biến nhịp tim, cảm biến

tiệm cận, cảm biến độ ẩm…. Một số cảm biến có thể được sử dụng để giám sát hoạt động

hàng ngày của con người: cảm biến gia tốc, con quay hồi chuyển. Các thiết bị này rất tiện

lợi, nhỏ và kín đáo, nó trở thành ý tưởng cho hệ thống nhận dạng hành vi người dùng.

Tính năng hấp dẫn khác là có thể đeo được, làm việc với thời gian thực và được sử dụng

để theo dõi lâu dài. Những thiết bị này có thể ghi nhận, xử lý và có đượcthông tin hữu ích

từ dữ liệu thô của cảm biến, nhưng khó khăn chính của việc tạo ra các ứng dụng nhận biết

bối cảnh là việc phát triển các tuận toán có thể nhận diện bối cảnh từ dữ liệu cảm biến có

nhiễu và không rõ ràng.

Phát triển một ứng dụng trên điện thoại thông minh cần phải tính đến những nguồn

lực hạn chế của điện thoại thông minh như: thời gian xử lý, bộ nhớ hạn chế và tỷ lệ mẫu.

Cảm biến gia tốc là một cảm biến lý tưởng vì chúng đòi hỏi sức mạnh xử lý thấp và tiêu

thụ ít năng lượng.

1.2. Cảm biến

Cảm biến có thể thu thập dữ liệu có thể được sử dụng để phát hiện các hành vi của

con người. Có 3 vấn đề chính liên quan đến cảm biến: loại, vị trí và số lượng. Phần lớn

các hệ thống nhận biết cử động sử dụng cảm biến quán tính, đặc biệt là cảm biến gia tốc

để ước tính độ nghiêng của cơ thể và xác định phương hướng, chuyển động của người sử

8

dụng. Cảm biến gia tốc sử dụng đầu dò để đo gia tốc tuyến tính(Hình 1.2).

Hình 1.2: Cảm biến gia tốc tuyến tính

Tín hiệu thu được với cảm biến gia tốc có 2 thành phần, “một là gia tốc trọng

trường cung cấp thông tin về tư thế của chủ thể, và một thành phần tăng tốc của cơ thể

cung cấp thông tin về sự chuyển động của chủ thể”. Một cảm biến gia tốc 3 chiều đo gia

tốc theo trục x, y, z so với màn hình của điện thoại được mô tả như hình dưới. Gia tốc được đo bằng đơn vị m/s2.

Hình 1.3: Hệ trục trên điện thoại thông minh

Một số điều tra sử dụng số lượng hoạt động và thị giác máy tính có khả năng hỗ trợ

nhận dạng hành động sử dụng cảm biến gia tốc cũng được mô tả trong chương này. Nhiều 9

nghiên cứu trước đây đã chứng minh 85-95% cho đánh giá nhận dạng hành động, tư thế

và các hành vi khác sử dụng dữ liệu cảm biến gia tốc [4]. Một số công trình được mô tả

trong hình 1.4:

Hình 1.4: Tóm tắt những nghiên cứu trước đây về nhận dạng hành vi sử dụng cảm biến

gia tốc

Các nghiên cứu trước chứng minh rằng các hình thức vận động như đi bộ, chạy bộ,

leo cầu thang và các tư thế như ngồi, nằm đứng có thể được ghi nhận với độ chính xác từ

83 – 95% sử dụng cảm biến gia tốc trên hông, đùi và mắt cá chân. Tuy nhiên các nghiên

cứu của Ling Bao và Intille cho thấy rằng đùi và cổ tay là vị trí thích hợp để đặt cảm biến

gia tốc để phát hiện ADL. Dữ liệu cảm biến thu được từ cổ tay thuận là tốt hơn cho hoạt

động phân biệt hành vi liên quan đến chuyển động cơ thể và dữ liệu từ gia tốc ở đùi là

hữu ích cho việc nhận dạng hành vi được thực hiện với chi dưới. Hệ thống nhận dạng

hành vi nên sử dụng dữ liệu với các dữ liệu ở vị trí khác nhau, cho phép người dùng mang

10

theo thiết bị ở vị trí thuận tiện cho một bối cảnh nhất định. Khi cảm biến đang ở một vị trí

duy nhất, nó rất hữu ích để áp dụng một hệ thống thông tin đa chiều để ghi lại các tín hiệu

theo ngữ cảnh của môi trường [5].

Liên quan đến số lượng cảm biến để có thể nhận diện chính xác. (Ling Bao &

Intille, 2004) cho thấy rằng việc sử dụng 2 cảm biến chỉ ảnh hưởng khoảng 5% độ chính

xác so với một hệ thống dùng 5 cảm biến. So sánh cảm biến gia tốc 2 trục và 3 trục làm

tăng chi phí mà sự phong phú của dữ liệu là không đáng kể. Số lượng tối đa của cảm biến

được ghi nhận là 6 cảm biến gia tốc đơn trục [4].

Một vấn đề quan trọng khác về cảm biến là một số hoạt động như leo cầu thang

thường không thể phân biệt chỉ với cảm biến gia tốc, mà đòi hỏi phải bổ sung (ví dụ như

microphone và áp kế) (Wilde, 2010).

Các hoạt động phổ biến của con người như đi bộ, đứng, nằm, đi lên và xuống cầu

thang là những hành vi sẽ được nghiên cứu trong luận văn này.

1.3. Điện thoại thông minh

Thế hệ mới của điện thoại thông minh đang được xem xét bởi nhiều người dùng

như là một thiết bị cá nhân quan trọng. Các thiết bị này có tiềm năng cho sự tăng trưởng

cân xứng với việc thu thập dữ liệu hành vi cho việc xây dựng hệ thống dự đoán hành vi

con người. Nhận thức về lợi ích của chúng đang trở lên phổ biến, và người dùng đã quen

với việc có mặt khắp mọi nơi của chúng.

Một trong những ứng dụng quan trọng nhất của phân tích hành vi con người là việc

chăm sóc sức khỏe, đặc biệt là chăm sóc sức khỏe người cao tuổi. Tuy nhiên, người cao

tuổi không có kỹ năng như nhau trong việc sử dụng điện thoại thông minh như những

người trẻ, hơn nữa họ hay không mang theo các thiết bị trong cuộc sống thường ngày. Để

trở nên thích ứng với hệ thống này, người cao tuổi phải học cách tương tác với công nghệ

riêng của mình. Mặc dù thực tế ngày nay, người cao tuổi không quen tương tác với điện

thoại thông minh, nhưng trong tương lai những người cao tuổi đã lớn lên cùng công nghệ

này sẽ trở thành một phân khúc quan trọng.

Điện thoại thông minh được trang bị với hàng loạt các cảm biến bên trong (Bảng

1.1), trong đó cảm biến gia tốc, và cảm biến con quay hồi chuyển có thể được sử dụng để

11

giám sát hành vi hàng ngày của con người. Các thiết bị này rất tiện lợi, nhỏ và kín đáo, nó

trở thành nền tảng lý tưởng cho một hệ thống nhận dạng hành vi phổ biến. Tính năng hấp

dẫn khác đó là nó có thể đeo được, luôn luôn bên cạnh người dùng, làm việc thời gian

thực và có thể được sử dụng để giám sát lâu dài.

Bảng 1.1: Các cảm biến được trang bị trên điện thoại thông minh

Cảm biến Mô tả

Accelerometer Cảm biến gia tốc, đo gia tốc trên thiết bị, bao gồm cả lực hấp dẫn

Ambient temperature Đo nhiệt độ môi trường xung quanh

sensor

Gravity sensor Đo lực hấp dẫn theo 3 trục x, y, z

Gyroscope Cảm biến con quay hồi chuyển của thiết bị theo ba trục (x; y; z)

Light sensor Cảm biến ánh sáng

Linear acceleration Đo gia tốc thiết bị, lực hấp dẫn bị loại trừ

Sự phát triển của điện thoại thông minh cho việc dự đoán hành vi con người có

một số nhược điểm như: pin hạn chế, bộ nhớ không cao và các phát triển mới trên lĩnh

vực này cần giải quyết các câu hỏi như: tác động của các ứng dụng lên pin của điện thoại,

tỉ lệ mẫu để đạt được kết quả chính xác, thời gian để tạo mô hình và không gian bộ nhớ

cần thiết cho nó.

Về quy trình thu thập dữ liệu, ta có thể chọn thu thập dữ liệu với một điện thoại

thông minh được đặt ở những vị trí xác định trước hoặc ở 1 phần cơ thể và tạo ra một tập

dữ liệu thích hợp, hoặc sử dụng bộ dữ liệu công cộng với dữ liệu đã được chú thích. Các

tùy chọn trước đây đôi khi được ưa thích vì một tập dữ liệu có cùng kích thước và được

chú thích là cần thiết để đánh giá thuật toán phân lớp, bởi vì một bộ dữ liệu có chú thích

sẽ có thể kiểm tra được kết quả. Để thu thập một bộ dữ liệu hoàn chỉnh có thể không khả

thi, vì nó phải thu thập một lượng lớn dữ liệu từ người sử dụng trong một thời gian dài để

tạo ra một thuật toán mạnh mẽ và chính xác cho việc đoán định người dùng mới.

Một số nghiên cứu trước đây đã hướng dẫn cho việc ghi dữ liệu sử dụng các đối

tượng khác nhau, ưu tiên không phải người nghiên cứu hoặc không có sự giám sát để có

12

được dữ liệu tự nhiên. Các đối tượng được yêu cầu thực hiện một loạt các hành động và

chú thích vào sau mỗi hoạt động hoặc để thực hiện ngẫu nhiên các trình tự của hoạt động

được xác định trước.

Một bộ dữ liệu công cộng đã được tạo ra bởi ESANN 2012 (Anguita, Ghio, Oneto,

Parra, & Reyes-Ortiz, 2012, 2013) [6]. Các thí nghiệm được tiến hành với một nhóm 30

tình nguyện viên trong phạm vi độ tuổi từ 19 đến 48. Mỗi người thực hiện 6 hành vi và

đeo một chiếc điện thoại thông minh (Galaxy S II) vào thắt lưng, đặt theo chiều dọc. Sử

dụng cảm biến gia tốc, con quay hồi chuyển họ đã lấy được dữ liệu gia tốc tuyến tính 3

trục và vận tốc góc 3 trục ở một tốc độ không thay đổi 50Hz. Các thí nghiệm được ghi

hình lại để gán nhãn dữ liệu bằng tay.

1.4. Phân lớp

1.4.1. Khái niệm phân lớp

Phân lớp dữ liệu có thể coi là quá trình học một mô hình mà mô hình này dùng để

mô tả các lớp dữ liệu khác nhau. Các lớp dữ liệu ở đây đã được xác định trước. Khác với

phân cụm dữ liệu, phân lớp dữ liệu được xem là một quá trình “học có giám sát”. Sau khi

được xây dựng, mô hình phân lớp có thể được sử dụng để phân lớp các dữ liệu mới. Mỗi

bản ghi trong tập dữ liệu học có một thuộc tính gọi là nhãn lớp (Class lable) để chỉ ra bản

ghi đó thuộc lớp nào.

1.4.2. Phân lớp dữ liệu

Ngày nay phân lớp dữ liệu (classification) là một trong những hướng nghiên

cứu chính của khai phá dữ liệu. Thực tế đặt ra nhu cầu là từ một cơ sở dữ liệu với

nhiều thông tin ẩn con người có thể trích rút ra các quyết định nghiệp vụ thông minh.

Phân lớp và dự đoán là hai dạng của phân tích dữ liệu nhằm trích rút ra một mô hình

mô tả các lớp dữ liệu quan trọng hay dự đoán xu hướng dữ liệu tương lai. Phân lớp dự

đoán giá trị của những nhãn xác định (categorical label) hay những giá trị rời rạc

(discrete value), có nghĩa là phân lớp thao tác với những đối tượng dữ liệu mà có bộ

giá trị là biết trước. Trong khi đó, dự đoán lại xây dựng mô hình với các hàm nhận giá

trị liên tục. Ví dụ mô hình phân lớp dự báo thời tiết có thể cho biết thời tiết ngày mai là

13

mưa, hay nắng dựa vào những thông số về độ ẩm, sức gió, nhiệt độ,… của ngày hôm

nay và các ngày trước đó. Hay nhờ các luật về xu hướng mua hàng của khách hàng

trong siêu thị, các nhân viên kinh doanh có thể ra những quyết sách đúng đắn về lượng

mặt hàng cũng như chủng loại bày bán… Một mô hình dự đoán có thể dự đoán được

lượng tiền tiêu dùng của các khách hàng tiềm năng dựa trên những thông tin về thu

nhập và nghề nghiệp của khách hàng. Trong những năm qua, phân lớp dữ liệu đã thu

hút sự quan tâm các nhà nghiên cứu trong nhiều lĩnh vực khác nhau như học máy

(machine learning), hệ chuyên gia (expert system), thống kê (statistics)... Công nghệ

này cũng ứng dụng trong nhiều lĩnh vực khác nhau như: thương mại, nhà băng,

maketing, nghiên cứu thị trường, bảo hiểm, y tế, giáo dục... Phần lớn các thuật toán ra

đời trước đều sử dụng cơ chế dữ liệu cư trú trong bộ nhớ (memory resident), thường

thao tác với lượng dữ liệu nhỏ. Một số thuật toán ra đời sau này đã sử dụng kỹ thuật cư

trú trên đĩa cải thiện đáng kể khả năng mở rộng của thuật toán với những tập dữ liệu

lớn lên tới hàng tỉ bản ghi.

Quá trình phân lớp dữ liệu gồm hai bước [8]:

 Bước thứ nhất (learning)

Quá trình học nhằm xây dựng một mô hình mô tả một tập các lớp dữ liệu hay

các khái niệm định trước. Đầu vào của quá trình này là một tập dữ liệu có cấu trúc

được mô tả bằng các thuộc tính và được tạo ra từ tập các bộ giá trị của các thuộc tính đó.

Mỗi bộ giá trị được gọi chung là một phần tử dữ liệu (data tuple), có thể là các

mẫu (sample), ví dụ (example), đối tượng (object), bản ghi (record) hay trường hợp

(case). Khoá luận sử dụng các thuật ngữ này với nghĩa tương đương. Trong tập dữ liệu

này, mỗi phần tử dữ liệu được giả sử thuộc về một lớp định trước, lớp ở đây là giá trị

của một thuộc tính được chọn làm thuộc tính gán nhãn lớp hay thuộc tính phân lớp

(class label attribute). Đầu ra của bước này thường là các quy tắc phân lớp dưới dạng

luật dạng if-then, cây quyết định, công thức logic, hay mạng nơron. Quá trình này

14

được mô tả như trong hình 1.5.

Hình 1.5: Phân lớp dữ liệu – (a) Xây dựng mô hình phân lớp

 Bước thứ hai (classification)

Bước thứ hai dùng mô hình đã xây dựng ở bước trước để phân lớp dữ liệu

mới. Trước tiên độ chính xác mang tính chất dự đoán của mô hình phân lớp vừa tạo ra

được ước lượng. Holdout là một kỹ thuật đơn giản để ước lượng độ chính xác đó. Kỹ

thuật này sử dụng một tập dữ liệu kiểm tra với các mẫu đã được gán nhãn lớp. Các

mẫu này được chọn ngẫu nhiên và độc lập với các mẫu trong tập dữ liệu đào tạo. Độ

chính xác của mô hình trên tập dữ liệu kiểm tra đã đưa là tỉ lệ phần trăm các các mẫu

trong tập dữ liệu kiểm tra được mô hình phân lớp đúng (so với thực tế). Nếu độ chính

xác của mô hình được ước lượng dựa trên tập dữ liệu đào tạo thì kết quả thu được là

rất khả quan vì mô hình luôn có xu hướng “quá vừa” dữ liệu. Quá vừa dữ liệu là hiện

tượng kết quả phân lớp trùng khít với dữ liệu thực tế vì quá trình xây dựng mô hình

phân lớp từ tập dữ liệu đào tạo có thể đã kết hợp những đặc điểm riêng biệt của tập dữ

liệu đó. Do vậy cần sử dụng một tập dữ liệu kiểm tra độc lập với tập dữ liệu đào tạo.

Nếu độ chính xác của mô hình là chấp nhận được, thì mô hình được sử dụng để phân

lớp những dữ liệu tương lai, hoặc những dữ liệu mà giá trị của thuộc tính phân lớp là

15

chưa biết.

Hình 1.6: Phân lớp dữ liệu – (b1) ước lượng độ chính xác mô hình

Hình 1.7: Phân lớp dữ liệu – (b2) phân lớp dữ liệu mới

Trong mô hình phân lớp, thuật toán phân lớp giữ vai trò trung tâm, quyết định

tới sự thành công của mô hình phân lớp. Do vậy chìa khóa của vấn đề phân lớp dữ liệu

là tìm ra được một thuật toán phân lớp nhanh, hiệu quả, có độ chính xác cao và có khả

năng mở rộng được. Trong đó khả năng mở rộng được của thuật toán được đặc biệt trú

16

trọng và phát triển.

Có thể liệt kê ra đây một số kỹ thuật có thể được dùng cho phân lớp dữ liệu:

 Phân lớp cây quyết định (Decision tree classification)

 Bộ phân lớp Bayesian (Bayesian classifier)

 Mô hình phân lớp K-hàng xóm gần nhất (K-nearest neighbor classifier)

 Mạng nơron

 Phân tích thống kê

17

 Phương pháp tập thô (Rough set Approach)

CHƯƠNG 2: PHƯƠNG PHÁP, CÔNG CỤ HỖ TRỢ NHẬN DẠNG HÀNH VI

2.1. Kỹ thuật phân lớp nhận dạng hành vi

Một khi dữ liệu đã sẵn sàng, một thuật toán phân loại cần phải được thực hiện.

Như đã đề cập trước đó, dự đoán hành vi của con người thường được coi là một vấn đề

phân loại, sử dụng kỹ thuật học máy dựa trên lý thuyết về xác suất thống kê. Vào năm

1959, Arthur Samuel định nghĩa học máy như là một lĩnh vực nghiên cứu cung cấp cho

máy tính khả năng học hỏi mà không cần được lập trình một cách rõ ràng. Các cơ sở của

học máy là chính xác như Samuel đã mô tả, nó xây dựng một mô hình và phân loại, khả

năng học từ dữ liệu vô hình.Mô hình đại diện cho đại diện dữ liệu (thông thường mỗi

trường hợp đại diện cho một cửa sổ dữ liệu với kích thước cố định) và đại diện chức năng

trong bước huấn luyện và cuối cùng là phân loại có thể khái quát hóa cho dữ liệu không

nhìn thấy. Học máy làm một ngành khoa học máy tính có liên quan đến vấn đề mà mô

hình cơ bản cho việc dự đoán hoặc mô tả phải được thực hiện, dựa trên những thuộc tính

đã biết để huấn luyện từ bộ dữ liệu huấn luyện.

Thuật toán học máy có thể chia ra thành các loại:

- Học máy bán giám sát: kỹ thuật cho phép thuật toán có thể thích nghi với dữ

liệu mới. Một số thuật toán cho học máy này như: mô hình Markov ẩn (HMM),

mạng Naïve Bayes, cây quyết định, K-Nearest Neighbours, Máy vecter hỗ trợ

(SMM)

- Học máy giám sát: sử dụng dữ liệu được gán nhãn để huấn luyện thuật toán,

sau đó chúng có thể phân lớp dữ liệu chưa được gán nhãn.

- Học máy không giám sát: cố gắng xây dựng mô hình trực tiếp từ dữ liệu không

đượcgán nhãn. Cách tiếp cận này sử dụng ước lượng mật độ để tìm các cụm

mẫu tương tự để tạo ra mô hình học máy.

- Học máy tăng cường: huấn luyện nhiều học máy để giải quyết cùng một vấn

đề. Khả năng tổng quát của chúng có thể tốt hơn nhiều so với sử dụng một học

18

máy.

Hình 2.1: Sơ đồ biểu diễn quy trình học máy

Liên quan đến mục đích mà hệ thống nhận dạng hành vi được thiết kế, điều quan

trọng là thu thập càng nhiều dữ liệu của từng hoạt động càng tốt, nhưng không chỉ số

lượng là quan trọng, tính chính xác của việc xử lý bản ghi cũng là điềucần thiết bởi vì các

thuật toán dựa rất nhiều vào số liệu. Chủng loại, vị trí và số lượng cảm biến được sử dụng

để thu thập dữ liệu cũng rất quan trọng và so sánh các kết quả của các nghiên cứu chỉ khả

19

thi nếu các điều kiện tương tự nhau, không nhất thiết phải mô phỏng theo.

Các quá trình cần thiết để nhận dạng hành vi của con người được tóm tắt trong

hình 2.2 và về cơ bản nó bao gồm các bước: thu thập dữ liệu chuyển động cho các hoạt

động, tiền xử lý tín hiệu này với các bộ lọc, lấy mẫu lại trong các cửa sổ được xác định

trước để phân tích và phân lớp dữ liệu. Trong trường hợp chúng ta sử dụng thư viện weka

để phân lớp thì cần một bước bổ sung là chuyển đổi dữ liệu vào định dạng tệp ARFF. Sau

khi lựa chọn thuộc tính, các số liệu đánh giá cần được tính toán và đầu ra của mô hình

phân lớp sẽ cho chúng ta mỗi thể hiện của các dữ liệu hoạt động là gì.

Hình 2.2: mô hình nhận dạng hành vi từ dữ liệu cảm biến trên điện thoại thông minh

2.2. Tiền xử lý

Các dữ liệu thô thường cần phải được xử lý trước để cung cấp cho các bộ công cụ.

Trong luận văn này tôi sử dụng Weka hoạt động với tập tin định dạng ARFF để tiền xử lý

dữ liệu, vì vậy tất cả các file cần chuyển đổi thành ARFF.

Dữ liệu thô của cảm biến gia tốc cần được chia trong các cửa sổ, tuần tự để chuẩn

bị tiền xử lý. Một cách lựa chọn cửa sổ là dựa vào việc nhận được dự định sẽ được thực

hiện trong thời gian thực hay không. Đối với các ứng dụng online, các cửa sổ được xác

định song song với tập dữ liệu, và đối với các ứng dụng offline các cửa sổ cần xác định

trước khi thu thập dữ liệu. Các phương pháp được sử dụng phổ biến nhất là cửa sổ trượt,

các tín hiệu được chia trong các cửa sổ không có khoảng trống. tuy nhiên, kế hoạch này

có nhược điểm là các kích thước cửa sổ được thiết lập một cách tùy tiện, nó có thể dẫn

đến việc tách dữ liệu trong một nơi không thuận tiện, không ghi được “toàn bộ chu kỳ”

của hoạt động cần được ghi nhận. Kỹ thuật này có thể được sử dụng với sự chồng chéo

(thông thường là 50%). Trong nghiên cứu này sẽ sử dụng cửa sổ với kích thước 256 mẫu

20

(tương ứng với 5,12 giây của dữ liệu) và chồng chéo 50%.

Dữ liệu thô cần chia thành tập huấn luyện và kiểm thử. Tập huấn luyện sẽ được sử

dụng để đào tạo các thuật toán nhận dạng và tập kiểm thử sau đó sẽ được dùng để đánh

giá các thuật toán sau khi đào tạo. Điều là rất quan trọng để không sử dụng mẫu thử

nghiệm để huấn luyện mô hình để không thiên vị kết quả và đảm bảo phân loại được đánh

giá trong dữ liệu không nhìn thấy. bộ công cụ weka có một số chiến lược chia nhỏ dữ

liệu, chẳng hạn như cross-validation, một phần của tập dữ liệu được sử dụng và phần còn

lại cho thử nghiệm và percentage split, thường sử dụng một phần 3 dữ liệu cho việc kiểm

thử, do đó tỉ lệ train/test là 66%.

2.3. Trích chọn tính năng

Đối với mỗi cửa sổ, một số tính năng được chiết suất để mô tả các tín hiệu. Những

tính năng này sau đó được sử dụng như là đầu vào cho thuật toán nhận dạng, kết hợp mỗi

cửa sổ với một hoạt động. Miền thời gian, miền tần số và các tính năng miền chuỗi biểu

tượng có thể được chiết xuất từ dữ liệu chuyển động. Tuy nhiên, một sự kết hợp của

chúng là một kỳ vọng.

 Time-domain features (tính năng miền thời gian) là số liệu toán học và

thống kê đơn giản sử dụng để trích xuất thông tin tín hiệu cơ bản từ dữ liệu thô.

Nó cũng có thể được tính như dữ liệu đang được đọc. Thông thường, tính năng

này rất đơn giản để tính toán. Bảng 2.1 tóm tắt một số tính năng trong miền

21

thời gian.

Bảng 2.1: Tính năng miền thời gian

 Frequency-domain techniques (miền tần số) nắm bắt được bản chất tương

ứng của một tín hiệu cảm biến (Figo et al., 2010). Trong tính năng miền tần số,

các cửa sổ dữ liệu cảm biến phải được chuyển thành miền tần số, sử dụng các

biến đổi Fourier (FFT), đó là một đại diện phổ của tín hiệu. Một đại diện dựa

trên tần số, dựa trên sự phân hủy của một tập các vecor trực giao là biến đổi

Wavelet. Bảng 2.2 cho thấy một số tính năng miền tần số.

Bảng 2.2: Miền tần số

Một tính năng khác được chuyển hóa từ miền chuỗi biểu tượng (symbolic

22

string-domain), nơi mà dữ liệu gia tốc chuyển thành chuos các ký hiệu rời rạc,

sử dụng một bảng chữ cái biểu tượng để đại diện cho các tín hiệu. Bảng 2.3 tóm

tắt một số tính năng này

Bảng 2.3: Tính năng miền chuỗi biểu tượng

Khi áp dụng các tính năng tính toán trên một điện thoại thông minh, ta nên cẩn

thận với độ phức tạp tính toán của chúng, bởi vì các điện thoại thông minh có bộ nhớ hạn

chế, khả năng xử lý và tuổi thọ của pin. Do đó hầu như tất cả các tính năng trong miền

thời gian phù hợp hơn cho các thiết bị di động, đưa vào bảng điểu các hoạt động tương

quan có chi phí cao hơn. Với ngoại lệ của các số liệu dựa trên biến đổi Wavelet, tất cả các

tính năng khác miền tấn số là tốn kém về chi phí tính toán.

2.4. Phân lớp dữ liệu

Sau khi lấy ra các tín hiệu tính năng, ta nên áp dụng kỹ thuật học máy để xây dựng

một bộ phân lớp. Có thể sử dụng Weka để thực hiện các thuật toán nhận dạng. Weka

phân lớp dựa vào các thuật toán như k-NN, cây quyết định, Naïve Bayes, SVM…

Trong thuật toán k-NN, lớp giao thức cho một vector x là các lớp học với số lượng

tối đa của phiếu đến từ các mẫu k gần x. Những phân loại dựa trên trường hợp không đòi

hỏi một mô hình phù hợp. Để tìm các mẫu gần nhất, các thuật toán có thể sử dụng khoảng

cách Euclide. Các đa lớp của láng giềng k gần nhất tìm thấy được gán cho một phiên bản

thử nghiệm. Nó là một thuật toán nhanh chóng và độ phức tạp phụ thuộc vào số lớp cần

phân loại.

Cây quyết định sử dụng một cây cho mỗi thuộc tính, một nhánh cho mỗi kết quả

thử nghiệm được tạo ra. Các thuật toán dừng khi nó tìm thấy một lá. Trong Weka có thể

23

sử dụng cài đặt của thuật toán cây quyết định là J48.

Đối với Naïve bayes, khi một đối tượng được phân loại sai có thể được định lượng

như là chi phí hoặc hao tổn.Sự kỳ vọng của các chi phí có thể được sử dụng như một phân

lớp tối ưu hóa. Tuân toán này đại diện cho các phân bố xác suất của bộ dữ liệu huấn

luyện.

SVM là phân lớp tuyến tính xác định một siêu phẳng phân cách trong không gian

dữ liệu và phân loại các điểm trong không gian đó. Mục tiêu là để tìm siêu phẳng tách

không gian thành 2 lớp.

2.4.1. Thuật toán SVM

2.4.1.1. Thuật toán

SVM sử dụng thuật toán học nhằm xây dựng một siêu phẳng làm cực tiểu hoá độ

phân lớp sai của một đối tượng dữ liệu mới. Độ phân lớp sai của một siêu phẳng được đặc

trưng bởi khoảng cách bé nhất tới siêu phẳng đấy. SVM có khả năng rất lớn cho các ứng

dụng được thành công trong bài toán phân lớp.

Xét bài toán phân lớp đơn giản nhất - phân lớp hai lớp với tập dữ liệu mẫu:

{𝑥𝑖, 𝑦𝑖}𝑖 = 1, 2, 3, … , 𝑁, 𝑥𝑖 𝜖 𝑅𝑚

Trong đó mẫu là các vector đối tượng được phân lớp thành các mẫu dương và mẫu

âm như hình 2.3:

- Các mẫu dương là các mẫu xi thuộc lĩnh vực quan tâm được gán nhãn yi = 1

24

- Các mẫu âm là các mẫu xi thuộc lĩnh vực quan tâm được gán nhãn yi = -1

Hình 2.3: Siêu phẳng h chia bộ dữ liệu huấn luyện thành 2 tập + và – với khoảng cách

biên lớn nhất.

Trong trường hợp này, tập phân lớp SVM là mặt siêu phẳng phân tách các mẫu

dương khỏi các mẫu âm với độ chênh lệch cực đại, trong đó độ chênh lệch - còn gọi là

Lề (margin) xác định bằng khoảng cách giữa các mẫu dương và các mẫu âm gần mặt siêu

phẳng nhất. Mặt siêu phẳng này được gọi là mặt siêu phẳng lề tối ưu. Các mặt siêu phẳng

trong không gian đối tượng có phương trình là:

𝐶 + 𝑤1𝑥1 + 𝑤2𝑥2 + ⋯ + 𝑤𝑛𝑥𝑛 = 0

Với w = w1 + w2 + …+ wn là bộ hệ số siêu phẳng hay là vector trọng số, C là độ

dịch, khi thay đổi w và C thì hướng và khoảng cách từ gốc toạ độ đến mặt siêu phẳng thay

25

đổi.

Tập phân lớp SVM được định nghĩa như sau:

𝑓(𝑥) = 𝑠𝑖𝑔𝑛(𝐶 + ∑ 𝑤𝑖𝑥𝑖)

Trong đó:

sign(z) = +1 nếu z ≥ 0,

sign(z) = -1 nếu z < 0.

Nếu f(x) = +1 thì x thuộc về lớp dương (lĩnh vực được quan tâm), và ngược lại,

nếu f(x) = -1 thì x thuộc về lớp âm (các lĩnh vực khác).

Máy học SVM là một học các siêu phẳng phụ thuộc vào tham số vector trọng số w

và độ dịch C. Mục tiêu của phương pháp SVM là ước lượng w và C để cực đại hoá lề

giữa các lớp dữ liệu dương và âm. Các giá trị khác nhau của lề cho ta các họ siêu mặt

phẳng khác nhau, và lề càng lớn thì năng lực của máy học càng giảm. Như vậy, cực đại

hoá lề thực chất là việc tìm một máy học có năng lực nhỏ nhất. Quá trình phân lớp là tối

ưu khi sai số phân lớp là cực tiểu.

Ta phải giải phương trình sau:

tìm ra được vector trọng số w và sai số của mỗi điểm trong tập huấn luyện là ηi từ đó ta

có phương trình tổng quát của siêu phẳng tìm ra được bởi thuật toán SVM là:

𝑓(𝑥1, 𝑥2, … , 𝑥𝑛) = 𝐶 + ∑ 𝑤𝑖 𝑥𝑖

Với i = 1, …, n. Trong đó n là số dữ liệu huấn luyện.

Sau khi đã tìm được phương trình của siêu phẳng bằng thuật toán SVM, áp dụng

26

công thức này để tìm ra nhãn lớp cho các dữ liệu mới.

2.4.1.2. Huấn luyện SVM

Huấn luyện SVM là việc giải bài toán quy hoạch toàn phương SVM. Các phương

pháp số giải bài toán quy hoạch này yêu cầu phải lưu trữ một ma trận có kích thước bằng

bình phương của số lượng mẫu huấn luyện. Trong những bài toán thực tế, điều này là

không khả thi vì thông thường kích thước của tập dữ liệu huấn luyện thường rất lớn (có

thể lên tới hàng chục nghìn mẫu). Nhiều thuật toán khác nhau được phát triển để giải

quyết vấn đề nêu trên. Những thuật toán này dựa trên việc phân rã tập dữ liệu huấn luyện

thành những nhóm dữ liệu. Điều đó có nghĩa là bài toán quy hoạch toàn phương với kích

thước nhỏ hơn. Sau đó, những thuật toán này kiểm tra các điều kiện KKT (Karush-Kuhn

Tucker) để xác định phương án tối ưu.

Một số thuật toán huấn luyện dựa vào tính chất: Nếu trong tập dữ liệu huấn luyện

của bài toán quy hoạch toàn phương con cần giải ở mỗi bước có ít nhất một mẫu vi phạm

các điều kiện KKT, thì sau khi giải bài toán này, hàm mục tiêu sẽ tăng. Như vậy, một

chuỗi các bài toán quy hoạch toàn phương con với ít nhất một mẫu vi phạm các điều kiện

KKT được đảm bảo hội tụ đến một phương án tối ưu. Do đó, ta có thể duy trì một tập dữ

liệu làm việc đủ lớn có kích thước cố định và tại mỗi bước huấn luyện, ta loại bỏ và thêm

vào cùng một số lượng mẫu.

2.4.2. Thuận toán k-NN

Thuật toán KNN là một phương pháp truyền thống và khá nổi tiếng trong hướng

tiếp cận dựa trên thống kê, đã được nghiên cứu trong nhận dạng mẫu trong vài thập kỷ

gần đây.

Muốn phân lớp một dữ liệu mới, thuật toán KNN sẽ tính khoảng cách Euclide của

dữ liệu này đến các dữ liệu trong tập huấn luyện và chọn ra k dữ liệu có khoảng cách gần

nhất, còn gọi là k – láng giềng. Dùng các khoảng cách vừa tính được đánh trọng số cho

các chủ đề đã có. Trọng số của một chủ đề sẽ được tính bằng tổng các khoảng cánh từ dữ

liệu cần phân lớp đến các dữ liệu trong k láng giềng mà có cùng chủ đề đó. Những chủ đề

không xuất hiện trong tập k văn bản sẽ có trọng số bằng 0. Các chủ đề được sắp xếp theo

độ giảm dần của các trọng số và chủ đề nào có trọng số cao sẽ là chủ đề cho dữ liệu cần

27

phân lớp.

Công thức tính trọng số chủ đề cj đối với dữ liệu

Trong đó:

- y( , cj) ∈ {0,1} với:

y = 0: dữ liệu không thuộc chủ đề cj

y = 1: dữ liệu thuộc chủ đề cj

- sim( , ) độ giống nhau giữa văn bản cần phân loại x và văn bản d i . Sử dụng

độ đo cosin để tính sim( , ):

- bj là ngưỡng phân loại của chủ đề cj , được tự động học sử dụng một tập dữ liệu

hợp lệ chọn ra từ tập huấn luyện.

Khi số văn bản trong tập dữ liệu láng giềng càng lớn thì thuật toán càng ổn định và

sai sót thấp.

2.4.3. Phân lớp dựa trên thuật toán cây quyết định

Cây quyết định (Decision Tree) là một trong các phương pháp được sử dụng rộng

rãi trong học quy nạp từ tập dữ liệu lớn. Đây là phương pháp học xấp xỉ các hàm mục tiêu

có giá trị rời rạc. Một ưu điểm của phương pháp cây quyết định là có thể chuyển dễ dàng

sang dạng cơ sở tri thức là các luật Nếu - Thì (If - Then).

Trên cây gồm các nút trong được gán nhãn bởi các khái niệm, các nhánh cây chứa

nút được gán nhãn bằng các trọng số của khái niệm tương ứng đối với tài liệu mẫu và các

lá trên cây được gán nhãn bởi các nhãn nhóm. Một hệ thống như vậy sẽ phân loại một tài

liệu di bởi phép thử đệ quy các trọng số mà các khái niệm được gán nhãn cho các nút

trong với vector di cho đến khi với tới một nút lá, khi đó nhãn của nút này được gán cho

tài liệu di. Đa số các phương pháp phân loại như vậy sử dụng biểu diễn ở dạng nhị phân

28

và các cây cũng được biểu diễn dưới dạng nhị phân.

Hình 2.4: Ví dụ về cây quyết định

Xây dựng cây quyết định

Quá trình xây dựng cây quyết định gồm hai giai đoạn:

 Giai đoạn thứ nhất phát triển cây quyết định:

Giai đoạn này phát triển bắt đầu từ gốc, đến từng nhánh và phát triển quy

nạp theo cách thức chia để trị cho tới khi đạt được cây quyết định với tất cả

các lá được gán nhãn lớp.

 Giai đoạn thứ hai cắt, tỉa bớt các cành nhánh trên cây quyết định:

Giai đoạn này nhằm mục đích đơn giản hóa và khái quát hóa từ đó làm tăng

độ chính xác của cây quyết định bằng cách loại bỏ sự phụ thuộc vào mức độ

lỗi (noise) của dữ liệu đào tạo mang tính chất thống kê, hay những sự biến

đổi mà có thể là đặc tính riêng biệt của dữ liệu đào tạo. Giai đoạn này chỉ

truy cập dữ liệu trên cây quyết định đã được phát triển trong giai đoạn trước

và quá trình thực nghiệm cho thấy giai đoạn này không tốn nhiều tài nguyên

tính toán, như với phần lớn các thuật toán, giai đoạn này chiếm khoảng dưới

1% tổng thời gian xây dựng mô hình phân lớp.

Do vậy, ở đây chúng ta chỉ tập trung vào nghiên cứu giai đoạn phát triển cây

quyết định. Dưới đây là khung công việc của giai đoạn này:

1) Chọn thuộc tính “tốt” nhất bằng một độ đo đã định trước

2) Phát triển cây bằng việc thêm các nhánh tương ứng với từng giá trị của thuộc

tính đã chọn

29

3) Sắp xếp, phân chia tập dữ liệu đào tạo tới node con

4) Nếu các ví dụ được phân lớp rõ ràng thì dừng.

Ngược lại: lặp lại bước 1 tới bước 4 cho từng node con

Hình 2.5: Mã giải của thuật toán phân lớp dữ liệu dựa trên cây quyết định

Cây quyết định sử dụng một cây cho mỗi thuộc tính, một nhánh cho mỗi kết quả

thử nghiệm được tạo ra. Các thuật toán dừng khi nó tìm thấy một lá. Trong Weka có thể

sử dụng cài đặt của thuật toán cây quyết định là J48.

2.5. Đánh giá thuật toán

Có nhiều cách khác nhau để đánh giá hiệu suất của một thuật toán phân lớp, cách

thường được dùng nhất là sử dụng ma trận nhầm lẫn với tính chính xác và đúng đắn.

Hiệu quả của bộ phân lớp thường được đánh giá qua so sánh quyết định của bộ

phân lớp đó với quyết định của con người khi tiến hành trên một tập kiểm thử (test set)

các văn bản đã được gán nhãn lớp trước. Có ba độ đo điển hình được sử dụng để đánh giá

độ hiệu quả của thuật toán phân lớp, đó là độ chính xác P (precision), độ hồi tưởng R

30

(recall) và độ đo F-measure được tính lần lượt theo công thức ở bảng 2.4.

Bảng 2.4: Công thức đánh giá toán hiệu năng thuật toán phân lớp

31

Hình 2.6: Ma trận nhầm lẫn

CHƯƠNG 3: CÀI ĐẶT VÀ THỰC NGHIỆM

Chương này mô tả các phương pháp sử dụng để đánh giá dữ liệu cảm biến gia tốc,

tìm kiếm mô hình hoạt động và huấn luyện phân lớp để dự đoán cho dữ liệu mới với các

hành vi tương ứng.

3.1. Bộ dữ liệu nhận dạng hành vi

Giả thuyết của luận văn này là kiểm tra khả năng thực hiện một thuật toán phân

loại trên điện thoại thông minh để nhận dạng hành vi con người, có tính đến sự đánh giá

pin và hạn chế bộ nhớ. Với mục đích này, chúng cần nghiên cứu các kỹ thuật cần thiết

cho bộ tiền xử lý và phân loại dữ liệu gia tốc, sử dụng một bộ dữ liệu cạnh tranh.

Trong luận văn này, bộ dữ liệu về nhận dạng hành vi được cung cấp sẵn [6] với

đặc tính của dữ liệu:

Các thí nghiệm được tiến hành với một nhóm 30 tình nguyện viên trong phạm vi

độ tuổi từ 19 tuổi đến 48 tuổi. Mỗi người thực hiện 6 hành vi và đeo một chiếc điện thoại

thông minh (Galaxy S II) vào thắt lưng, đặt theo chiều dọc. Sử dụng cảm biến gia tốc, con

quay hồi chuyển họ đã lấy được dữ liệu gia tốc tuyến tính 3 trục và vận tốc góc 3 trục ở

một tốc độ không thay đổi 50Hz. Các thí nghiệm được ghi hình lại để gán nhãn dữ liệu

bằng tay.

Hình 3.1: Thu thập dữ liệu từ cảm biến của điện thoại thông minh

Bộ dữ liệu này cung cấp các tín hiệu gia tốc và con quay hồi chuyển cho mỗi bộ dữ

32

liệu (huấn luyện và kiểm thử) cũng như các nhãn hành vi cho mỗi trường hợp.

“Các tín hiệu cảm biến (gia tốc và con quay hồi chuyển) được tiền xử lý bằng cách

áp dụng các bộ lọc nhiễu và sau đó lấy mẫu với cửa sổ trượt 2,56 giây và 50% chồng

chéo. Tín hiệu cảm biến gia tốc, trong đó thành phần hấp dẫn và chuyển động cơ thể được

phân tách bằng bộ lọc thông thấp Butterworth. Lực hấp dẫn được giả định là thành phần

có tần số thấp, do đó một bộ lọc với tần số cắt 0.3Hz được sử dụng. Với mỗi cửa sổ, một

vector tính năng được thu lại bởi cách tính toán từ biến thời gian và miền tần số.” [6]

Hình 3.2: Ví dụ về dữ liệu của cảm biến gia tốc

Các tính năng này được chuẩn hóa và giới hạn trong khoảng [-1, 1]. Việc chuẩn

hóa được thực hiện theo hàm số:

𝑥𝑁𝑜𝑟𝑚 = × 2 − 1 𝑥 − 𝑀𝑖𝑛 𝑀𝑎𝑥 − 𝑀𝑖𝑛

Trường xNorm là tính năng được chuẩn hóa, x là các tính năng và Min và Max là

33

các giá trị tối thiểu và tối đa tương ứng với tính năng x.

Để một phân loại chính xác hơn, các bộ dữ liệu nên được cân bằng và tất cả 6 lớp

nên cùng có một số trường hợp. Sự phân lớp từ các dữ liệu cạnh tranh được giới thiệu

trong bảng 3.1.

Bảng 3.1: Số lượng các trường hợp cho mỗi lớp

Tập huấn luyện Tập kiểm thử Nhãn dữ liệu

1226 1073 986 1286 1374 1407 496 471 420 491 532 537

Walking Walking down stairs Walking up stairs Sitting Standing Lying Total 7352 2947

Các tác giả trích xuất 561 tính năng tương ứng với 17 tính năng trong bảng 3.2, dữ liệu này được rút ra theo các tín hiệu từ bảng 3.3.

Bảng 3.2: Tính năng được trích xuất và mô tả

34

Mô tả Giá trị trung bình Độ lệch chuẩn Độ lệch trung bình tuyệt đối Giá trị lớn nhất trong mảng Giá trị nhỏ nhất trong mảng Khoảng cường độ tín hiệu Thước đo năng lượng. Tổng các giá trị trung bình chia cho số các giá trị Khoảng tứ phân Tín hiệu entropy Hệ số Autorregresion với trật tự Burg bằng 4 Hệ số tương quan giữa hai tín hiệu Chỉ số của các thành phần tần số với cường độ lớn nhất Bình quân trọng số của các thành phần tần số để có được một tần số trung bình Độ lệch của tín hiệu miền tần số Độ nhọn của tín hiệu miền tần số Tính năng mean() std() mad() max() min() sma() energy() iqr() entropy() arCoeff() correlation() maxInds() meanFreq() skewness() kurtosis()

bandsEnergy() angle() Năng lượng của một khoảng tần số trong 64 ngăn của FFT của mỗi cửa sổ. Góc giữa hai vectơ.

Bảng 3.3: Tín hiệu được chuyển hóa từ dữ liệu gia tốc, sử dụng miền thời gian và tần số

Miền thời gian Miền tần số

fBodyAcc-XYZ fBodyAccJerk-XYZ fBodyGyro-XYZ fBodyAccMag fBodyAccJerkMag fBodyGyroMag fBodyGyroJerkMag

tBodyAcc-XYZ tGravityAcc-XYZ tBodyAccJerk-XYZ tBodyGyro-XYZ tBodyGyroJerk-XYZ tBodyAccMag tGravityAccMag tBodyAccJerkMag tBodyGyroMag tBodyGyroJerkMag

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

Liên quan đến kỹ thuật tiền xử lý, có 2 cách thức để lựa chọn thuộc tính: Filters và

Wrapper. Sau đó ta tạo ra các tập con có thể từ các vector đặc trưng và phân loại để sử

dụng trên mỗi tập con, mục tiêu là tạo ra tập con mà phân lớp thực hiện là tốt nhất. Để tìm

tập con, người ta sử dụng phương thức tìm kiếm như: phương pháp linear forward hoặc

phương pháp best first. Các bộ lọc sử dụng thẩm định thuộc tính (attribute evaluator) và

một hàng để xếp hạng các tính năng. Với phương pháp này, mỗi tính năng trong đó có cấp

bậc thấp hơn được loại bỏ một thời gian để xem độ chính xác của việc phân loại.

Với luận văn này, tôi sử dụng weka để thực hiện tiền xử lý dữ liệu. Trong Weka

chúng ta có thể sử dụng phương pháp đánh giá CfsSubSetEval và phương thức tìm kiếm là

Best First. Từ dữ liệu với 562 thuộc tính (561 thuộc tính và 1 thuộc tính lớp phân loại),

thực hiện trích chọn thuộc tính để có được một vector 37 tính năng cho huấn luyện mô

35

hình phân lớp.

Bảng 3.4: Trích chọn tính năng từ tập dữ liệu ban đầu

Attribute attribute evaluator Search method Select Att

561 (DT0) CfsSubSetEval BestFirst 49 (DT1)

561 (DT0) CfsSubSetEval LinearForwardSel 37(DT2)

37(DT2) CfsSubSetEval LinearForwardSel 32(DT3)

Bảng 3.5: Loại bỏ tính năng được đánh dấu trong các tập dữ liệu

Tập dữ liệu 1(DT1) Tập dữ liệu 2(DT2) Tập dữ liệu 3(DT3)

Miền thời gian tBodyAcc-std()-X tBodyAcc-max()-X tBodyAcc-arCoeff()-Z,4 tBodyAcc-correlation()-X,Y tBodyAcc-correlation()-Y,Z tGravityAcc-min()-X tGravityAcc-min()-Y tGravityAcc-arCoeff()-X,4 tGravityAcc-arCoeff()-Y,1 tGravityAcc-correlation()- X,Y tGravityAcc-correlation()- X,Z tBodyAccJerk-mad()-Y tBodyAccJerk-max()-Z tBodyAccJerk-entropy()-Z tBodyAccJerk-arCoeff()-X,3 tBodyGyro-mean()-X tBodyGyro-arCoeff()-Y,4 tBodyGyro-correlation()- X,Y tBodyGyro-correlation()- X,Z tBodyGyro-correlation()- Y,Z tBodyAccJerkMag-min() tBodyAccJerkMag-iqr()

36

Miền thời gian tBodyAcc-max()-X tBodyAcc-correlation()-X,Y tGravityAcc-mean()-X tGravityAcc-mean()-Y tGravityAcc-std()-X tGravityAcc-max()-X tGravityAcc-max()-Y tGravityAcc-max()-Z tGravityAcc-min()-X tGravityAcc-min()-Y tGravityAcc-energy()-X tGravityAcc-arCoeff()-X,3 tGravityAcc-arCoeff()-Y,1 tGravityAcc-arCoeff()-Z,2 tGravityAcc-correlation()- X,Y tGravityAcc-correlation()- Y,Z tBodyAccJerk-max()-X tBodyAccJerk-max()-Z tBodyAccJerk-iqr()-Z tBodyAccJerk-entropy()-Z tBodyAccJerk-arCoeff()-X,3 tBodyGyro-mean()-X tBodyGyro-correlation()-X,Y tBodyGyro-correlation()-X,Z tBodyGyro-correlation()-Y,Z tBodyGyroJerk-iqr()-X tBodyGyroJerkMag-min() tBodyGyroJerkMag-iqr() Miền thời gian tBodyAcc-max()-X tBodyAcc-arCoeff()-Z,4 tBodyAcc-correlation()- X,Y tBodyAcc-correlation()- Y,Z tGravityAcc-min()-X tGravityAcc-min()-Y tGravityAcc-arCoeff()- X,4 tGravityAcc-arCoeff()- Y,1 tGravityAcc- correlation()-X,Y tGravityAcc- correlation()-X,Z tBodyAccJerk-max()-Z tBodyAccJerk-entropy()- Z tBodyAccJerk-arCoeff()- X,3 tBodyGyro-mean()-X tBodyGyro-arCoeff()-Y,4 tBodyGyro-correlation()- X,Y tBodyGyro-correlation()- X,Z tBodyGyro-correlation()- Y,Z tBodyAccJerkMag-min() tBodyAccJerkMag-iqr()

Miền tần số fBodyAcc-std()-X fBodyAccJerk-maxInds- X fBodyAccJerk- bandsEnergy()-1,8 fBodyGyro-maxInds-X fBodyGyro-maxInds-Z fBodyGyro-meanFreq()- X fBodyAccMag-mad() fBodyBodyAccJerkMag- mad() fBodyBodyAccJerkMag- energy() fBodyBodyGyroMag- maxInds angle(tBodyGyroJerkMea n,gravityMean)

Miền tần số fBodyAcc-std()-X fBodyAccJerk-maxInds-X fBodyAccJerk- bandsEnergy()-1,8 fBodyAccJerk- bandsEnergy()-17,24 fBodyGyro-maxInds-X fBodyGyro-maxInds-Z fBodyGyro-meanFreq()-X fBodyAccMag-mean() fBodyAccMag-mad() fBodyAccMag-iqr() fBodyBodyAccJerkMag- mad() fBodyBodyAccJerkMag- energy() fBodyBodyGyroMag-iqr() fBodyBodyGyroMag- maxInds angle(tBodyGyroJerkMean,g ravityMean)

Miền tần số fBodyAcc-std()-X fBodyAcc-skewness()-X fBodyAccJerk-maxInds-X fBodyAccJerk-maxInds-Y fBodyAccJerk-maxInds-Z fBodyAccJerk- bandsEnergy()-1,8 fBodyGyro-maxInds-X fBodyGyro-maxInds-Y fBodyGyro-maxInds-Z fBodyAccMag-mean() fBodyAccMag-std() fBodyAccMag-iqr() fBodyBodyAccJerkMag- max() fBodyBodyAccJerkMag- energy() fBodyBodyAccJerkMag-iqr() fBodyBodyGyroMag- maxInds angle(tBodyGyroMean,gravit yMean) angle(tBodyGyroJerkMean,gr avityMean) angle(X,gravityMean) angle(Y,gravityMean)

3.3. Xây dựng thực nghiệm ứng dụng nhận dạng hành vi

Do phạm vi nghiên cứu đề tài luận văn trong thời gian ngắn, nên tôi xây dựng

chương trình mang tính chất demo về những gì tôi đã nghiên cứu được. Ứng dụng được

xây dựng trên nền tảng Android, sử dụng bộ dữ liệu đã được tiền xử lý với công cụ Weka.

Ứng dụng sử dụng thư viện Weka cho việc xử lý tiền dữ liệu và thư viện Weka

mobile cho việc kiểm thử dữ liệu trên mobile. Luận văn cũng xin cung cấp một số thông

tin về Weka như sau:

 Weka là một phần mềm nguồn mở về khai phá dữ liệu được phát triển bởi đại học

University of Waikato nước New Zealand. “Weka” là từ viết tắt cho cụm từ Waikato

37

Environment for Knowledge Analysis. Weka có thể được sử dụng ở nhiều cấp độ khác

nhau. Cấp độ đơn giản của nó là ta có thể áp dụng các thuật toán của Weka để xử lý dữ

liệu từ dòng lệnh. Nó bao gồm nhiều các công cụ dùng cho việc biến đổi dữ liệu, như các

thuật toán dùng để rời rạc hóa dữ liệu.

 Weka cung cấp tất cả các chức năng cơ bản của khai phá dữ liệu bao gồm các

thuật toán về phân lớp (classifier), các thuật toán về tiền xử lý dữ liệu (filter), các thuật

toán về phân cụm (cluster), các thuật toán về kết tập luật (association rule)

Phương pháp phân lớp

Trong chương trước luận văn đã trình bày về một số thuật toán phân lớp. Với thử

nghiệm, luận văn này sử dụng cây quyết định và thuật toán SVM để xây dựng mô hình

học máy.

Môi trường phát triển:

- Hệ điều hành Windows 10 x64

- Android Studio version 2.2.2

- Android SDK

- Công cụ Weka trên Windows và thư viện Weka cho android

Chức năng ứng dụng

Với bộ dữ liệu đã được tiền xử lý, hệ thống thực hiện 2 nhiệm vụ: xây dựng mô

hình học máy trên điện thoại thông minh để đoán định dữ liệu sau đó kiểm thử với bộ dữ

liệu test, hoặc sử dụng mô hình đã được xây dựng bằng công cụ Weka và thực hiện kiểm

38

thử bộ dữ liệu test với mô hình đó trên điện thoại thông minh, đánh giá mô hình học máy.

Hình 3.3: Chương trình ứng dụng demo

3.4. Kết quả thực nghiệm

Trong luận văn tôi đã tiến hành một số thí nghiệm trên tập dữ liệu HAR để dự

đoán kết quả của người dùng trong tương lai. Xét 3 bộ dữ liệu thu được với trích chọn

thuộc tính từ Weka, thuật toán J48 được sử dụng như là một phân lớp cơ bản bởi vì sự

quan tâm trong giai đoạn này là phát hiện tập dữ liệu tối giản tốt nhất. Dựa trên chỉ số

hiệu suất phân lớp được trình bày trong bảng 3.6, tập dữ liệu DT2 được chọn là bộ dữ liệu

tối giản tốt hơn, vì vậy nó là chỉ số hiệu suất tốt nhất.

Bảng 3.6: Phân lớp J48 với các tập dữ liệu

TP FP Precision Recall F-Measure

0.84 0.032 0.842 0.84 0.84 DT1

DT2 0.860 0.028 0.861 0.860 0.859

0.861 0.028 0.862 0.861 0.86 DT3

Dựa vào bảng 3.7 và tập dữ liệu DT2, thuật toán IB1 (thể hiện của thuật toán k-

39

NN) và SMO (thuật toán SVM) cho hiệu năng tốt hơn so với J48 về giá trị FP và F-

Mesure. Tuy nhiên, J48 là phù hợp hơn cho điện thoại thông minh, bởi vì J48 cần ít thời

gian hơn để dự đoán dữ liệu.

Bảng 3.7: Thử nghiệm với tập dữ liệu DT2

J48 IB1 (k-NN) SMO (SVM)

395.20 412.20 407.80 Num FP

0.859 0.90 0.91 F-Measure

18,5 s 0,238 s 9,2 s Training time

0,241 s 90.37 s 0,356 s Predict time

Xét tập DT2 và mô hình phân lớp J48, bảng 3.8 và hình 3.4 cho thấy số liệu hiệu

suất phân lớp cho tập dữ liệu và mô hình phân lớp được chọn. Độ chính xác thu được là

87.38 % và lỗi là 12.62% cho tập dữ liệu kiểm thử với 2947 dữ liệu kiểm thử và tập dữ

liệu 7532 dữ liệu cho mô hình huấn luyện. Kết quả được đánh giá như bảng dưới ta thấy

dữ liệu theo đường chéo có giá trị cao thể hiện cho phần lớn phân lớp đúng. Với nhãn

Laying dữ liệu phân lớp đúng là 100%.

Bảng 3.8: Kết quả thực nghiệm với thuật toán J48

Theo tỉ lệ % Theo số mẫu

Số trường hợp sai 12.62300645 372

Số trường hợp đúng 87.37699355 2575

40

Tổng số mẫu 2947

Hình 3.4: Kết quả phân lớp dữ liệu với thuật toán J48

Trong các kết quả về phân tích hành vi của hội nghị ESANN 2013, kết quả tốt nhất

là 96% [6]. Độ chính xác của luận văn này là 87.4% với thuật toán cây quyết định – J48,

thấp hơn gần 10% so với kết quả tốt nhất. Tuy nhiên, không có thông tin về quy trình xử

lý và đánh giá kết quả, do vậy việc so sánh kết quả của các nghiên cứu là một sự khó

41

khăn.

KẾT LUẬN

Phân tích hoạt động con người đã nhận được sự quan tâm ngày càng nhiều của

những người chăm sóc người cao tuổi, vận động viên, bác sỹ, chuyên gia dinh dưỡng, các

nhà vật lý trị liệu, và cả những người muốn kiểm tra mức độ hoạt động hàng ngày.

Với tài liệu tham khảo của các nghiên cứu trước đây trong lĩnh vực này, điện thoại

thông minh với cảm biến gia tốc đã được sử dụng để thu thập dữ liệu chuyển động của

người dùng vì chúng nhỏ gọn, ít vướng víu như các cảm biến đeo được, và đặc biệt người

dùng thường xuyên mang theo người. Các dữ liệu thu thập được từ gia tốc tuyến tính

cung cấp thông tin về gia tốc do chuyển động cơ thể của con người và do trọng lực. Các

tín hiệu được trích xuất như cường độ, góc, độ lệch chuẩn của biến đổi FFT có thể được

dùng để huấn luyện mô hình học máy.

Mục tiêu của luận văn thực hiện xây dựng phương pháp để có thể xác định các

hoạt động hàng ngày của con người ngồi, nằm, đứng, đi bộ hoặc leo cầu thang trên thiết

bị điện thoại thông minh; sử dụng bộ dữ liệu cảm biến được cung cấp sẵn. Với một cây

phán quyết được xây dựng, tỷ lệ chính xác khoảng 86% và lỗi phân loại là khoảng 14%.

Hướng nghiên cứu tiếp theo có thể được phát triển từ các kết quả đã đạt trong luận

văn vào bài toán xây dựng ứng dụng giám sát nhiều hơn cho hoạt động thể chất của con

người mà người dùng có thể cung cấp thông tin phản hồi về tiền sử thể chất của người

dùng, có thể tương tác với các thiết bị đeo được để tăng cường tính chính xác cho các

42

hoạt động phân tích của ứng dụng.

TÀI LIỆU THAM KHẢO

Tiếng Anh

1. Symposium of the Brazilian Institute for Web Science Research (WebScience). Wilde, A. (2010). An overview of human activity detection technologies for pervasive systems. Seminar paper. Pervasive and Artificial Intelligence Group of University of Southampton.

2. Bao, L. (2003). Physical Activity Recognition from Acceleration Data under Semi- Naturalistic Conditions. M.Eng. Thesis, Massachusetts Institute of Technology. 3. Bao, L., & Intille, S. (2004). Activity recognition from user-annotated acceleration

data. Pervasive Computing, 1-17.

4. Czabke, A., Marsch, S., & Lueth, T. C. (2011, 23-26 May 2011). Accelerometer

based real-time activity analysis on a microcontroller

5. The Morgan Kaufmann Series in Data Management Systems, Jim Gray.

Datamining- Concepts and Techniques, Chapter 7-Classification and Prediction. Series Editor Morgan Kaufmann Publishers, August 2000

6. Anguita, Davide, Ghio, Alessandro, Oneto, Luca, Parra, Xavier, & Reyes-Ortiz, Jorge L. (2013).A Public Domain Dataset for Human Activity Recognition Using Smartphones. 21th European Symposium on Artificial Neural Networks, Computational Intelligence and Machine Learning, ESANN 2013

Website

7. http://weka.sourceforge.net/doc.stable/ 8. https://archive.ics.uci.edu/ml/datasets/Human+Activity+Recognition+Using+Smar

43

tphone