Knorex đăng tuyển Data Scientist

knorex-headline

https://itviec.com/it-jobs/data-scientist-knorex-0843

Bạn nào đang quan tâm đến công việc liên quan đến Data Science có thể về làm bên công ty mình nhé. Bạn nào có kiến thức về Machine Learning và Predictive data modeling là có thể apply cho vị trí này. Chúc các bạn may mắn.

Machine Learning cho người bắt đầu

machine-learning-progress

machine-learning-progress

Những bạn yêu thích Machine Learning và không biết mình nên bắt đầu từ đâu có thể bắt đầu tại đây. Mọi câu hỏi, các bạn có thể comment bên dưới, mình luôn sẵn sàng ở đây để hỗ trợ.

Khởi động

Machine learning là gì

Machine learning là gì

Bạn cần làm quen với một vài điểm cơ bản để bắt đầu cuộc hành trình của mình.

Machine learning là gì

Tại sao cần Machine learning

Machine Learning trên Quora hỏi gì đáp nấy

Những ứng dụng thương mại của Deep learning

Các công ty Startup về Deep learning

Machine Learning và Real-Time Bidding

Kĩ năng phân tích dữ liệu

Data analytics

Data analytics

Bạn cần học và thực hành tiến trình áp dụng machine learning vào bài toán cụ thể. Chuẩn bị dữ liệu > Huấn luyện > Đánh giá và lựa chọn mô hình.

Cách xác định bài toán trong Machine Learning

Kỹ năng làm việc với Machine Learning

Tiền xử lý dữ liệu (Horse Colic dataset)

Getting and cleaning data: Các phương pháp lấy mẫu (Sampling)

Lấy và làm sạch dữ liệu: Xử lý dữ liệu ngoại lai (Outliers)

Feature engineering là gì

Đánh giá mô hình (Model evaluation)

Statistical hypothesis testing cho dân lập trình

Exploratory Data Analysis: Các nguyên tắc trình bày biểu đồ

Kỹ năng hệ thống

linux-is-sexy

linux-is-sexy

Bạn cũng nên chuẩn bị cho mình phương pháp quản lý dự án và thao tác nhanh với hệ thống.

Git notes

Command line thường dùng

Hướng dẫn deploy Spark

Thao tác với các công nghệ Big Data

Soạn slides bằng Beamer

Viết luận văn bằng LaTeX

Tiếp tục đọc

Hướng dẫn deploy Spark

Việc deploy Spark là cần thiết đối với các tác vụ mang tính chu kỳ. Ví dụ, ta có thể tạo một CRON job để chương trình Spark có thể tự động tổng hợp dữ liệu cho chúng ta sau chu kỳ mỗi giờ, mỗi ngày hay mỗi tuần. spark-submit là một shell command được dùng để deploy ứng dụng Spark lên cluster. Nhờ vào cơ chế quản lý phân tán của Spark, ta không cần phải chỉnh sửa source code quá nhiều để có thể chuyển đổi từ standalone mode sang distributed mode.

Để hoàn tutorial này, bạn cần các phần mềm sau:

Tiếp tục đọc

Xác định gam màu trong MV Nơi này có anh – Sơn Tùng M-TP

color-palettes-noi-nay-co-anh

Lấy cảm hứng từ bài viết NHỮNG GAM MÀU TÌNH YÊU ĐẦY CẢM HỨNG TRONG MV NƠI NÀY CÓ ANH – SƠN TÙNG M-TP. Trong bài viết này, tôi sẽ hướng dẫn nhanh mọi người cách áp dụng kĩ thuật color clustering (image segmentation) để rút ra gam màu chính trong từng cảnh quay của MV. Cụ thể, ta sẽ sử dụng thuật toán k-means clustering. Đây là thuật toán đơn giản đủ để ta thực hiện tác vụ này.

Source code: Github.

Tiếp tục đọc

Thao tác với các công nghệ Big Data

how-to-use-big-data

how-to-use-big-data

Mục đích của bài viết này dùng để ghi chú lại các thao tác cơ bản cũng như một số khái niệm khi làm việc với các công nghệ được liệt kê bên dưới. Sau một thời gian tìm tòi học hỏi về các công nghệ mới, chúng ta nên notes lại cho bản thân để tiện tham khảo nhanh sau này, không cần tốn thời gian search Google một lần nữa.

Phần lớn thời gian, ta sẽ làm việc trên dòng lệnh. Do đó, đây cũng là một thói quen tốt giúp ta tổ chức công việc hiệu quả hơn, giải phóng đầu óc của chúng ta đỡ nhọc công ghi nhớ nhiều chi tiết nhỏ nhặt, thay vào đó ta giành thời gian tập trung vào bức tranh tổng quát nhiều hơn.

Tiếp tục đọc

Kaggle lung cancer detection – Phác thảo hệ thống (Prototype)

compressed-images

compressed-images

Một Data scientist cần có khả năng prototype nhanh mô hình dự đoán của mình bằng cách sử dụng mẫu dữ liệu nhỏ có thể lưu trữ ngay trên laptop. Khi mô hình đã được kiểm chứng và hoạt động, ta có thể tiến hành làm việc với các thành viên khác trong nhóm để tích hợp các tác vụ rút trích đặc trưng (feature extraction), quản lý và mở rộng prototype được viết bởi nhiều thành viên khác trong nhóm. Sau khi hoàn tất phần prototype, ta có thể làm việc với engineers/developers để hiện thực hóa sản phẩm thông qua mô hình đã huấn luyện.

Khi prototype, ta hoàn toàn có quyền viết scripts không trật tự và rõ ràng để hoàn tất công việc, nhưng cần đảm bảo code được viết càng đơn giản càng tốt để sau này có thể đọc hiểu và phát triển bởi các thành viên khác.

Tiếp tục với cuộc thi Kaggle lung cancer detection, trong bài viết này, ta sẽ cùng nhau prototype hệ thống chẩn đoán ung thư phổi đơn giản. Đầu vào là ma trận đặc trưng (sử dụng ngay ảnh raw, chưa áp dụng các kỹ thuật rút trích đặc trưng). Đầu ra là kết quả đánh giá và so sánh giữa các mô hình dự đoán.

Github sources:

Kaggle lung cancer detection: Tiền xử lý ảnh (Preprocessing)

kaggle-image-preprocessing

kaggle-image-preprocessing

Tiền xử lý ảnh (image preprocessing) là tiến trình cải thiện chất lượng ảnh sao cho ảnh đầu ra giữ lại được những đặc trưng (feature) quan trọng trong ảnh. Sau đó, làm đầu vào cho các quá trình xử lý tiếp theo. Ta có thể thay đổi độ sáng của ảnh (pixel brightness transformation), biến đổi hình học ảnh (geometric transformation), rút trích đặc trưng ảnh (feature extraction), nội suy ảnh (image interpolation), lọc ảnh (image filtering: blur, sharpen, noise removal), …

Trong bài viết này, ta sẽ học cách làm việc với tập dữ liệu ảnh số. Ta sẽ tìm hiểu về cách ảnh số được định dạng trong không gian như thế nào. Bắt đầu bằng việc đọc và hiển thị ảnh cho đến áp dụng tích chập (convolution) và lọc ảnh bằng Tensorflow. Ở đây, tôi sẽ sử dụng tập dữ liệu download từ Kaggle Data Science Bowl 2017. Do tập dữ liệu khá lớn, các bạn có thể download sample_images về làm việc.

Git source: basics.py

Tiếp tục đọc

Đón năm mới 2017 với cuộc thi Kaggle

Can you improve lung cancer detection

Can you improve lung cancer detection

Hằng năm Kaggle có đưa ra nhiều cuộc thi liên quan đến các vấn đề xã hội như là một thách thức để các bạn trẻ tài năng tham gia giúp sức cho cộng đồng.

Lần này, nhân dịp đầu năm mới, tôi và một vài người bạn quyết định tham gia khởi động với cuộc thi Kaggle với chủ đề liên quan đến chẩn đoán bệnh ung thư phổi thông qua ảnh DICOM.

Mục đích của bài viết này là tổng hợp lại các thông tin đủ để các bạn hoặc đồng đội của bạn bắt tay vào xây dựng mô hình dự đoán cũng như truyền chút động lực cho các bạn đang tham vọng dấn thân vào ngành Data Science.

Tiếp tục đọc

Truy vấn văn bản – Document Retrieval

book_search

book_search

Giả sử bạn đang đọc một bài viết nào đó, hệ thống truy vấn văn bản sẽ giúp bạn tìm kiếm những bài viết tương tự như bài viết của bạn đang đọc. Vậy làm sao ta có thể tính được độ tương tự giữa các văn bản để tìm kiếm trong vô số các tài liệu có sẵn, tỷ lệ giống nhau về nội dung của các văn bản là bao nhiêu?

Trong bài viết này, ta sẽ sử dụng tập văn bản liên quan đến những người nổi tiếng download từ wikipedia (file csv đã xử lý có thể download ở đây) để xây dựng hệ thống truy vấn văn bản dựa trên nội dung đang đọc.

Tiếp tục đọc

Hệ thống recommend bài nhạc

song-recommendations

song-recommendations

Một trong những công nghệ giúp cho đời sống con người ngày càng dễ dàng hơn đó là recommender system. Recommender system giúp kết nối người dùng với sản phẩm mà họ tìm kiếm được thuận tiện và nhanh chóng hơn từ đó mang lại lợi thế cạnh tranh của sản phẩm so với các đối thủ khác. Bạn có thể bắt gặp hệ thống này ở các trang xem phim, nghe nhạc, mua bán, mạng xã hội, … Về cơ bản, bạn có thể áp dụng ngay kỹ thuật này vào hệ thống của bạn thông qua các hướng tiếp cận như: Popularity – liệt kê top các sản phẩm được nhiều người quan tâm nhất, Classification – dựa vào các chủ đề mà bạn cung cấp để lọc ra danh sách sản phẩm tương ứng. Tuy nhiên, các hướng tiếp cận này đều mang tính đại chúng, không nhắm vào một cá nhân cụ thể nào. Hơn nữa, không ai dễ dàng cung cấp thông tin cá nhân cho ứng dụng của bạn để có thể lọc thông tin phù hợp.

Do đó, trong bài viết này, tôi sẽ đi theo hướng tiếp cận Collaborative Filtering với hai phương pháp gồm Memory-Based Collaborative Filtering và Model-Based Collaborative filtering giúp trả lời hai câu hỏi “user nghe bài nhạc này thì sẽ có xu hướng nghe các bài như…” và “user có gu âm nhạc như bạn thì sẽ có xu hướng nghe các bài nhạc như…”. Trong đó, Model-Based sẽ sử dụng singular value decomposition (SVD) và Memory-Based sử dụng khoảng cách cosine để mô hình hóa hệ thống. Bạn có thể download dữ liệu từ đây Million Song Dataset Challenge.

Source code: Github.

Tiếp tục đọc

TensorFlow – thư viện code Deep Learning

tensorboard

tensorboard

Bài viết này không nhằm vào hướng dẫn lập trình TensorFlow. Lý do, các bạn có thể tìm thấy nhiều source code hướng dẫn khác nhau trên internet, tự cài đặt và lập trình dễ dàng. Nếu các bạn đã có kiến thức cơ bản về Neural Network thì việc nắm bắt công nghệ này cũng sẽ đơn giản hơn rất nhiều.

Thông thường, ta sẽ đi theo flow nghiên cứu sau: vào trang https://www.tensorflow.org/ để xem qua bài giới thiệu chung chung, sau đó tiến hành cài đặt, cài đặt thất bại do conflict thư viện, cài đặt thành công, đọc source code, cài đặt thuật toán từ các tutorial, hiểu sơ sơ, bắt đầu hoang mang do có quá nhiều bài viết cần đọc và cài đặt -> mất hết cảm hứng.

Do đó, mình sẽ hướng các bạn đi theo một tiếp cận khác. Đầu tiên, ta sẽ lấy cảm hứng nghiên cứu thông qua các ứng dụng ngoài thực tế, người thật việc thật của TensorFlow. Tiếp đến, ta sẽ xem mọi người đánh giá như thế nào về mã nguồn này, có đáng để ta tiếp tục nghiên cứu không. Sau cùng, ta sẽ bắt tay vào tiến hành cài đặt và ứng dụng công nghệ cùng với các tài liệu tham khảo chất lượng đã thu thập được.

Tiếp tục đọc