Tải bản đầy đủ (.pdf) (24 trang)

Nghiên cứu thuật toán dự đoán hành vi mspeed ứng dụng trong nhà thông minh (tt)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (591.62 KB, 24 trang )

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
---------------------------------------

Đường Quang Hiếu

NGHIÊN CỨU THUẬT TOÁN DỰ ĐOÁN HÀNH VI M-SPEED ỨNG
DỤNG TRONG NHÀ THÔNG MINH

Chuyên ngành: Khoa Học Máy Tính
Mã số: 60.48.01.01

TÓM TẮT LUẬN VĂN THẠC SĨ

HÀ NỘI - 2017

1


Luận văn được hoàn thành tại:
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

Người hướng dẫn khoa học:……………………………………………………………
(Ghi rõ học hàm, học vị)

Phản biện 1: ……………………………………………………………………………
Phản biện 2: …………………………………………………………………………..

Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại Học viện Công nghệ
Bưu chính Viễn thông
Vào lúc:


....... giờ ....... ngày ....... tháng ....... .. năm ...............

Có thể tìm hiểu luận văn tại:
- Thư viện của Học viện Công nghệ Bưu chính Viễn thông.

2


MỤC LỤC

LỜI CẢM ƠN ............................................................................................................. 5
MỞ ĐẦU ..................................................................................................................... 6
CHƯƠNG 1. GIỚI THIỆU VỀ NHÀ THÔNG MINH .............................................. 7
1.1.Tổng quan về nhà thông minh .......................................................................... 7
1.1.1. Khái niệm ....................................................................................... 7
1.1.2. Lịch sử hình thành .......................................................................... 7
1.2 Giới thiệu kiến trúc nhà thông minh MavHome ............................................... 7
1.3. Ứng dụng hệ thống mô phỏng nhà thông minh SIMACT ............................... 8
1.3.1 Giới thiệu trình mô phỏng nhà thông minh SIMACT ..................... 8
1.3.2. Ứng dụng SIMACT trong công nghệ nhà thông minh ................... 8
1.4. Kết luận ............................................................................................................ 8
CHƯƠNG 2. DỰ ĐOÁN HÀNH VI TRONG NHÀ THÔNG MINH ....................... 9
2.1. Bài toán dự đoán hành vi của người dùng ....................................................... 9
2.1.1. Mô hình chuyển động áp dụng dự đoán ......................................... 9
2.2. Giới thiệu về học máy .................................................................................... 10
2.2.1. Một số mô hình học máy hiện nay ............................................... 10
2.2.2. Mô hình học máy ứng dụng trong nhà thông minh ...................... 11
2.3. Giới thiệu một số thuật toán dự đoán hành vi................................................ 13
2.3.1 Thuật toán LZ78 ............................................................................ 13
2.3.2 Thuật toán Active LeZi ................................................................. 14

2.4. Thuật toán M-SPEED .................................................................................... 14
2.4.1. Đặt vấn đề .................................................................................... 14
2.4.1. Đặt vấn đề .................................................................................... 14
2.4.2. Phân tích thuật toán ...................................................................... 15
2.4.3. Tiêu chuẩn đánh giá ...................................................................... 16
2.4.4. Thủ tục học liệu ............................................................................ 17

3


2.4.5. Ra quyết định ................................................................................ 18
2.4.5. Ra quyết định ................................................................................ 18
2.4.6. Kết quả .......................................................................................... 18
2.5. Kết luận .......................................................................................................... 18
CHƯƠNG 3. THỰC NGHIỆM VÀ ĐÁNH GIÁ ..................................................... 19
4.1.Thực nghiệm ................................................................................................... 19
4.2. Các bước thực thi giải thuật ........................................................................... 19
4.3. So sánh thuật toán SPEED và M-SPEED ...................................................... 20
4.4. Kết quả ........................................................................................................... 20
4.5. Kết luận .......................................................................................................... 21
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ................................................................ 21
TÀI LIỆU THAM KHẢO......................................................................................... 22

4


LỜI CẢM ƠN
Để hoàn thành luận văn tốt nghiệp “Nghiên cứu thuật toán dự đoán hành vi
M-SPEED ứng dụng trong nhà thông minh”, lời đầu tiên tôi xin gửi cám ơn sâu sắc
nhất tới Th.S. Nguyễn Trọng Khánh đã hướng dẫn và chỉ bảo tôi tận tình trong suốt

thời gian làm khóa luận.
Tôi xin chân thành cảm ơn Ban giám hiệu nhà trường, các thầy cô giáo
Trường Học viện Công nghệ Bưu chính Viễn thông, các giảng viên đã truyền đạt
cho tôi những kiến thức, kỹ năng, tạo mọi điều kiện giúp đỡ, động viên, chia sẻ để
tôi hoàn thành bản luận văn này.
Bản luận văn chắc chắn còn nhiều thiết sót, rất mong được các thầy cô giáo
trong hội đồng chấm luận văn xem xét, góp ý kiến để luận văn được hoàn thiện hơn.
Tôi xin chân thành cảm ơn!
Hà Nội, tháng

năm 2017

HỌC VIÊN

Đường Quang Hiếu

5


MỞ ĐẦU
Nhà thông minh được định nghĩa là không gian sống và nơi làm việc hỗ trợ
các tương tác tự nhiên và thích ứng với người dùng. Sự thích ứng này được hiểu
theo nghĩa là sự phản ứng liên tục và thích ứng với điều kiện thay đổi để thoả mãn
những nhu cầu sử dụng của người dùng. Do vậy, Nhà thông minh phải có khả năng
dự đoán những mô hình di động và thói quen sử dụng các thiết bị của người dùng.
Với những dự đoán như vậy, nhà thông minh có thể gửi đi thông điệp và các thông
tin đa phương tiện một cách chính xác cũng như tự động hoá các hoạt động mà đối
với một căn nhà bình thường, người dùng sẽ phải đích thân thực hiện. Nhà thông
minh được coi như một tác nhân thông minh, cảm nhận được tình trạng của ngôi
nhà thông qua các cảm biến và tác động lên môi trường từ những tác nhân được

phát hiện. Mục đích của nhà thông minh nhằm làm tăng sự thoải mái và an toàn cho
người dùng, tối ưu hoá năng lượng sử dụng và loại bỏ những hoạt động lặp đi lặp lại
không cần thiết.
Do đó, dưới sự hướng dẫn của TS. Nguyễn Trọng Khánh, tôi tìm hiểu đề tài
“Nghiên cứu thuật toán dự đoán hành vi M-SPEED ứng dụng trong nhà thông
minh”.Luận văn sẽ tập trung nghiên cứu bài toán dự đoán hành vi, và biến thể của
chúng. Để từ đó áp dụng cho bài toán dự đoán hành vi ứng dụng trong ngôi nhà
thông minh, với hai ràng buộc cụ thể về dự đoán và ra quyết định.

6


CHƯƠNG 1. GIỚI THIỆU VỀ NHÀ THÔNG MINH
1.1.Tổng quan về nhà thông minh
1.1.1. Khái niệm
Nhà thông minh [1] hoặc hệ thống nhà thông minh là một ngôi nhà, căn hộ
được trang bị hệ thống tự động tiên tiến dành cho điều khiển đèn chiếu sáng, nhiệt
độ, truyền thông đa phương tiện, an ninh, rèm cửa, cửa và nhiều tính năng khác
nhằm mục đích làm cho cuộc sống ngày càng tiện nghi, an toàn và góp phần sử
dụng hợp lý các nguồn tài nguyên.

1.1.2. Lịch sử hình thành
Khởi đầu của hệ thống nhà cửa tự động, nhà thông minh chính là thiết bị điều
khiển từ xa không dây. Được giới thiệu năm 1898 bởi Nikola Tesla, khi đó ông đã
điều khiển mô hình thu nhỏ của một chiếc thuyền bằng cách gửi đi sóng radio qua
điều khiển từ xa.
Ngày nay khi các yếu tố giá thành, và công nghệ sản xuất phát triển, nhu cầu
người dùng tăng cao các công ty đã chú trọng đầu tư nghiên cứu và phát triển các hệ
thống nhà thông minh. Mô hình nhà thông minh đã phát triển rộng khắp rất rễ bắt
gặp ở mọi nơi và mọi lĩnh vực.


1.2 Giới thiệu kiến trúc nhà thông minh MavHome
Dự án nhà thông minh của MavHome[2] là dự án tập trung vào việc tạo ra
một môi trường hoạt động với một bộ xử lý thông minh, nhận thức được trạng thái
của ngôi nhà thông qua cảm biến và tác động lên môi trường thông qua bộ điều
khiển thiết bị. Mục tiêu dự án này là tạo ra hệ thống chức năng tối đa hóa sự thoải
mái và năng suất của người sử dụng và giảm thiểu chi phí vận hành. Để đạt được
mục tiêu này, ngôi nhà phải có khả năng dự đoán, lý giải và thích nghi với chủ nhân
của nó.
7


1.3. Ứng dụng hệ thống mô phỏng nhà thông minh SIMACT
1.3.1 Giới thiệu trình mô phỏng nhà thông minh SIMACT
SIMACT[4] là trình mô phỏng được xây dựng với mục đích cung cấp một
công cụ thử nghiệm phần mềm giúp các nhà nghiên cứu xác nhận các phương pháp
tiếp cận, nghiên cứu mô hình nhà thông minh của họ. Đây là một ứng dụng đơn giản
để thử nghiệm và xác định các ý tưởng các thuật toán trong lĩnh vực nhà thông
minh. SIMACT là một công cụ rất linh hoạt và dễ sử dụng, hơn nữa nó được xây
dựng dựa trên mã nguồn mở vì vậy mọi người từ sinh viên đến các nhà nghiên cứu
đều có khả năng tùy biến và tiếp cận nó để sử dụng cho mục đích mà mình muốn.

1.3.2. Ứng dụng SIMACT trong công nghệ nhà thông minh
Các công nghệ gia đình thông minh đã trở thành một chủ đề nghiên cứu rất
tích cực trong vài năm trở lại đây. Tuy nhiên, nhiều nhà khoa học làm việc trong
lĩnh vực này không có cơ sở hạ tầng thông minh cho phép họ thực hiện các thí
nghiệm thỏa đáng trong một môi trường cụ thể với dữ liệu thực. Để giải quyết vấn
đề này, SIMACT ra đời với mục đích mô phỏng cơ sở hạ tầng gia đình 3D linh
hoạt. Một tập hợp các kịch bản được ghi lại, được làm bằng dữ liệu trích ra từ các
thử nghiệm lâm sàng, sẽ được đưa vào mô phỏng để tạo nền tảng chung để kiểm tra

các thuật toán nhận dạng hoạt động. Mục tiêu là phát hành trình mô phỏng
SIMACT với trình biên tập kịch bản thị giác như là một thành phần nguồn mở
mang lại lợi ích cho toàn bộ cộng đồng nghiên cứu gia đình thông minh.

1.4. Kết luận
Trong chương này đã giới thiệu sơ lược về khái niệm và lịch sử phát triển
của nhà thông minh, mô hình kiến trúc nhà thông minh MavHome. Bên cạnh đó
chương 1 cũng đã giới thiệu về chương trình giả lập nhà thông minh 3D SIMACT
8


một công cụ giúp chúng ta nghiên cứu và thử nghiệm hệ thống nhà thông minh cũng
như các thuật toán dự đoán được sử dụng trong nhà thông minh trên hệ thống mô
phỏng ảo này.

CHƯƠNG 2. DỰ ĐOÁN HÀNH VI TRONG NHÀ THÔNG
MINH
2.1. Bài toán dự đoán hành vi của người dùng
Hàng ngày có rất nhiều hoạt động thường ngày được diễn ra trong ngôi nhà của
chúng ta. Sau đây là một kịch bản ví dụ về những hoạt động đó:
“Tôi thức dậy vào lúc 6h30 phút sáng, đèn ngủ tự động tắt, đèn phòng bật và
rèm cửa tự động kéo ra. Tiếp đó tôi vào phòng vệ sinh, đèn tự động bật và tôi dùng
nước ấm đã được hệ thống tự động bật trước đó 15 phút vệ sinh cá nhân, lúc này
nhiệt độ trong phòng cũng được tự động điều chỉnh tăng dần để khi tôi ra khỏi nhà
không cảm thấy bị sốc nhiệt.”
Để hệ thống hoạt động trơn tru và tự động như trên rất nhiều yêu cầu được
đặt ra như: thu thập dữ liệu từ các cảm biến nhiệt độ, ánh sáng hồng ngoại, v…v,
phân tích dự đoán hành vi người dùng, kết nối thông tin giữa các thiết bị… Tất cả
các yêu cầu này cần phải được đáp ứng liên tục và hoạt động không ngừng. Đặc
biệt, việc dự đoán hành động, dự đoán phòng tiếp theo người dùng sẽ di chuyển, dự

đoán sự tương tác giữa người dùng và ngôi nhà và sử dụng những thông tin đó cho
ngôi nhà tự động hóa các quyết định, tối ưu hóa sự thoải mái của người dùng.

2.1.1. Mô hình chuyển động áp dụng dự đoán
Kết nối liền mạch là một điều vô cùng cần thiết cho một căn nhà thông minh.
Một hệ thống mạng không dây được tích hợp trong toàn bộ ngôi nhà. Các thiết bị
đầu cuối không dây thường được tích hợp trong các bộ cảm biến được triển khai
trong môi trường nhà thông minh. Vùng phủ sóng của nhà thông minh được phân
chia thành các khu vực hoặc ngành. Việc quản lý khu vực liên quan đến việc lưu
9


giữ theo dõi những chuyển động của người dùng. Khi nhà thông minh cần liên hệ
với người dùng, hệ thống sẽ khởi tạo tìm kiếm cho các thiết bị đầu cuối mục tiêu
bằng cách kiểm tra tất cả các vùng, nơi nó có thể tìm thấy người dùng. Tất cả các
thiết bị đầu cuối nhận tín hiệu từ thiết bị phát sóng và chỉ có một khu vực gửi lại
phản hồi. Các hạn chế ảnh hưởng bởi các đặc tính cảm biến như hạn chế về công
nghệ hồng ngoại đôi khi không thể tránh khỏi. Ngoài ra, để tránh khả năng không
chắc chắn về vị trí của người dùng, một bản cập nhật định kỳ về vị trí của người
dùng cũng sẽ được đưa vào hệ thống. Vị trí hiện tại có khả năng nhất được dự báo
bởi thông tin cập nhật cuối cùng được hệ thống nhận biết.

2.2. Giới thiệu về học máy
Học máy là một phương pháp phân tích dữ liệu mà sẽ tự động hóa việc xây
dựng mô hình phân tích. Sử dụng các thuật toán lặp để học từ dữ liệu, học máycho
phép máy tính tìm thấy những thông tin giá trị ẩn sâu mà không được lập trình một
cách rõ ràng nơi để tìm.

2.2.1. Một số mô hình học máy hiện nay


- Học có giám sát
Supervised learning là thuật toán dự đoán đầu ra (outcome) của một dữ liệu
mới (new input) dựa trên các cặp (input, outcome) đã biết từ trước. Cặp dữ liệu này
còn được gọi là (data, label), tức (dữ liệu, nhãn). Supervised learning là nhóm phổ
biến nhất trong các thuật toán Machine Learning.

- Học không giám sát
Trong thuật toán này, chúng ta không biết được outcome hay nhãn mà chỉ có
dữ liệu đầu vào. Thuật toán unsupervised learning sẽ dựa vào cấu trúc của dữ liệu
để thực hiện một công việc nào đó, ví dụ như phân nhóm (clustering) hoặc giảm số

10


chiều của dữ liệu (dimension reduction) để thuận tiện trong việc lưu trữ và tính
toán.

- Học bán giám sát
Các bài toán khi chúng ta có một lượng lớn dữ liệu XX nhưng chỉ một phần
trong chúng được gán nhãn được gọi là Semi-Supervised Learning. Những bài toán
thuộc nhóm này nằm giữa hai nhóm được nêu bên trên.

- Học Củng Cố
Reinforcement learning là các bài toán giúp cho một hệ thống tự động xác
định hành vi dựa trên hoàn cảnh để đạt được lợi ích cao nhất (maximizing the
performance). Hiện tại, Reinforcement learning chủ yếu được áp dụng vào Lý
Thuyết Trò Chơi (Game Theory), các thuật toán cần xác định nước đi tiếp theo để
đạt được điểm số cao nhất.

2.2.2. Mô hình học máy ứng dụng trong nhà thông minh

Quá trình hoạt động trong hệ thống nhà thông minh bắt đầu bằng việc đọc tín
hiệu từ cảm biến và kết thúc bằng việc gửi tín hiệu điều khiển tới thiết bị truyền
động. Quá trình này tuân theo chu trìnhcụ thể sau: thu nhận dữ liệu, xử lý dữ liệu,
dự đoán, đưa ra quyết định, gửi tín hiệu điều khiển. Đây là một vòng lặp. Có thể
tiến hành vòng lặp này mà không cần sử dụng đến các thuật toán học máy. Tuy
nhiên, điều này không mang tới khả năng tự học, tự ra quyết định trong môi trường
nhà thông minh[12].
Vai trò của học máy thể hiện qua việc áp dụng các thuật toán nhận dạng/
phát hiện để nâng cao khả năng thu thập thông tin từ môi trường. Áp dụng các thuật
toán dự đoán hỗ trợ ra quyết định chính xác. Áp dụng các thuật toán tối ưu để tối đa
hóa hiệu suất dài hạn cho việc ra quyết định.

11


Thu thập hoạt động thường sử dụng các thuật toán học máy để giải quyết vấn
đề nhận dạng.Thuật toán học máy sử dụng chủ yếu là thuật toán khai phá dữ liệu.
Thuật toán nhận dạng yêu cầu các tập huấn luyện phải có nhãn rõ ràng. Do đó thuật
toán khai phá dữ liệu phân chia tập huấn luyện ban đầu thành các lớp. Tùy theo mục
đích phân lớp mà có thể chia ra thành hai loại: học có giám sát, học không giám sát.
Sử dụng những thuật toán này có thể giảm thiểu lượng công việc. Khi cần tính toán,
xử lýchỉ cần làm việc trong những tập đã được gắn nhãn. Tuy nhiên, máy không
hiểu được ngữ nghĩa của những tình huống phát hiện. Do vậy, sẽ có nhiều thách
thức hơn trong việc đưa ra kết luận dựa vào tình huống. Ví dụ trước khi gán nhãn
thực, không thể áp dụng luật dựa trên ngữ nghĩa mà không kết hợp với tình huống
phát hiện.
Thuật toán khai phá dữ liệu cần một lượng dữ liệu lớn để cho kết quả tốt. Để
sử dụng khai phá dữ liệu phải cung cấp đầy đủ các thông tin liên quan đến dữ liệu.
Ví dụ, thời gian quan sát là luôn cần thiết để tìm ra những tình huống xảy ra trong
những khung thời gian giống nhau.


-Nhận biết, thu thập hoạt động
Vấn đề nhận biết được xử lý với công nghệ học điều tra. Cụ thể, thuật toán
nhận dạng huấn luyện tác nhân trước khi triển khai nó trong môi trường. Huấn
luyện trực tiếp trong môi trường là rất khó khăn bởi vì tác nhân huấn luyện yêu cầu
được gán nhãn mà nhãn thường thì không sẵn có trong thời gian chạy. Tuy nhiên,
trong một vài trường hợp, nhãn có thể được suy luận nếu đầu ra chỉ là đúng hoặc
sai. Do đó giúp cải thiện hoạt động.

-Dự đoán
Mục đích của dự đoán thường là dự đoán những gì sẽ xảy ra trong tương lai
gần. Đầu vào cho dự đoán không phải là đọc trực tiếp từ cảm biến. Đầu vào cho dự
đoán phải trải qua bước tiền xử lý. Vấn đề dự đoán có thể là vấn đề phân lớp hoặc
vấn đề hồi quy. Trong đó, phân lớp là tìm kiếm theo sự kiện dự đoán. Dự đoán sự
kiện chắc chắn xảy ra nhất. Hồi quy là dự đoán sự kiện gần nhất, đầu ra được tính
dựa vào hàm dự đoán.
12


Ngoài ra, khi dự đoán trong môi trường nhà thông minh có thể áp dụng
phương pháp huấn luyện trực tiếp. Phương pháp này khá hiệu quả trong dự đoán sự
kiện kế tiếp. So sánh sự kiện thực tế xảy ra với giá trị dự đoán. Nếu kết quả dự đoán
không chính xác thì có thể sử dụng giá trị thực tế như một ví dụ huấn luyện.

-Tối ưu hóa
Mục đích của tối ưu hóa là tối đa hóa một kết quả tốt tồn tại trong tập tối ưu
hóa. Có thể sử dụng công nghệ học tăng cường cho những vấn đề này. Một vài vấn
đề tối ưu có thể được xử lý như một vấn đề dự đoán. Cụ thể, để đưa ra kết quả tốt,
dự đoán lựa chọn hành động có xác xuất cao nhất trong tập các hành động có xác
suất cao. Tuy nhiên, mục đích của tối ưu hóa là tìm ra chính sách để tối đa hóa hiệu

suất dài hạn, chứ không phải chỉ lựa chọn ra hành động kế tiếp tốt nhất.
Đưa ra quyết định là ví dụ điển hình của vấn đề tối ưu hóa.Có rất nhiều thiết
bị trong môi trường. Các thiết bị này có thể đồng thời cùng gửi thông tin lên các
tầng mức cao hơn và chờ đợi phản hồi. Nhưng mỗi khu vực trong môi trường yêu
cầu thời gian phản hồi nhanh chậm khác nhau. Để đáp ứng hợp lý thời gian phản
hồi cho từng vùng, cần tối ưu hóa thuật toán quyết định.
Nội dung chính trong phần này sẽ đi sâu giới thiệu mô hình học máy đươc đề
suất bởi Sakari Stenudd[13], cũng làm mô hình chính mà luận văn áp dụng.

2.3. Giới thiệu một số thuật toán dự đoán hành vi
2.3.1 Thuật toán LZ78
Thuật toán nén dữ liệu không tổn hao có thể dùng cho việc dự đoán. LZ78
[10] là một thuật toán nén dữ liệu được giới thiệu bởi Lempel và Ziv là một trong
những thuật toán nén dữ liệu không tổn hao phổ biến nhất được dùng trong rất
nhiều ứng dụng. Về cơ bản, LZ78 là một thuật toán từ điển được dùng để phân tích
một chuỗi tuần tự các sự kiện thành những chuỗi con, hình thành tập các cụm từ
dùng cho việc nén dữ liệu.

13


2.3.2 Thuật toán Active LeZi
Thuật toánActive LeZi[11] là một thuật toán theo yêu cầu dựa trên mô
hình Markov và chủ yếu lưu trữ các tần số của mô hình ký tự đầu vào trong
một bảng vẽ theo thuật toán nénLZ78. Lượng thông tin bị mất qua danh giới
cụm sẽ tăng nhanh chóng khi số lượng các trạng thái trong chuỗi đầu vào tăng lên.
Tuy nhiên vấn đề này có thể được giải quyết bằng cách duy trì sự đa dạng chiều dài
của mô hình ký tự.

2.4. Thuật toán M-SPEED

Cũng giống với hầu hết các thuật toán dự đoán hành vi khác, thuật toán MSPEED được xây dựng lên mô hình Markov với bậc hữu hạn và đưa ra dự đoán
bằng cách sử dụng thuật toán nén dữ liệu PPM [17].
Đặc trưng cơ bản của các hành động trong môi trường nhà thông minh là đa
số các hành động đều là những sự kiện có mở đầu và kết thúc. Ví như khi một
người trở về nhà, người đó bước vào phòng khách thì đèn được bật lên (ON), điều
hòa được bật (ON), máy hát hoạt động (ON). Khi người đó rời phòng khách thì lần
lượt máy hát tắt (OFF), điều hòa tắt (OFF) và đèn tắt (OFF). Kịch bản diễn ra tiếp
theo là người đó bước vào phòng bếp, đèn bật (ON), lò vi sóng bật (ON), lò vi sóng
tắt (OFF), đèn tắt(OFF) khi người đó rời đi. Sẽ làvô lý nếu tắt đèn trước khi tắt lò vi
sóng, điều đó cũng có nghĩa các hoạt động diễn ra đều phải theo một trật tự nhất
định.

2.4.1. Đặt vấn đề
2.4.1. Đặt vấn đề
Trong môi trường trong nhà, con người sẽ làm nhiều các công việc khác
nhau. Tuy nhiên, hầu hết các công việc này sẽ được thực hiện lặp đi lặp lại trong một
khoảng thời gian nhất định. Nếu mỗi công việc này được coi như một sự kiện thì rõ
ràng rằng hầu hết các sự kiện này sẽ lặp đi lặp lại và tạo ra một mô hình thời gian cụ
14


thể. Mặc dù mỗi người dùng sẽ có những lựa chọn khác nhau nhưng cùng một người
dùng sẽ có cùng sự kiện lặp đi lặp lại. Hơn nữa, mỗi sự kiện chứa một số thông tin
như mở, tắt và khoảng thời gian sự kiện được thực hiện. Ví dụ, một người dùng sẽ
nấu nướng mỗi ngày và dành một khoảng thời gian cho hành động đó. Gian bếp
thường có những thiết bị khác nhau nhưng trước khi sử dụng bất cứ thiết bị nào,
người dùng cũng sẽ bật đèn sau đó họ có thể sẽ bật bếp hoặc bật máy pha café hoặc
máy làm bánh mỳ kẹp. Giả sử đầu tiên họ sẽ pha café nên sẽ bật máy pha café trong
5 phút sau đó sẽ tắt thiết bị. Trong lúc đó, họ sẽ bật máy làm bánh mỳ kẹp trong
vòng 2 phút.

Cuối cùng sau khi ăn trong khoảng 15 phút thì bóng đèn trong nhà bếp sẽ tự
động tắt trước khi chủ nhân rời sang phòng khác. Máy làm café chỉ bật trong 5 phút
nhưng đèn phòng bếp lại được bật trong 15 phút. Đây là một ví dụ cho một vị trí xác
định. Do mỗi người đều sẽ có thói quen làm các hành động tương tự và dành một
khoảng thời gian giống nhau để làm mỗi ngày nên đó là lý do tại các các hành động
có thể dự đoán được.

2.4.2. Phân tích thuật toán
Định nghĩa“A” là sự kiện bật đèn và“a” là sự kiện tắt đèn, Aa là một hành động
thành công.
Mỗi chuỗi sự kiện mà chứa ký tự bắt đầu và kết thúc cùng loại thì được coi là
một episode. Như vậy chuỗi sự kiện dạng Aa, Ada, dcAD đều có coi là một episode.
Các sự kiện bắt đầu và kết thúc có mối quan hệ opposite với nhau.
Bảng dưới đây là một mô phỏng đơn giản về việc quy ước. Mỗi một thiết bị
được gán một chữ cái riêng với các sự kiện ON, OFF tương ứng.
1

2

3

4

Thiết bị
Sự kiện

ON

OFF


ON

OFF

15

ON

OFF

ON

OFF


A

a

B

b

C

c

D

d


Bảng 2. Các thiết bị trong nhà và trạng thái đi kèm.
Giả sử thiết bị 1 là đèn, thiết bị 2 là lò điều hòa thì sự kiện bật đèn là A và sự
kiện tắt đèn là a, sự kiện điều hòa là B và sự kiện tắt là b. Khi đó, chuỗi sự kiện ghi
nhận được ABba nghĩa là đèn bật, điều hòa bật, điều hòa tắt, đèn tắt. ABba được coi
là một episode chứa một episode nhỏ hơn là Bb.
- Mỗi thiết bị chỉ được bật ON trở lại khi nó đã hoàn tất 1 chu trình ON-OFF
cũng giống như đèn bật lên thì chỉ có thể bật lại khi nó đã được tắt.
-Chuỗi dữ liệu đầu vào được sửa dụng để huấn luyện cho thuật toán trong
phần thực thi này là lịch sử sử dụng các thiết bị.

2.4.3. Tiêu chuẩn đánh giá
Hành vi của người ở trong ngôi nhà sở hữu một hình thức duy nhất trong
việc bật và tắt cácthiết bị khác nhau trong một khoảng thời gian nhất đinh. Nếu một
thiết bị mở và sau một khoảng thời gian tắt, điều này sẽ được xem như một quy
trình hoàn thiện. Do đó, các kiểu hành vi được phân chia thành các tập riêng biệt.
Mỗi hành động gồm những điểm đầu và điểm cuối rõ ràng và tổng thời gian của
mỗi sự kiện sẽ bằng đúng với thời gian ở điểm cuối. Sau khi xem xét các tập trước
đó, rõ ràng rằng những hành động của người dùng trong nhà bếp bắt đầu bằng việc
bật đèn và kết thúc bằng việc tắt đèn, xem như đã hoàn thành một quy trình. Trong
quá trình đèn bật, sẽ có thể có những quý trình nhỏ khác diễn ra. Trong một căn nhà
thông minh, các mẫu ADL được chia thành các tập quy trình. Tất cả những tập này
phải gồm có điểm đầu, điểm cuối và khoảng thời gian. Một tập quy trình được thiết
lập nếu một sự kiện và sự kiện trái ngược được thực hiện trong một khoảng thời
gian nhất định. Trước khi kết thúc một sự kiện, sẽ không thể bắt đầu lại đúng sự
kiện đó. Ví dụ nếu một thiết bị bật lên thì không thể bật lại cho đến khi tắt thiết bị
đó. Hơn nữa, các tập nhỏ không nên có khoảng thời gian hoạt động dài hơn khoảng
16



thời gian của tập quy trình lớn. Nếu máy pha café bật trong khi đèn phòng bếp bật
thì quý trình pha café không được phép lâu hơn khoảng thời gian đèn đang sáng.
Tất cả những khoảng thời gian của những tập này phải mang giá trị dương và lớn
hơn 0. Những đặc tính này được sử dụng để làm giảm nhiễu tạo ra từ những cảm
biến không đáng tin cậỵ
2.4.4. Thủ tục học liệu
- Dữ liệu đầu vào được dùng cho M-SPEED bao gồm một chuỗi những sự
kiện và những khoảng thời gian diễn ra những sự kiện đó. Các tập nhiễu được lọc
ra trước khi thực hiện thuật toán M-SPEED.
- M-SPEED sử dụng cây quyết định để theo dõi các tập. Độ dài của các tập là
một biến số phụ thuộc vào tập có độ dài lớn nhất. Nếu bất kì sự kiện nào xảy ra, đầu
tiên là sự kiện đó sẽ được thêm vào mô hình biểu hiện. Các chữ số cũng sẽ được lưu
trữ tạm thời trong một biến số. Biến số tạm thời này là cần thiết vì bất kì tập giá trị
nào có tổng độ dài nhất định đều cần được ghi lại. Sau đó, tình trạng trái ngược của
sự kiện này cũng sẽ được tìm kiếm trong chuỗi hiện tại. Một tập chỉ được thực hiện
khi một sự kiện và sự kiện trái ngược cũng được phát hiện. Nó sẽ ghi lại thời gian của
tập đó (ví dụ như giá trị trong biến số thời gian tạm thời) và cộng với tổng thời gian
trước đó của các sự kiện tương ứng. Nếu thời lượng lớn nhất của tập lớn hơn biến số
Max_Window_Length (độ dài cửa sổ lớn nhất) thì thuật toán sẽ cập nhật biến số bằng
cách tăng kích cỡ của nó lên. Cuối cùng, thuật toán tạo ra tất cả những tình huống có
khả năng xảy ra và những tần số của chúng. Nếu không tìm thấy tập nào thì MSPEED sẽ được tìm kiếm trong sự kiện tiếp theo.
- Tất cả các sự kiện đang trong trạng thái mở hoặc chưa hoàn thiện sẽ được lưu
lại trong bộ lưu trữ đặc biệt của thuật toán M-SPEED trong khi thuật toán cũ SPEED
không thể phát hiện ra những tập vượt qua danh giới của màn hình cửa sổ. Sự thay
đổi chính của thuật toán SPEED giúp tăng độ chính xác của dự đoán

17


2.4.5. Ra quyết định

2.4.5. Ra quyết định
Sử dụng dữ liệu trong Bảng 1, một cây quyết định được chỉ ra trong hình 17.
Bằng việc phân tích cây này sẽ cho ra định hình về dự đoán tương lai. Thuật toán
PPM được sử dụng để dự đoán các sự kiện tương lai. Thuật toán này đo lường xác
xuất trọng số của một tập. Hơn nữa, PPM ước tính xác xuất của một sự kiện bằng
việc giảm độ dài của tập.

2.4.6. Kết quả
Do việc kiểm tra tập tin sẽ ảnh hưởng đến độ chính xác của thuật toán nên
M-SPEED được kiểm tra với các trạng thái hội tụ khác nhau để xác minh xu hướng
thực về mức độ dự đoán chính xác. Tuy nhiên, dữ liệu MavHome gồm rất nhiều các
tập tin không có giá trị được phát hiện thông qua việc tính toán thời gian và sau đó
được tách khỏi chuỗi sự kiện. Do đó, không giống như các thuật toán dự đoán khác,
M-SPEED không cần các tham số cụ thể nên nó được ứng dụng cho bất kì tập dữ
liệu nào. Về cơ bản nó sẽ lọc các thông tin hữu ích ra khỏi bất kì tập tin nào. Mặt
khác, SPEED, ALZ với những quy luật về thời gian đều không thể phát hiện những
tập tin không có giá trị. Do vậy, bộ lọc này được sử dụng cho các thuật toán khác để
có được những kết quả so sánh.

2.5. Kết luận
M-SPEED là một thuật toán dự đoán trình tự đã sửa đổi so với phiên bản
SPEED trước đó bằng cách sử dụng khoảng thời gian tắt-bật của các thiết bị để
quyết định bước hành động tiếp theo. M-SPEED đã khám phá ra các sự kiện theo
giai đoạn dựa trên ứng xử của người dùng, tự học thông qua các sự kiện nó thu nạp
và đưa ra quyết định dựa trên các dữ kiện kiến thức đó.

18


CHƯƠNG 3. THỰC NGHIỆM VÀ ĐÁNH GIÁ

Thuật toán M-SPEED được xây dựng lên mô hình Markov với bậc k-1 và đưa
ra dự đoán bằng cách sử dụng thuật toán nén dữ liệu PPM.

4.1.Thực nghiệm
- Phạm vi thực nghiệm văn phòng.
- Ngôn ngữ lập trình dùng để viết chương trình demo: java.
- Phần mềm chạy chương trình Eclipse Java Neon.
- Mục đích của thử nghiệm để thực thi giải thuật và so sánh độ chính xác thực tế
giữa thuật toán M-SPEED và SPEED.
- Dữ liệu đầu vào: Lịch sử sử dụng các thiết bị hằng ngày được thu thập trong hai
tháng từ nghiên cứu của mô hình nhà thông minh kiến trúc MavHome.

4.2. Các bước thực thi giải thuật
Bước 1:Từ dữ liệu thô chuyển sang dữ liệu dạng string để sử dụng cho thuật toán
phân tích dự đoán.

Bước 2:Từ dữ liệu phân tích tiếp tục chuyển đổi các dữ liệu dạng string thành các
event dạng A,a,B,b….. và tạo ra các chuỗi dữ liệu đầu vào.

Bước 3:Từ chuỗi dữ liệu đầu vào sử dụng thuật toán M-SPEED để tạo các episode.
Bước 4:Từ các episode tạo ra các context có khả năng xảy ra trong một episode.
Bước 5:Tổng hợp tất cả các context có thể xảy ra với chuỗi đầu vào để tạo ra cây
nhị phân k-1 Markov.

Bước 6:Dùng thuật toán PPM để tính toán xác suât sự kiện tiếp theo với chuỗi sự
kiện đầu vào dựa vào xác suất của từng context có thể xảy ra.

19



4.3. So sánh thuật toán SPEED và M-SPEED
Vì M-SPEED là thuật toán được sửa đổi từ SPEED do vậy, sác bước thực
hiện của thuật toán SPEED và M-SPEED về cơ bản là giống nhau, tuy nhiên thuật
toán M-SPEED đã được sửa đổi để tăng tốc độ xử lý và độ chính xác với 2 yếu tố:
- Sử dụng thời gian của một event để loại bỏ các event không có giá trị từ đó thu
gọn tập cần phân tích.
Ví dụ: trong chuỗi ABb7CDhc8a4aaH5, tập ABb7CDhc8a4 sẽ bị loại bỏ vì
tập bên ngoài có số thời gian ít hơn thời gian của tổng các tập con ( Bb có 7 và
CDhc có 8 vì vậy ABb7CDhc8a phải có thời gian là 15 trong khi trong dãy bên trên
thời gian của tập lớn chỉ là 4). Như vậy, tất cả những tập chưa hoàn thành hoặc
không có hiệu lực đều sẽ bị giảm đi. Chuỗi sẽ được tối ưu hóa để tách các tập từ lịch
sử sự kiện.
- Chọn event có thời gian lớn hơn khi có cùng xác suất.
- Tất cả các sự kiện mở hoặc chưa hoàn thiện sẽ được lưu lại trong bộ lưu trữ đặc
biệt của thuật toán M-SPEED trong khi thuật toán cũ SPEED không thể phát hiện
ra những tập có thể xảy ra. Đây là sự thay đổi chính của thuật toán M-SPEED giúp
tăng độ chính xác của dự đoán.
Giống như thuật toán SPEED, thuật toán M-SPEED cũng tạo ra k – 1 trong mô
hình Markov khi k = Max_Window_Length (độ dài lớn nhất). Tuy nhiên, trong
thuật toán M-SPEED bộ lưu trữ chứa mỗi tập cùng các giá trị thời gian tương ứng.

4.4. Kết quả
Hiệu suất của các thuật toán khi chúng được kiểm nghiệm với dữ liệu
MavHome thông qua bộ lọc, ban đầu độ chính xác của M-SPEED tương đương với
thuật toán SPEED tuy nhiên càng nhiều sự kiện diễn ra, độ chính xác càng chênh
lệch. Theo như số liệu có được, độ chính xác dự đoán của M-SPEED luôn cao hơn
của SPEED. Nó cũng chỉ ra rằng tỷ lệ hội tụ của M-SPEED là nhanh hơn so với các
phương pháp khác.
20



4.5. Kết luận
Trong chương này, thuật toán M-SPEED sẽ được thực thi với chuỗi dữ liệu
huấn luyện ban đầu được đưa vào là lịch sử hoạt động của các thiết bị được ghi lại
trong một tháng của dự án MavHome. Từ chuỗi dữ liệu này sẽ được thuật toán phân
tích và học máy. Cây phân tích được tạo dựa trên mô hình Markovdựa trên cây phân
tích này áp dụng thuật toán M-SPEED để hệ thống dự đoán hành vi và đưa ra dự
đoán hành vi tiếp theo.
Qua thử nghiệm chúng ta thấy độ chính xác của M-SPEED đạt trên 97% một
kết quả khá tốt so với thuật toán SPEED cũ hơn đạt hơn 73% với cùng dữ liệu phân
tích ban đầu giống nhau. Với dữ liệu học càng lớn thì độ chính xác của M-SPEED
càng tăng đồng thời tốc độ xử lý cũng nhanh hơn so với SPEED.
Thử nghiệm khi thực hiện trên chương trình mô phỏng nhà thông minh 3D
SIMACT sẽ trực quan và sinh động hơn tuy nhiên do sự khó khăn đã nêu trong mục
1.3.2 luận văn chỉ mới thực nghiệm với bộ dữ liệu có sẵn của MavHome.

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Trong phạm vi luận văn đã thực hiện nghiên cứu về bài toán dự đoán hành
vi thông qua thuật toán M-SPEED và một số thuật toán dự đoán khác như LeZi,
Active LeZi, đồng thời tìm hiểu về trình mô phỏng nhà thông minh SIMACT và
ứng dụng của trình mô phỏng này.
Luận văn cũng đã trình bày mô hình học máy ứng dụng trong nhà thông
minh và giới thiệu kiến trúc nhà thông minh mô hình MavHome.
Luận văn đã phân tích và thực thi giải thuật thuật toán M-SPEED qua đó đưa
ra kết quả thực tế và so sánh độ chính xác giữa thuật toán SPEED và M-SPEED.
Trong tương lai khi công nghệ và nhu cầu nhà thông minh phát triển mạnh
mẽ chắc chắn sẽ thúc đẩy các thuật toán dự đoán sẽ còn phát triển và cải thiện tính
chính xác cao hơn nữa và ứng dụng dự đoán hành vi sẽ được sử dụng rộng rãi hơn
nữa không chỉ ứng dụng trong môi trường nhà thông minh mà còn ở nhiều lĩnh vực
21



khác.

TÀI LIỆU THAM KHẢO
[1] A Review of Systems and Technologies for Smart Homes and Smart Grids,
Department of Architectural Design, History and Technology, Norwegian
University of Science and Technology (NTNU), Trondheim NO-7491, Norway.
[2] S. K. Das, D. J. Cook, A. Battacharya, E. O. Heierman and T.-Y. Lin, "The role
of prediction algorithms in the MavHome smart home architecture," IEEE Wireless
Communications, pp. 77 - 84, 2002.
[3] Dixit, A., &Naik, A. (2014). Use of Prediction Algorithms in Smarthomes.
International Journal of Machine Learning and Computing, 4(2), 157–162.
/>[4] SIMACT: a 3D Open Source Smart Home Simulator for Activity Recognition
with Open Database and Visual Editor, K. Bouchard, A. Ajroud, B. Bouchard and
A. BouzouaneLIARA Laboratory, Universite du Quebec a Chicoutimi (UQAC)555
boul.

Universite,

Saguenay

(QC),

Canada,

G7H

2B1{Kevin.Bouchard,


Amir.Ajroud, Bruno.Bouchard, Abdenour.Bouzouane}@uqac.ca
[5] M. Powell, “Java Monkey Engine (JME)”, http:// www.jmonkeyengine.com,
(2008).
[6] M. Refaat Nasr, “Open Source Software: The use of open source software and
its impact on organizations”, Master Thesis, Middlesex university, 129 pages,
(2007) June.
[7] Google ©, SketchUp 7, />[8] M. Hartmann and D. Schreiber, “Prediction algorithms for useractions,”
LWA’07, pp. 349-354, 2007.
[9] S. K. Das, D. J. Cook, A. Bhattacharya, E. O. H. Iii, and T.-Y. Lin,“The role of
prediction algorithms in the mavhome smart homearchitecture,” IEEE Wireless
Communications, December 2002.
22


[10] Aditi Dixit and Anjali Naik, Use of Prediction Algorithms in Smart Homes,
International Journal of Machine Learning and Computing, Vol. 4, No. 2, April
2014.
[11] Karthik Gopalratnam and Diane J. Cook Department of Computer Science and
Engineering The University of Texas at Arlington, Arlington, Texas 76019-0015
{gopalara, cook}@cse.uta.edu “Active LeZi: An Incremental Parsing Algorithm for
Sequential Prediction” p38-42.
[12] Stenudd, S. (2010). Using machine learning in the adaptive control of a smart
environment. Vtt Publications 751. Retrieved from
/>[13] Using machine learning in the adaptive control of a smartenvironment -Sakari
Stenudd, pp. 1-75.
[14] Proactive Fuzzy Control and Adaptation Methods for Smart Homes. IEEE
Intelligent Systems 2008; Vainio A-M, Valtonen M, Vanhala J. 23 (2), pp. 42-49.
[15] The role of prediction algorithms in the MavHome smart home architecture.
IEEE Wireless Communications 2002; 9 Das SK, Cook DJ, Battacharya, Heierman
III EO,Lin T-Y. (6): pp. 77– 84.

[16] FPGAbased Distribbuted Task Organizing Agents in Smart Home. Proc. of the
2nd International Conferenceon Research in Science, Engineering and Technology
(ICRSET’2014), Dubai, March 21–22,2014, Marufuzzaman M, Reaz MBI, Islam
MT, pp 1–5.
[17] Alam, M. R., Reaz, M. B. I., &Mohd Ali, M. A. (2012). SPEED: An inhabitant
activity prediction algorithm for Smarthomes. IEEE Transactions on Systems, Man,
and

Cybernetics

Part

A:Systems

and

Humans,

42(4),

985–990.

/>[18] Smart Home Datasets. Washington State University[Online]. Available:
/>
23


24




×