Từ phương diện là từ đồng nghĩa với số lượng phần tử trong một vectơ đối tượng. Một số đối tượng phân loại có thứ nguyên thấp. Ví dụ:
Tên đối tượng | Số danh mục | Danh mục mẫu |
---|---|---|
snowed_today | 2 | Đúng, sai |
skill_level | 3 | Người mới bắt đầu, Chuyên viên, Chuyên gia |
season | 4 | Mùa đông, Mùa xuân, Mùa hè, Mùa thu |
day_of_week | 7 | Thứ Hai, thứ Ba, thứ Tư |
hành tinh | 8 | Sao Kim, Sao Kim, Trái Đất |
Khi một đối tượng phân loại có ít danh mục, bạn có thể mã hoá dưới dạng từ vựng. Với mã hoá từ vựng, mô hình xử lý mỗi giá trị phân loại có thể có dưới dạng tính năng riêng biệt. Trong quá trình đào tạo, mô hình này sẽ học các trọng số khác nhau cho từng danh mục.
Ví dụ: giả sử bạn đang tạo một mô hình để dự đoán dựa trên giá xe ô tô,
một phần là về một tính năng phân loại có tên là car_color
.
Có lẽ ô tô màu đỏ đáng giá hơn xe màu xanh lục.
Vì các nhà sản xuất cung cấp một số lượng màu ngoại thất có giới hạn, nên car_color
là
tính năng phân loại ít chiều.
Hình minh hoạ dưới đây gợi ý một từ vựng (các giá trị có thể có) cho
car_color
:
Bài tập: Kiểm tra trực giác của bạn
"Red"
không phải là số thực. Bạn
phải chuyển đổi các chuỗi như "Red"
thành số dấu phẩy động.
Số chỉ mục
Các mô hình học máy chỉ có thể thao tác với số dấu phẩy động. Do đó, bạn phải chuyển đổi mỗi chuỗi thành một số chỉ mục duy nhất, như trong hình minh hoạ sau đây:
Kiểm tra trực giác của bạn
"Black"
(chỉ mục số 5) có ý nghĩa hơn gấp 5 lần
vào mô hình khác với "Orange"
(chỉ mục số 1).
"Black"
(chỉ số số 5) là
Có ý nghĩa gấp 5 lần đối với mô hình này so với "Orange"
(chỉ mục số 1).
Mã hoá một lần
Bước tiếp theo trong việc xây dựng từ vựng là chuyển đổi từng số chỉ mục thành phương thức mã hoá một nóng. Ở phương thức mã hoá một nhiệt:
- Mỗi danh mục được biểu thị bằng một vectơ (mảng) của N phần tử, trong đó N
là số lượng danh mục. Ví dụ: nếu
car_color
có 8 đề xuất danh mục, thì vectơ một nóng biểu thị sẽ có tám phần tử. - Chính xác một trong các phần tử trong vectơ một nóng có giá trị 1,0; tất cả các phần tử còn lại đều có giá trị 0.0.
Ví dụ: bảng sau đây trình bày chế độ mã hoá một nhiệt cho mỗi chế độ trong
car_color
:
Tính năng | Đỏ | Orange | Xanh dương | Vàng | Xanh lục | Đen | Tía | Nâu |
---|---|---|---|---|---|---|---|---|
"Màu đỏ" | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
"Cam" | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
"Xanh dương" | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
"Vàng" | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
"Xanh lục" | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
"Đen" | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
"Tím" | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
"Nâu" | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
Đó là vectơ một nóng, không phải chuỗi hoặc số chỉ mục, được truyền thành vectơ đối tượng. Mô hình này học trọng số riêng cho mỗi phần tử của vectơ đối tượng.
Hình minh hoạ sau đây cho thấy các phép biến đổi khác nhau trong trình bày từ vựng:
Biểu diễn thưa thớt
Đối tượng có giá trị chủ yếu bằng 0 (hoặc trống) được gọi là
tính năng thưa thớt. Nhiều
các tính năng phân loại (chẳng hạn như car_color
) thường là các tính năng thưa thớt.
Biểu diễn thưa thớt
có nghĩa là lưu trữ vị trí của 1.0
trong một vectơ thưa thớt. Ví dụ: vectơ một điểm nóng cho "Blue"
là:
[0, 0, 1, 0, 0, 0, 0, 0]
Vì 1
đang ở vị trí 2 (khi bắt đầu đếm từ 0), nên hàm
cách biểu diễn thưa cho vectơ một nóng trước đó là:
2
Lưu ý rằng biểu diễn thưa thớt tốn ít bộ nhớ hơn nhiều so với vectơ một nóng 8 phần tử. Quan trọng là mô hình phải được huấn luyện trên vectơ một nóng, chứ không phải biểu diễn thưa thớt.
Các điểm ngoại lai trong dữ liệu phân loại
Giống như dữ liệu số, dữ liệu phân loại cũng chứa các điểm ngoại lai. Giả sử
car_color
không chỉ chứa màu phổ biến mà còn có một số màu hiếm khi được sử dụng
màu ngoại lệ, chẳng hạn như "Mauve"
hoặc "Avocado"
.
Thay vì gán cho mỗi màu sắc ngoại lệ này một danh mục riêng, bạn
có thể gộp chúng thành một
bài hát chung duy nhất danh mục có tên ngoài từ vựng
(OOV). Nói cách khác, tất cả các màu ngoại lệ được gộp thành một màu duy nhất
bộ chứa ngoại lệ. Hệ thống sẽ học được trọng số duy nhất cho bộ chứa ngoại lệ đó.
Mã hoá các tính năng phân loại theo chiều cao
Một số tính năng phân loại có nhiều phương diện, chẳng hạn như các kết quả trong bảng sau:
Tên đối tượng | Số danh mục | Danh mục mẫu |
---|---|---|
words_in_english | Khoảng 500.000 | "vui vẻ", "đi dạo" |
US_postal_codes | Khoảng 42.000 | "02114", "90301" |
last_names_in_Germany | Khoảng 850.000 | "Schmidt", "Schneider" |
Khi số lượng danh mục nhiều, mã hoá một lần thường là một lựa chọn không đúng. Phần Nhúng, trình bày chi tiết ở phần riêng Mô-đun nhúng thường lựa chọn tốt hơn nhiều. Nhúng làm giảm đáng kể số lượng mang lại lợi ích cho mô hình theo hai cách quan trọng:
- Mô hình này thường huấn luyện nhanh hơn.
- Mô hình đã xây dựng thường dự đoán các dự đoán nhanh hơn. Đó là mô hình có độ trễ thấp hơn.
Băm (còn được gọi là băm) ) là một cách ít phổ biến hơn để giảm số lượng phương diện.