Vì logarit tự nhiên của xác suất nhỏ hơn 0 nên và C là các giá trị
âm.Với mỗi chu kỳ bước đi, nếu logarit tự nhiên của k<t thì chu kỳ này bất thường.
2.2.3 Thuật toán hồi quy [27]
Trong bài toán này, các đặc trưng được lựa chọn sử dụng: * Đặc trưng góc
Đặc trưng được tính dựa trên góc giữa hai vector. Cụ thể, với đầu vào là 4 đỉnh A, B, C, D trên khung xương:
(2.29) Như vậy, nếu 2 vector tạo thành một góc nhọn, giá trị đặc trưng sẽ là 1, ngược lại là 0.
45
Đặc trưng được tính dựa trên độ dài đoạn thẳng nối giữa 2 đỉnh. Cụ thể, với đầu vào là 4 đỉnh A, B, C, D trên khung xương:
(2.30) Như vậy, nếu đoạn thẳng AB dài hơn đoạn thẳng CD, giá trị đặc trưng sẽ là 1, ngược lại là 0.
* Đặc trưng tam giác
Đặc trưng được tính dựa trên diện tích của tam giác được tạo thành bởi 3 đỉnh. Cụ thể, với đầu vào là 6 đỉnh A, B, C, D, E, F trên khung xương:
(2.31) Như vậy, nếu tam giác ABC có diện tích lớn hơn tam giác DEF, giá trị đặc trưng sẽ là 1, ngược lại là 0.
Dễ dàng nhận thấy do khung xương bao gồm nhiều điểm nên những đặc trưng được sử dụng sẽ có rất nhiều và thường khả năng phân biệt cũng không phải là mạnh, cũng tức là nếu ta sử dụng đơn lẻ các đặc trưng đó thì sẽ không đạt hiệu quả nhận dạng các hành vi. Để sử dụng các đặc trưng này, ta cần 1 cách để kết hợp 1 nhóm các đặc trưng như vậy lại để tạo 1 bộ phân lớp hiệu quả hơn, trong này các đặc trưng được đưa vào các nút của cây quyết định. Việc học cây được thực hiện với việc học từng nút và với mỗi hành động cụ thể ta sẽ học một bộ phân lớp riêng để phân biệt nó với các hành động còn lại. Mỗi nút được học với một tập huấn luyện có dạng như sau: (2.32). Trong đó, là mẫu thứ của của tập huấn luyện. Trong mẫu này, S là mẫu khung xương đầu vào – chính là một tập có thứ tự các đỉnh trong không gian 3 chiều, a là giá trị nhãn của hành động, w sẽ là trọng số đánh giá mức độ ảnh hưởng của mẫu trong quá trình học. Như vậy, nhãn của hành động sẽ nhận giá trị là 1 hoặc 0 tùy vào mẫu
46
khung xương có thuộc vào loại hành động đang xét hay không.
Vì số lượng đặc trưng rất nhiều, nên khi học cây cần thực hiện lựa chọn tự động đặc trưng phù hợp nhất cho từng nút theo từng bước xây dựng cây. Sự phù hợp nhất này sẽ mang ý nghĩa là cực tiểu giá trị sai số phân chia khi sử dụng một đặc trưng để phân chia tập huấn luyện. Sau khi sử dụng một đặc trưng, tập huấn luyện M sẽ được phân chia thành 2 tập con M0 và M1 tương ứng với kết quả phân chia ra nhãn 0 và 1. Sai số phân chia sẽ được tính bằng tổng sai số trên hai tập con M0 và M1. Cụ thể hơn sai số trên tập con Mi được tính như sau: (2.33). Trong đó, là kỳ vọng của các giá trị nhãn trong tập con Mi. Bằng cách như vậy, tại mỗi nút, ta có thể chọn được một đặc trưng không gian phù hợp nhất để cực tiểu sai số phân chia. Sau khi phân chia, 2 tập con M0 và M1 sẽ tiếp tục là đầu vào cho việc học hai nút cho của nút vừa học. Quá trình học kết thúc khi cây đã đủ độ cao hoặc tập huấn luyện không còn phân chia được nữa. Thuật toán học tại mỗi nút được mô tả như sau:
Function: learn_node
Input: Tập M, độ cao d của cây hiện tại
Output: Đặc trưng F hoặc giá trị trả về v nếu là nút lá Các bước: if |M|≤1 OR d≥MAX_DEPTH: v = mean_labels(M) return F = None best_err = MAX_VALUE for each f in FEATURE_SET: err = split_error(M, f)
47 best_err = err F = f M0, M1 = split_data(M, F) learn_node(M0, d+1) learn_node(M1, d+1)
Trong hàm trên, mean_labels(M) là hàm tính kỳ vọng các nhãn trong tập M, split_error(M, f) là hàm tính sai số phân chia của tập M với đặc trưng f, split_data(M, f) là hàm phân chia tập dữ liệu huấn luyện M với đặc trưng f.