Tại sao tính năng kỹ thuật làm việc?


20

Gần đây tôi đã biết rằng một trong những cách để tìm giải pháp tốt hơn cho các vấn đề ML là tạo ra các tính năng. Người ta có thể làm điều đó bằng cách ví dụ tóm tắt hai tính năng.

Ví dụ: chúng tôi có hai tính năng "tấn công" và "phòng thủ" của một loại anh hùng nào đó. Sau đó, chúng tôi tạo ra tính năng bổ sung gọi là "tổng" là tổng của "tấn công" và "phòng thủ". Bây giờ điều kỳ lạ đối với tôi là "tấn công" và "phòng thủ" khó khăn gần như hoàn toàn tương quan với "tổng số" chúng ta vẫn có được thông tin hữu ích.

Toán học đằng sau đó là gì? Hay là tôi suy luận sai?

Ngoài ra, đó không phải là vấn đề, đối với các nhà phân loại như kNN, rằng "tổng" sẽ luôn lớn hơn "tấn công" hay "phòng thủ"? Vì vậy, ngay cả sau khi chuẩn hóa chúng ta sẽ có các tính năng chứa các giá trị từ các phạm vi khác nhau?


Việc thực hành tổng hợp hai tính năng chắc chắn không đại diện cho "kỹ thuật tính năng" nói chung.
xji

Câu trả lời:


21

Bạn hỏi tiêu đề và nội dung có vẻ không phù hợp với tôi. Nếu bạn đang sử dụng mô hình tuyến tính, thêm một tính năng tổng cộng ngoài tấn công và phòng thủ sẽ khiến mọi thứ tồi tệ hơn.

Đầu tiên tôi sẽ trả lời tại sao tính năng kỹ thuật nói chung.

Một bưc tranh đang gia ngan lơi noi. Hình này có thể cho bạn biết một số hiểu biết về kỹ thuật tính năng và lý do tại sao nó hoạt động ( nguồn hình ảnh ):

nhập mô tả hình ảnh ở đây

  • Dữ liệu trong tọa độ Cartesian phức tạp hơn và việc viết quy tắc / xây dựng mô hình để phân loại hai loại là tương đối khó.

  • Dữ liệu trong tọa độ Polar rất dễ dàng :, chúng ta có thể viết một quy tắc đơn giản trên để phân loại hai loại.r

Điều này cho chúng tôi biết rằng việc đại diện của dữ liệu rất quan trọng. Trong một số không gian nhất định, việc thực hiện một số nhiệm vụ nhất định sẽ dễ dàng hơn nhiều so với các không gian khác.

Ở đây tôi trả lời câu hỏi được đề cập trong ví dụ của bạn (tổng cộng về tấn công và phòng thủ)

Trong thực tế, kỹ thuật tính năng được đề cập trong ví dụ về tấn công và phòng thủ này, sẽ không hoạt động tốt đối với nhiều mô hình như mô hình tuyến tính và nó sẽ gây ra một số vấn đề. Xem Đa sắc . Mặt khác, kỹ thuật tính năng như vậy có thể hoạt động trên các mô hình khác, chẳng hạn như cây quyết định / rừng ngẫu nhiên. Xem câu trả lời của @ Imran để biết chi tiết.

Vì vậy, câu trả lời là tùy thuộc vào mô hình bạn sử dụng, một số tính năng kỹ thuật sẽ giúp ích cho một số mô hình, nhưng không phải cho các mô hình khác.


Tổng không cần phải cộng với các phần bổ sung. Xem ví dụ câu trả lời của tôi.
Chuyên gia Kodi

15

Loại mô hình chúng tôi đang sử dụng có thể không hiệu quả lắm trong việc tìm hiểu các kết hợp nhất định của các tính năng hiện có.

ad0một+d<01một+d0

Vì các cây quyết định chỉ có thể phân chia dọc theo các trục tính năng riêng lẻ, mô hình của chúng tôi cuối cùng sẽ cố gắng xây dựng một cầu thang để phù hợp với một đường, trông sẽ giống như thế này:

nhập mô tả hình ảnh ở đây

Như bạn có thể thấy điều này sẽ không khái quát hoàn hảo cho dữ liệu mới. Chúng ta có thể có các vòng tròn phía trên đường quyết định thực sự nằm dưới ranh giới quyết định của chúng ta và ngược lại cho các đường chéo.

Tuy nhiên, nếu chúng ta thêm a+dnhư một tính năng thì vấn đề trở nên tầm thường đối với cây quyết định. Nó có thể bỏ qua các cá nhân adtính năng và giải quyết vấn đề với một a+d<0gốc quyết định duy nhất .

nhập mô tả hình ảnh ở đây

một+d

Tóm lại, một số tính năng bổ sung có thể giúp tùy thuộc vào loại mô hình bạn đang sử dụng và bạn nên cẩn thận xem xét cả dữ liệu và mô hình khi tính năng kỹ thuật.


1
Đây là chính xác điểm. Lựa chọn các tính năng và lựa chọn mô hình phải được xem xét cùng nhau. Đó là một cạm bẫy phổ biến để thử và lý do về lựa chọn tính năng mà không xem xét loại mô hình đang được sử dụng.
Imran

1
Ví dụ, nếu bạn đã cố gắng điều tương tự với hồi quy tuyến tính sau đó adsẽ đủ và bổ sung a+dnhư một tính năng sẽ không tạo sự khác biệt.
Imran

Tôi đã cập nhật câu trả lời của tôi để làm cho điều này rõ ràng hơn.
Imran

1
Hơn nữa, phân chia trên đường chéo đòi hỏi một phân chia. Cầu thang bạn đã vẽ "sử dụng" bảy phần tách.
Tích lũy

3

totaltotalattackdefenseattackdefensetotalattacktotaldefense17

Ngoài ra, đó không phải là vấn đề, đối với các nhà phân loại như kNN, rằng "tổng" sẽ luôn lớn hơn "tấn công" hay "phòng thủ"? Vì vậy, ngay cả sau khi chuẩn hóa chúng ta sẽ có các tính năng chứa các giá trị từ các phạm vi khác nhau?

Nếu bạn muốn chuẩn hóa các dự đoán của mình, bạn nên thực hiện sau khi tất cả chúng được xây dựng.


1
Điều này có thực sự đúng không? Chắc chắn, trong một mô hình tuyến tính đơn giản, không phải là: ma trận [attack, defense, total]dĩ nhiên là hạng 2. Tôi có thể tưởng tượng trong một mô hình giống như mô hình tuyến tính bị phạt nó có thể tạo ra sự khác biệt, nhưng đó là dựa trên trực giác thay vì hoạt động hoàn toàn qua nó. Bạn có thể giải thích tại sao nếu attackdefensekhông tương quan mạnh với total(xảy ra khi attackdefensecó tương quan tiêu cực mạnh), tại sao totalcó thể hữu ích?
Vách đá AB

1
@CliffAB Nhìn lại, tôi có một chút thích thú ở đây. Tôi đã đúng khi nói rằng một tính năng được xây dựng có thể hữu ích khi nó không tương quan mạnh với các yếu tố dự đoán khác và totalkhông cần phải tương quan mạnh với attackhoặc defense, nhưng bạn sẽ không bao giờ sử dụng hai yếu tố dự đoán và tổng của chúng trong cùng một mô hình, vì tuyến tính phụ thuộc, với ngụ ý một mối tương quan mạnh mẽ giữa một số hai trong số ba.
Kodiologist

1

Để đưa ra một câu trả lời chung, kỹ thuật tính năng trong hầu hết các trường hợp là về việc trích xuất các tính năng có ý nghĩa từ dữ liệu của bạn, vì vậy nếu bạn cung cấp thêm thông tin cho mô hình của mình, rõ ràng nó sẽ hoạt động tốt hơn. Giả sử dữ liệu của bạn bao gồm các địa chỉ email ở dạng 'name.surname@domain.country-code'. Nếu bạn đã sử dụng chúng như trong mô hình của mình, mỗi người sẽ được đặc trưng bởi một e-mail duy nhất, vì vậy điều này sẽ không cho chúng ta biết nhiều. Nó sẽ chỉ cho chúng ta biết rằng một e-mail có thể thuộc về người khác sau đó là người khác. Với kỹ thuật tính năng, từ những địa chỉ như vậy, bạn có thể trích xuất thông tin về giới tính (tên), nguồn gốc gia đình và dân tộc (họ), quốc tịch (tên miền) và nhiều thông tin khác - nó cung cấp cho bạn khá nhiều thông tin, phải không?


1

Bạn đang cố gắng thực hiện điều gì với tổng "tính năng" của mình ? Nếu bạn chỉ đơn thuần so sánh các anh hùng, tấn côngphòng thủ có thể hữu ích hơn. Nếu bạn thấy kiểu xây dựng (hướng tấn công so với hướng phòng thủ) là hữu ích, có lẽ tấn công / phòng thủ sẽ hữu ích hơn. Hoặc có thể MyAttack - YourDefense hữu ích hơn.

Nó thực sự phụ thuộc vào mục tiêu của bạn và nó giúp bạn nắm bắt được kiến ​​thức bổ sung vào vấn đề để bạn có thể có câu trả lời tốt hơn. Bạn có thể đã nghe thấy mọi người ném nhật kýbình phươngtỷ lệ và tất cả các cách bạn có thể tạo ra các tính năng, nhưng điểm mấu chốt là "hữu ích" phụ thuộc vào nhiệm vụ trong tay và liên quan đến việc chuyển đổi dữ liệu bạn có thành một miền nơi quyết định đơn giản hơn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.