Feature engineering là gì

Feature engineering

Feature engineering

Trong bài viết này, ta sẽ tìm hiểu về kĩ thuật feature engineering. Đây là chủ đề mà hầu như không có bài báo hay cuốn sách nào đề cập đến nhưng kĩ thuật này là yếu tố quan trọng trong việc xây dựng thành công mô hình dự đoán có độ chính xác cao. Bài viết này nhằm trả lời câu hỏi feature engineering là gì, tại sao nó quan trọng, và các bài toán con trong kĩ thuật feature engineering.

Tiếp tục đọc

Điểm qua các thuật toán Machine Learning hiện đại

Trong bài viết này, ta sẽ điểm qua một số thuật toán Machine learning thường được sử dụng trong các hệ thống hiện đại chuyên để xử lý Big Data. Các thuật toán này nhắm đến độ chính xác dự đoán và tối ưu hoá khả năng tính toán của hệ thống hiện tại.

Deep Learning

Deep learning là phương pháp nâng cao của mạng nơ-ron nhân tạo (Artificial Neural Networks) khai thác khả năng tính toán ngày càng rẻ từ các chip xử lý hiện đại.

Phương pháp này nhắm tới việc xây dựng nhiều hơn các mạng nơ-ron phức tạp cũng như giải quyết bài toán semi-supervised do tập dữ liệu khổng lồ thường được gán nhãn không đầy đủ.

Các thuật toán deep learning phổ biến:

  • Deep Boltzmann Machine (DBM)
  • Deep Belief Networks (DBN)
  • Convolutional Neural Network (CNN)
  • Stacked Auto-Encoders

Dimensionality Reduction

Tương tự như phương pháp clustering, cơ chế của phương pháp giảm số chiều thuộc tính (dimensionality reduction) cũng dựa trên tính chất vốn có của dữ liệu để rút gọn, tổng hợp lại thành tập dữ liệu mới có thông tin ít hơn rất nhiều nhưng vẫn đảm bảo mô tả toàn vẹn tập dữ liệu ban đầu.

Phương pháp này thường được sử dụng vào Big Data, do số lượng dữ liệu quá lớn và giới hạn tính toán của hệ thống hiện tại, ta có thể rút gọn tập dữ liệu ban đầu để có thể đáp ứng được khả năng tính toán nhưng vẫn giữ được độ chính xác dự đoán có thể chấp nhận được. Một số thuật toán dimensionality reduction:

  • Principal Component Analysis (PCA)
  • Principal Component Regression (PCR)
  • Partial Least Squares Regression (PLSR)
  • Sammon Mapping
  • Multidimensional Scaling (MDS)
  • Projection Pursuit
  • Linear Discriminant Analysis (LDA)
  • Mixture Discriminant Analysis (MDA)
  • Quadratic Discriminant Analysis (QDA)
  • Flexible Discriminant Analysis (FDA)

Ensemble

Phương pháp ensemble là mô hình được tổng hợp từ nhiều mô hình con (weaker model) được huấn luyện độc lập. Kết quả dự đoán cuối cùng dựa trên kết quả “bỏ phiếu” của từng mô hình con đó cho kết quả đầu ra.

Các thuật toán cải tiến cho phương pháp này thường nhắm tới cách làm thế nào để lấy mẫu huấn luyện hiệu quả cho từng mô hình con và làm thế nào để lựa chọn các mô hình con sao cho chúng kết hợp lại có thể tạo ra kết quả dự đoán tốt nhất. Một số kĩ thuật esemble:

  • Boosting
  • Bootstrapped Aggregation (Bagging)
  • AdaBoost
  • Stacked Generalization (blending)
  • Gradient Boosting Machines (GBM)
  • Gradient Boosted Regression Trees (GBRT)
  • Random Forest

The 40 data science techniques

big data algorithms

big data algorithms

  1. Linear Regression
  2. Logistic Regression
  3. Jackknife Regression *
  4. Density Estimation
  5. Confidence Interval
  6. Test of Hypotheses
  7. Pattern Recognition
  8. Clustering – (aka Unsupervised Learning)
  9. Supervised Learning
  10. Time Series
  11. Decision Trees
  12. Random Numbers
  13. Monte-Carlo Simulation
  14. Bayesian Statistics
  15. Naive Bayes
  16. Principal Component Analysis – (PCA)
  17. Ensembles
  18. Neural Networks
  19. Support Vector Machine – (SVM)
  20. Nearest Neighbors – (k-NN)
  21. Feature Selection – (aka Variable Reduction)
  22. Indexation / Cataloguing *
  23. (Geo-) Spatial Modeling
  24. Recommendation Engine *
  25. Search Engine *
  26. Attribution Modeling *
  27. Collaborative Filtering *
  28. Rule System
  29. Linkage Analysis
  30. Association Rules
  31. Scoring Engine
  32. Segmentation
  33. Predictive Modeling
  34. Graphs
  35. Deep Learning
  36. Game Theory
  37. Imputation
  38. Survival Analysis
  39. Arbitrage
  40. Lift Modeling
  41. Yield Optimization
  42. Cross-Validation
  43. Model Fitting
  44. Relevancy Algorithm *
  45. Experimental Design

Nguồn tham khảo:

Góp nhặt kinh nghiệm làm nghề Data scientist

A good data scientist knows how to do something really well, but a great data scientist can do “something of everything.” From raw data all the way to shining in front of C-level executives, a great data scientist has the skills to architect data systems, build applications, perform modeling and machine learning and wrap up the results in a clear (and quickly iterable) manner. From data models to ETL to databases to distributed algorithms and learning, this book has you covered.

Data Science with Java

Qua thời gian làm việc cũng như tìm tòi tài liệu, sách báo về machine learning, nếu vai trò của bạn là Data Scientist/Data Engieer/Data Analyst thì phần lớn bạn sẽ nhận được những chia sẻ kinh nghiệm bên dưới. Trong bài viết này, mình sẽ tổng hợp lại những kinh nghiệm trong ngành Data Science để dễ dàng tham khảo sau này.

Modern data scientist

Modern data scientist

Tiếp tục đọc

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

machine-learning-cheet-sheet

machine-learning-cheet-sheet

Nếu tôi hỏi khách hàng xem họ muốn gì, có lẽ họ sẽ nói rằng họ muốn có một con ngựa biết chạy nhanh hơn
– Henry Ford

Trong thực tế, trước khi giải bất kỳ bài toán nào, việc đầu tiên chúng ta cần làm đó là xác định vấn đề. Đặc biệt khi làm trong lĩnh vực Machine Learning (ML), nhiều khi bài toán do các doanh nghiệp đặt ra khá mơ hồ và không cụ thể khiến cho quá trình xây dựng mô hình dự đoán đi đến ngõ cụt hoặc không đáp ứng được yêu cầu của khách hàng. Vậy làm thế nào để có thể xác định được bài toán hiện tại thuộc loại bài toán nào để giải quyết bằng ML? Bài viết này sẽ liệt kê các câu hỏi nghiên cứu và đưa ra bài toán cụ thể để giải bằng ML.

Tiếp tục đọc

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

Machine learning workflow

Machine learning workflow

Thông thường khi bắt tay làm việc với Machine Learning, đa số chúng ta đều mong muốn áp dụng ngay các thuật toán đã học vào bài toán của mình. Tuy nhiên, trong thực tế, mọi thứ đều không đơn giản như vậy. Ngoài kĩ năng thu thập và tiền xử lý dữ liệu, trong bài viết này, tôi sẽ đề cập đến những kĩ năng cần thiết khác để góp phần cải tiến độ chính xác của mô hình dự đoán của mình.

Tiếp tục đọc

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

Statistics for Hackers

Statistics for Hackers

Hai kỹ năng cần có của các data scientist là kỹ thuật lập trình và tư duy thống kê. Nhiều data scientist hiện nay có kỹ thuật lập trình rất tốt nhưng họ cảm thấy như là kẻ mạo danh khi nói đến các số liệu thống kê. Trong buổi nói chuyện này, John sẽ lập luận rằng khả năng lập trình máy tính cho phép bạn có những ý tưởng sâu sắc và cơ bản nhất về thống kê học. Mục tiêu của John là thuyết phục các kỹ sư không chuyên về thống kê rằng lộ trình để hiểu thấu đáo các khái niệm trong thống kê học ngắn hơn bạn tưởng.

Lĩnh vực thống kê từ lâu đã có tiếng là khó nhai: nó xoay quanh các biệt ngữ dường như vô tận về phân phối, kiểm định thống kê, khoảng tin cậy, chỉ số p, và hơn thế nữa, với các khái niệm và các giả định tinh tế của riêng chúng. Nhưng ta không nhất thiết phải đi theo cách này. Trong slide trình bày dưới đây, Jake sẽ thảo luận về cách sử dụng kỹ năng lập trình để “hack các lý thuyết thống kê” – để thay thế một số lý thuyết và biệt ngữ khó hiểu bằng phương pháp tính toán trực quan như lấy mẫu (sampling), xáo trộn ngẫu nhiên (shuffling), kiểm chứng chéo (cross-validation), và các phương pháp Bayesian – để thấy rằng ta có thể nắm bắt được các khái niệm cơ bản chỉ cần bạn có thể viết được vài vòng lặp để làm phân tích thống kê.

Tham khảo thêm: