Đầ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.
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