11

Tôi đã học được rất nhiều về việc sử dụng đồ thị cho học máy bằng cách xem video Christopher Bishops (http://videolectures.net/mlss04_bishop_gmvm/). Tôi tìm thấy nó rất thú vị và theo dõi một vài người khác trong cùng một loại (máy học/đồ thị) nhưng đã tự hỏi nếu có ai có bất kỳ khuyến nghị cho cách học tập nhiều hơn?Khuyến nghị sử dụng lý thuyết đồ thị trong học máy?

Vấn đề của tôi là, mặc dù video đã mang lại sự hiểu biết mức độ cao, nhưng tôi chưa có nhiều kỹ năng thực tế. Tôi đã đọc cuốn sách Bishops về học máy/mẫu cũng như cuốn sách AI của Norvig nhưng cả hai dường như không chạm vào cụ thể khi sử dụng đồ thị nhiều. Với sự xuất hiện của các công cụ tìm kiếm và mạng xã hội, tôi sẽ nghĩ rằng việc học máy trên đồ thị sẽ phổ biến.

Nếu có thể, bất kỳ ai cũng có thể đề xuất tài nguyên để tìm hiểu không? (Tôi mới vào lĩnh vực này và phát triển là một sở thích cho tôi, vì vậy tôi xin lỗi trước nếu có một nguồn tài nguyên siêu rõ ràng để học hỏi từ .. Tôi đã thử các trang web của Google và các trường đại học).

Cảm ơn trước!

Trả lời

9

MacArthur Genius Grant nhận và Stanford Giáo sư Daphne Koller là đồng tác giả một cuốn sách giáo khoa dứt khoát về mạng Bayes quyền Probabalistic Graphical Models, trong đó có một giới thiệu nghiêm ngặt để lý thuyết đồ thị như áp dụng cho AI. Nó có thể không chính xác phù hợp với những gì bạn đang tìm kiếm, nhưng trong lĩnh vực của nó nó rất được đánh giá cao.

+0

Chỉ cần thêm vào đề xuất sách tuyệt vời của bạn. Các tác giả (Stanford profs) có một lớp học miễn phí bắt đầu từ năm nay: http://www.pgm-class.org/ – Lostsoul

3

Bạn có thể tham dự các lớp học trực tuyến miễn phí tại Stanford cho máy học và trí tuệ nhân tạo:

https://www.ai-class.com/
http://www.ml-class.org/

Các lớp học được không chỉ đơn giản là tập trung vào lý thuyết đồ thị, nhưng bao gồm một giới thiệu rộng hơn trong lĩnh vực này và họ sẽ cung cấp cho bạn một ý tưởng tốt về cách thức và thời điểm bạn nên áp dụng thuật toán nào. Tôi hiểu rằng bạn đã đọc những cuốn sách giới thiệu về AI và ML, nhưng tôi nghĩ rằng các lớp học trực tuyến sẽ cung cấp cho bạn rất nhiều bài tập mà bạn có thể thử.

15

Đầu tiên, tôi xin đề nghị các cuốn sách Social Network Analysis for Startups Maksim Tsvetovat và Alexander Kouznetsov. Một cuốn sách như thế này là một ơn trời cho các lập trình viên cần nhanh chóng có được sự lưu loát cơ bản trong một ngành cụ thể (trong trường hợp này là lý thuyết đồ thị) để họ có thể bắt đầu viết mã để giải quyết các vấn đề trong miền này. Cả hai tác giả đều được đào tạo về lý thuyết đồ thị lý thuyết nhưng khán giả dự định của cuốn sách của họ là lập trình viên. Gần như tất cả các ví dụ được trình bày trong cuốn sách đều bằng python sử dụng thư viện networkx.

Thứ hai, đối với các dự án mà bạn có trong tâm trí, hai loại thư viện là rất hữu ích nếu không thể thiếu:

  • đồ thị phân tích: ví dụ, các sắc networkx (python), hoặc igraph (python, R, et al al.) là hai mà tôi có thể khuyên bạn nên đánh giá cao; và

  • graph render: xuất sắc graphViz, có thể được sử dụng độc lập từ dòng lệnh nhưng nhiều khả năng bạn sẽ muốn sử dụng nó như một thư viện; có các ràng buộc graphViz trong tất cả các ngôn ngữ chính (ví dụ: đối với trăn có ít nhất ba tôi biết, mặc dù pygraphviz là tuỳ chọn của tôi; đối với R có rgraphviz là một phần của bộ gói bioconductor). Rgraphviz có tài liệu tuyệt vời (xem đặc biệt là các họa tiết bao gồm trong gói).

Nó là rất dễ dàng để cài đặt và bắt đầu thử nghiệm với các thư viện và đặc biệt là sử dụng chúng

  • để học đồ thị từ vựng lý thuyết cần thiết và các đơn vị phân tích (ví dụ, phân phối chuỗi độ, nút traversal, đồ thị toán tử);

  • để phân biệt các nút quan trọng trong biểu đồ (ví dụ: độ centrality, centrality eigenvector, assortivity); và

  • để xác định cấu trúc con của biểu đồ nguyên mẫu (ví dụ: cấu trúc hai bên, hình tam giác, chu kỳ, cụm, cụm, cộng đồng và lõi).

Giá trị của việc sử dụng thư viện đồ thị phân tích nhanh chóng hiểu những yếu tố thiết yếu của lý thuyết đồ thị là đối với hầu hết các phần có một 1: lập bản đồ 1 giữa khái niệm tôi chỉ đề cập và chức năng trong thư viện (networkx hoặc igraph). Vì vậy, ví dụ, bạn có thể nhanh chóng tạo ra hai biểu đồ ngẫu nhiên có kích thước bằng nhau (số nút), hiển thị và sau đó xem chúng, sau đó dễ dàng tính toán trình tự mức trung bình hoặc trung tâm giữa cho cả người quan sát và đầu tiên giá trị của các thông số đó ảnh hưởng đến cấu trúc của biểu đồ.

W/r/t sự kết hợp của ML và Graph Các kỹ thuật lý thuyết, đây là trải nghiệm cá nhân giới hạn của tôi. Tôi sử dụng ML trong công việc hàng ngày của tôi và lý thuyết đồ thị ít thường xuyên hơn, nhưng hiếm khi cùng nhau. Đây chỉ là một quan sát thực nghiệm giới hạn kinh nghiệm cá nhân của tôi, vì vậy thực tế là tôi đã không tìm thấy một vấn đề trong đó nó có vẻ tự nhiên để kết hợp các kỹ thuật trong hai lĩnh vực này. Thông thường phân tích lý thuyết đồ thị hữu ích trong điểm mù của ML, là số lượng dữ liệu đào tạo được dán nhãn đáng kể - các kỹ thuật ML được giám sát phụ thuộc rất nhiều vào điều này.

Một lớp vấn đề minh họa cho điểm này là phát hiện/dự đoán gian lận trực tuyến. Hầu như không bao giờ có thể thu thập dữ liệu (ví dụ: bộ giao dịch trực tuyến được quy cho một người dùng cụ thể) mà bạn có thể tách biệt và gắn nhãn chắc chắn hợp lý là "tài khoản lừa đảo". Nếu chúng đặc biệt thông minh và hiệu quả thì bạn sẽ gắn nhãn sai là "hợp pháp" và đối với những tài khoản bị nghi ngờ là gian lận, thường là chẩn đoán cấp một (ví dụ:, xác minh id bổ sung hoặc thời gian chờ tăng lên để rút tiền mặt) thường đủ để khiến họ ngừng hoạt động hơn nữa (điều này sẽ cho phép phân loại rõ ràng). Cuối cùng, ngay cả khi bạn quản lý tập hợp một tập hợp dữ liệu không có tiếng ồn hợp lý để huấn luyện thuật toán ML của bạn, nó chắc chắn sẽ không cân bằng nghiêm trọng (nghĩa là, nhiều hơn "hợp pháp" hơn điểm dữ liệu "gian lận"); vấn đề này có thể được quản lý với số liệu thống kê tiền xử lý (resampling) và bằng cách điều chỉnh thuật toán (weighting) nhưng nó vẫn là một vấn đề mà có thể sẽ làm giảm chất lượng kết quả của bạn. Vì vậy, mặc dù tôi chưa bao giờ có thể sử dụng thành công các kỹ thuật ML cho các loại vấn đề này, trong ít nhất hai trường hợp, tôi đã sử dụng lý thuyết đồ thị với một số thành công - trong trường hợp gần đây nhất bằng cách áp dụng mô hình được điều chỉnh từ dự án của một nhóm tại Carnegie Mellon ban đầu hướng đến detection of online auction fraud on ebay.

1

Mặc dù đây không phải là kết hợp chính xác với nội dung bạn đang tìm kiếm, textgraphs là một hội thảo tập trung vào liên kết giữa lý thuyết đồ thị và xử lý ngôn ngữ tự nhiên. Here là một liên kết. Tôi tin rằng hội thảo cũng đã tạo ra this cuốn sách.

Các vấn đề liên quan