Workflow giải quyết bài toán của Data Scientist

Bước 1 – Input:

Workflow của Data Scientist bắt đầu với một nhu cầu/nhiệm vụ.

Ví dụ: nhu cầu tìm kiếm bằng hình ảnh của Google: đưa cho máy một bức ảnh, kết quả sẽ trả về những bức ảnh tương tự.

Nhu cầu này có thể bắt nguồn từ:

  • Do bộ phận business thu thập phản hồi của người dùng, và đề nghị có thêm tính năng ABC.
  • Hoặc, do chính Data Scientist khi làm việc với dữ liệu, nghiên cứu đặc tính sản phẩm/công ty cũng như kiểu/lượng data hiện có… thì nảy ra sáng kiến phát triển thêm tính năng XYZ.

Bước 2 – Lên kế hoạch:

Sau khi xác định được nhu cầu/nhiệm vụ, Data Scientist sẽ họp và bàn bạc với bộ phận business cũng như các bên liên quan để xem xét:

  • Làm tính năng này có khả thi hay không?
  • Sẽ cần loại dữ liệu gì? Tìm ở đâu? Bao nhiêu là đủ? Lấy dữ liệu về như thế nào?.v.v…
  • Cần bao nhiêu resources (nhân lực, thời gian…)?
  • Tính năng này sẽ được gắn vào đâu trong sản phẩm cuối cùng của công ty, sẽ giúp ích được gì cho người dùng.
  • .v.v…

Bước 3 – Thu thập và làm sạch dữ liệu:

Để dạy cho máy cách phân biệt con chó với con mèo chẳng hạn, thì phải cho nó học càng nhiều hình ảnh càng tốt. Nên phải đi gom dữ liệu.

Dữ liệu gom xong sẽ còn rất lộn xộn và nhiều rác, thì mình phải làm sạch dữ liệu. Hoặc nếu dữ liệu chưa đủ, thì phải kiếm thêm.

Ví dụ:

Có những hình mình không cần thì loại bỏ. Hình mình cần nhưng bị mờ thì làm cho nó rõ hơn. Hoặc hình thô (chưa gán nhãn) thì gán nhãn cho nó.

Cũng có thể tìm thêm nguồn dữ liệu được open source và đã gán nhãn sẵn.

Sau đó, phải đồng bộ hóa dữ liệu.

Ví dụ, hình ảnh gom về có nhiều kích thước khác nhau, thì phải đưa hết về cùng một kích thước hoặc định dạng, tùy theo mô hình mình chọn.

Bước 4 – Chọn giải pháp:

  • Nếu vấn đề đã có sẵn giải pháp

Thì lựa chọn/kết hợp các giải pháp lại (vd: chọn thuật toán ABC hoặc XYZ), chạy thử nghiệm, kiểm tra xem thử nghiệm nào là tốt nhất và vì sao, tiếp theo sẽ chọn giải pháp nào để phát triển thêm .v.v…

  • Nếu vấn đề chưa có sẵn giải pháp

Thì cần làm research: tìm hiểu xem trước mình, đã có ai từng làm về vấn đề này chưa, giải pháp của họ là gì, có khả thi không, liệu giải pháp nào tốt hơn .v.v…

Sau đó, chọn ra một hoặc một loạt phương pháp để thử nghiệm giống như ở trên.

Bước 5 – Máy học:

Sau khi đã chọn được giải pháp, thì cần dành thời gian cho máy học.

Tùy theo model là gì, sử dụng công cụ nào, hệ thống công ty đã có sẵn những gì .v.v… mà mình sẽ cho model chạy qua chương trình, rồi điều chỉnh để kiểm soát performance đầu ra của model đó.

Khi train một model, hãy tưởng tượng giống như bạn có một bảng điều khiển với rất nhiều nút vậy. Bạn thử chỉnh cái nút này một chút, thấy kết quả ra tốt hơn chút xíu thì giữ lại, rồi thử chỉnh nút khác.

Cứ như vậy, cho đến khi ra được kết quả tốt nhất.

Ví dụ, có rất nhiều yếu tố để phân biệt con chó với con mèo.

Tùy bạn điều chỉnh để máy tập trung vào dấu hiệu nào nhiều hơn (cái mõm/những vùng có vẻ cái mõm, màu lông .v.v…) Nó sẽ ưu tiên các dấu hiệu đó để nhận diện đúng hơn.

Bước 6 – Output:

Output công việc của Data Scientist là một model như đã giới thiệu ở trên. Sau đó, thông thường, model này sẽ được gắn vào một sản phẩm lớn.

Ví dụ: model để gợi ý mua hàng của trang web Amazon.

Đôi khi, nếu model là một giải pháp/phát kiến mới, thì bộ phận Data Science của công ty bạn sẽ có nhiệm vụ viết bài báo hoặc tổ chức hội thảo khoa học để công bố kết quả nghiên cứu.

Tuy nhiên, chỉ một vài công ty lớn như Facebook, Google… có bộ phận chuyên nghiên cứu về Data Science.

Và trên thực tế, cũng rất hiếm có phát kiến mới có thể áp dụng thực tiễn. Vì rất nhiều khi, bạn tạo ra được một mô hình tốt, chính xác song lại chạy quá chậm, quá tốn tài nguyên thì cũng không đưa vào sử dụng được.

nghe-data-scientist

Data Scientist theo định nghĩa của Datacamp