Thống kê ứng dụng 3: Các vấn đề trong thống kê

ANOVA

Trong phần 1, ta đã biết về các khái niệm: means, median, standard deviations. Phần 2, ta cũng đã biết cách tính confidence interval và thực hiện hypothesis testing như thế nào. Trong phần cuối series học thống kê thông qua lập trình Jupyter notebook, ta giải quyết các vấn đề trong thống kê gồm:

  • Tính khoảng tin cậy như thế nào nếu mẫu dữ liệu thu thập nhỏ hơn 30?
  • So sánh hai quần thể xem chúng có khác biệt nhau hay không (thường ứng dụng trong A/B testing)?
  • Làm sao để kiểm tra 2 bản báo cáo lượt view giữa Facebook và Google bằng Chi-square?
  • ANOVA trong việc phân tích mức độ yêu thích của người dùng giữa các bộ phim?

Download: Jupyter notebook

Advertisements

Thống kê ứng dụng 2: Suy luận thống kê

Statistics for Hackers

Ở phần trước, ta đã tìm hiểu các khái niệm cơ bản của thống kê như means, median, standard deviations, probability, normal distribution, central limit theorem. Những độ đo này giúp ta hiểu biết tổng quan về dữ liệu đang phân tích. Trong phần tiếp theo, ta sẽ tìm hiểu về suy luận thống kê từ các độ đo này. Ta sẽ biết thế nào là độ lỗi chuẩn (standard error), làm sao để tính khoảng tin cậy (confidence interval) cho một mẫu bất kỳ vừa thu thập được, và thực hiện kiểm định giải thuyết như thế nào cho những câu hỏi được đặt ra.

Tất cả những thao tác này được gọi là suy luận thống kê (inferential statistics). Ví dụ, một lớp học gồm 50 học sinh. Trong đó, các bạn nữ cho rằng mỗi lần khảo bài thì họ bị gọi lên nhiều hơn các bạn nam. Họ cho rằng như vậy giáo viên đã thiên vị. Còn giáo viên thì cho rằng họ thực hiện điều này một cách ngẫu nhiên. Vậy ai đúng trong trường hợp này. Thông qua suy luận thống kê, ta sẽ tiến hành lấy mẫu thực nghiệm, đặt giả thuyết thống kê, xác định ngưỡng bác bỏ \alpha, tính toán z-score và p-value, cuối cùng là so sánh \alpha và p-value để xem kết luận cuối cùng là gì.

Download: Jupyter notebook

Xem thêm:

Thống kê ứng dụng 1: Quan sát dữ liệu

rating_histogram

Học thống kê thông qua lập trình sẽ giúp ta không chỉ kiểm chứng lại lý thuyết đã học mà còn hỗ trợ nắm bắt các khái niệm phức tạp một cách dễ dàng hơn. Thêm vào đó, ta sẽ biết cách ứng dụng những kiến thức này vào trong công việc khi cần thiết.

Ta sử dụng Jupyter notebook để điểm qua các khái niệm, thao tác cơ bản giúp quan sát và mô tả dữ liệu. Ta sẽ phân biệt được các loại dữ liệu (nomial, numbers, odinal, ratio) trong dataset như thế nào, tìm trọng tâm của tập dữ liệu, quan sát sự biến đổi của dữ liệu thông qua các chỉ số cơ bản (range, variance, standard deviation, z-score, percentile), cùng với một vài nguyên lý tính xác suất Bayes và cách mô phỏng central limit theorem.

z_score_distribution

central_limit_on_rating

Information extraction – Bài toán rút trích thông tin trong văn bản

brat_annotation_tools

Trong bài viết này, ta sẽ khảo sát bài toán Rút trích thông tin (Information extraction – IE), một nhánh nghiên cứu nâng cao thiên về rút trích thông tin ngữ nghĩa trong văn bản. Từ đây, ta sẽ có nhiều ứng dụng cho nhiều domain như Web mining (rút trích tên người nổi tiếng, sản phẩm đang hot, so sánh giá sản phẩm, nghiên cứu đối thủ cạnh tranh, phân tích tâm lý khách hàng), Biomedical, Business intelligent, Financial professional (đánh giá thị trường từ các nguồn khác nhau: giá xăng dầu tăng giảm, thông tin chiến tranh, chính trị giữa các nước, điều luật mới trong thị trường kinh doanh), Terrism event (sử dụng vũ khí gì, đối tượng tấn công là ai).

Sau các bước tiền xử lý thiên về từ vựng và cú pháp như tách câu, tách từ, phân tích cú pháp, gán nhãn từ loại. Từ IE ta sẽ đơn giản hóa thành các bài toán con gồm: Rút trích tên thực thể (Named entity recognition – NER: people, organization, location), phân giải đồng tham chiếu (Coreference resolution) và Rút trích quan hệ giữa hai thực thể (Relation extraction – RE: founderOf, headQuarteredIn). Các mô hình khi thực nghiệm sẽ được đánh giá thông qua các chỉ số Precision, Recall, F1-score. Dưới đây là một ví dụ về rút trích quan hệ trong câu.

Continue reading “Information extraction – Bài toán rút trích thông tin trong văn bản”

SMA 2017 – Lý thuyết ra quyết định

bayesian_mindset

Khi làm việc với các bài toán ra quyết định, xác suất thống kê được sử dụng rất nhiều trong việc đưa ra những dự báo mang hàm nghĩa không chắc chắn. Ta chỉ có thể cung cấp kết quả dự đoán đại loại như 86%, 91%, hay 99% nhưng không bao giờ bạn chắc chắn được 100%. Bù lại kết quả này cho bạn biết, khi ra quyết định 100 lần thì ít ra bạn cũng đạt được chừng ấy mục tiêu của mình, đồng thời bạn cũng sẵn sàng chấp nhận trả giá cho những phần trăm còn lại.

Tham dự khoá học SMA-2017 cũng là cơ hội cho tôi ôn lại kiến thức lý thuyết xác suất thống kê đã từng bỏ bê thời còn đi học. Đặc biệt là hướng tiếp cận của Bayesian đang được cộng đồng nghiên cứu và áp dụng rất nhiều trong việc dự báo tương lai. Buổi học bắt đầu bằng những kiến thức căn bản để học viên có thể bắt nhịp lại các khái niệm, các thuật ngữ, lý do tại sao ngành thống kê ra đời. Sau đó là những so sánh chi tiết hơn giữa hướng tiếp cận truyền thống và hướng tiếp cận của Bayesian. Thống kê truyền thống (classical statistics) thường tin vào xác suất tính được sẽ luôn lặp lại đúng như vậy và dùng nó để dự đoán trong tương lai, nghĩa là nếu tung đồng xu 1000 lần ta có tỉ lệ head/tail đều là 70/30 thì các lượt tung tiếp theo tỉ lệ head xuất hiện sẽ cao hơn tail. Ngược lại, Bayesian sử dụng dữ liệu thu thập được theo thời gian để điều chỉnh lại niềm tin ban đầu (prior knowledge) này sao cho ít bị chủ quan hơn, nhờ vậy mà dự đoán trong tương lai sẽ thận trọng hơn nhiều.

Ở đây là ghi chú cũng khá ngắn gọn của tôi, mặc dù đã cố gắng hoàn chỉnh lại nội dung để bạn đọc dễ theo dõi và tìm hiểu nhưng sẽ còn nhiều chỗ khó hiểu cần tham khảo các nguồn tài liệu bên ngoài, nên tôi cũng cung cấp thêm các đường link liên quan, các bạn có thể từ đó bù đắp lại các kiến thức mơ hồ. Hoặc bạn cũng có thể sử dụng bài viết này để làm cheat sheet tham khảo nhanh cho công việc hiện tại của mình.

Continue reading “SMA 2017 – Lý thuyết ra quyết định”

SMA 2017 – Lý thuyết tập thô (P4) – Rút trích luật quyết định

rules_extraction
rules_extraction

Trong thực tế, mặc dù đã có trong tay nhiều thông tin nhưng sự nhập nhằng và mơ hồ luôn tồn tại trong quá trình đưa ra quyết định. Trong quyết định, có quyết định an toàn và chắc chắn như bỏ vốn tiết kiệm vào ngân hàng và biết trước lãi suất hằng năm là bao nhiêu. Cũng có quyết định mang tính rủi ro như đầu tư chứng khoán, ta chỉ biết một vài thông tin về công ty hay lịch sử giao dịch quá khứ, cũng có thể đây là công ty mới lên sàn và không hề có bất kỳ thông tin gì. Ngoài ra, còn có những quyết định mang tính đánh đổi như quyết định giữa việc tiếp tục đi làm hay tự startup công ty để tăng nguồn thu nhập cho bản thân, …

Các thuật toán Machine learning bạn từng biết như Decision tree, Association rules, … cũng hỗ trợ ra quyết định. Trong bài viết này, ta hãy thử tìm hiểu lý thuyết tập thô có giúp cho chúng ta tìm ra quyết định chính xác và phù hợp hay không.

Continue reading “SMA 2017 – Lý thuyết tập thô (P4) – Rút trích luật quyết định”

SMA 2017 – Lý thuyết tập thô (P3) – Rút gọn thuộc tính

rough_set_attribute_reduction
rough_set_attribute_reduction

Rút gọn thuộc tính hay lựa chọn thuộc tính là bước quan trọng trong xây dựng mô hình dự đoán. Khi thu thập dữ liệu, ta sẽ tiến hành lấy tất cả thông tin liên quan đến đối tượng cần xét càng nhiều càng tốt. Điều này dẫn đến dữ liệu sẽ bị dư thừa và không phải thuộc tính thông tin nào cũng cần thiết trong mô hình dự đoán. Do đó, việc xác định và loại bỏ được các thuộc tính dư thừa trong tập dữ liệu là điều cần thiết trước khi xây dựng mô hình ML cho hệ thống.

Việc rút gọn hay loại bỏ được các thuộc tính dư thừa giúp cải thiện độ chính xác của mô hình, giảm bớt overfitting, đẩy nhanh quá trình tính toán giúp tiết kiệm tài nguyên và chi phí. Tiếp theo phần 2, bài viết này tập trung vào đánh giá và rút gọn thuộc tính để trích chọn ra những đặc trưng mang mức độ ý nghĩa cao cho hệ thông tin của chúng ta.

Continue reading “SMA 2017 – Lý thuyết tập thô (P3) – Rút gọn thuộc tính”

SMA 2017 – Lý thuyết tập thô (P2) – Rời rạc hoá thuộc tính

discretization
discretization

Tiếp theo phần 1, ở phần này, tôi sẽ đi tiếp làm thế nào để rời rạc hoá dữ liệu. Trong thực tế, các kiểu dữ liệu trong hệ thông tin của chúng ta không chỉ có kiểu dữ liệu số nguyên mà còn nhiều loại dữ liệu phức tạp khác như kiểu dữ liệu số thực, kiểu dữ liệu phạm trù, … Lý thuyết tập thô muốn làm việc được trên tập dữ liệu này, ta cần rời rạc hoá tập dữ liệu thành các khoảng đoạn. Ở đây, ta có hai hướng tiếp cận là kĩ thuật chia giỏ và rút gọn bảng nhị phân.

Continue reading “SMA 2017 – Lý thuyết tập thô (P2) – Rời rạc hoá thuộc tính”

SMA 2017 – Lý thuyết tập thô (P1) – Các khái niệm cơ bản

rough_set
rough_set

Đây là những ghi chú của tôi sau khoá học SMA 2017. Tôi xin chia sẻ những gì đã học được qua buổi dạy “Lý thuyết tập thô” của thầy Đặng Phước Huy từ Đại học Đà Lạt. Hơn 40 năm trong nghề và trong mười mấy năm gần đây, thầy đã tìm hiểu về lý thuyết tập thô của Pawlak rất hay, có thể áp dụng vào thống kê rất tốt nên muốn chia sẻ cho chúng ta những ứng dụng của lý thuyết này vào khai thác dữ liệu. Hy vọng những bạn quan tâm có thể áp dụng ngay vào thực tiễn.

Mới đầu thì nghe topic có vẻ hơi “thô” nhưng thật ra không hề thô tý nào. Về ứng dụng thì nó có thể dùng trong rút trích đặc trưng, tối giản hoá tập dữ liệu, rút trích hình mẫu trong dữ liệu, phát sinh luật hỗ trợ ra quyết định, … Thêm vào đó, cách diễn đạt của thầy rất có hồn và dễ hiểu không khô khan như các ký tự toán học trên giấy. Thầy sẽ đi từ ví dụ trước khi quay lại các lập luận toán học nên bạn sẽ cảm thấy dễ hiểu hơn. Các thuật ngữ tiếng Anh, tiếng Việt đều được giải nghĩa và làm rõ để có thể tiếp cận lý thuyết này nhanh nhất. Qua khoá học này, đảm bảo các bạn có thể cài đặt và áp dụng được ngay. Tôi cũng dự định sẽ cài đặt để áp dụng thử vào project hiện tại của mình.

Continue reading “SMA 2017 – Lý thuyết tập thô (P1) – Các khái niệm cơ bản”

TensorFlow – thư viện code Deep Learning

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.

Continue reading “TensorFlow – thư viện code Deep Learning”

Gán nhãn từ loại (Part-of-Speech tagging POS)

Tagging problem
Tagging problem

Trong nhiều tác vụ của Xử lý ngôn ngữ tự nhiên (XLNNTN), ta mong muốn xây dựng được một mô hình mà chuỗi các quan sát đầu vào (từ, ngữ, câu,…) đi kèm với chuỗi các nhãn đầu ra (từ loại, ranh giới ngữ, tên thực thể,…) gọi là pairs of sequences.

Gán nhãn từ loại (Part-of-speech tagging – POS) có lẽ là bài toán sớm nhất được nghiên cứu và được mọi người biết đến khi nhập môn chuyên ngành XLNNTN. Trong bài viết này, ta sẽ tìm hiểu về bài toán gán nhãn từ loại, các hướng tiếp cận và thuật toán cơ bản để giải quyết vấn đề này.

Continue reading “Gán nhãn từ loại (Part-of-Speech tagging POS)”

Language Modeling là gì

Language model
Language model

Trong bài viết này, ta sẽ tìm hiểu thế nào là một mô hình ngôn ngữ (language modeling). Làm sao để xây dựng được một mô hình ngôn ngữ từ tập các mẫu câu của một ngôn ngữ bất kỳ (Anh, Việt, Nhật, …). Mô hình ngôn ngữ ban đầu được ứng dụng trong nhận dạng tiếng nói (speech recognition) và đã được áp dụng vào trong những tác vụ khác liên quan trong lĩnh vực Xử lý ngôn ngữ tự nhiên (Natural Language Processing – NLP) như gán nhãn từ loại (tagging), phân tích cây cú pháp (parsing), dịch máy (machine translation), …

Tại sao chúng ta cần mô hình ngôn ngữ? Lý do thứ nhất, mô hình này cung cấp cho bạn thông tin về phân bố xác suất tiền nghiệm (prior distribution) p(x_1...x_n) để xét xem câu gồm các từ đầu vào có phù hợp hay không với ngôn ngữ xác định. Ví dụ, ta sẽ có xác suất của câu p(toi \ nay \ duoc \ di \ choi \ roi \ vui \ qua) > p(qua \ roi \ vui \ di \ choi \ toi \ nay \ duoc) nhờ vậy mà ta xác định được câu “tối nay được đi chơi rồi vui quá” sẽ phù hợp hơn với ngôn ngữ tiếng Việt hơn câu hai “quá rồi vui đi chơi tối”. Thứ hai, các kĩ thuật liên quan đến ước lượng tham số cho mô hình thông qua tập dữ liệu huấn luyện cho trước được sử dụng trong các mô hình khác như Hidden Markov Model, Natural Language Parsing. Và cuối cùng, đây là một trong những cơ sở kiến thức để các bạn đọc hiểu được các bài viết liên quan đến Long short-term memory (LSTM).

Continue reading “Language Modeling là gì”

Các bước phân tích dữ liệu

Các bước phân tích dữ liệu

Trong quá khứ, khi bắt đầu nghiên cứu một vấn đề nào đó, ta thường phải tìm kiếm hay thu thập dữ liệu tương ứng với bài toán mà ta đề ra. Nhờ có tiến bộ của internet mà ngày nay ta được tiếp cận với nhiều thông tin hơn, đến nỗi quá nhiều, quá Big khiến cho vấn đề không còn nằm ở chỗ thiếu thông tin nữa mà là làm sao rút trích được những thông tin hữu ích và súc tích nhất cho câu hỏi ban đầu.

Khi đó ta thường đối mặt với những thách thức về dữ liệu như:

  • Làm sao tìm được dữ liệu cho bài toán của mình?
  • Phân tích dữ liệu thu thập được như thế nào?
  • Sau khi phân tích, ta có thể đưa ra được kết luận thú vị nào không cho bài toán đề ra?

Mặc dù mỗi lĩnh vực nghiên cứu khác nhau sẽ có những đòi hỏi và mục tiêu khác nhau, nhưng nhìn chung, ta có thể áp dụng cùng một phương pháp hữu ích như tôi sắp trình bày bên dưới để có thể tiến hành một quy trình phân tích dữ liệu thành công.

Continue reading “Các bước phân tích dữ liệu”

Featured

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

Bắt đầu học Machine Learning

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ể tham khảo bài viết nà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

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

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

AI, Machine Learning, Deep Learning phân biệt như thế nào cho đúng

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

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)

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)

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

Kỹ năng hệ thống

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

Soạn slides bằng Beamer

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

Continue reading “Machine Learning cho người bắt đầu”

Machine Learning và Real-Time Bidding

Real-Time Bidding
Real-Time Bidding

Real-Time Bidding (RTB) tạm dịch là “Đấu gía thời gian thực”. RTB là việc mua bán lượt hiển thị quảng cáo online thông qua cơ chế thời gian thực xảy ra vào lúc trang web đang tải. Những cuộc đấu giá diễn ra dễ dàng hơn bởi ad exchange, demand-side platforms và supply-side platforms (SSP).

RTB khác với các mô hình quảng cáo truyền thống như thế nào? Tại sao chúng ta cần RTB? RTB mang lại lợi ích gì cho các trang mạng (publishers) và các nhà quảng cáo (advertisers)? Machine learning áp dụng vào các hệ thống RTB như thế nào? Qua bài viết này, tôi sẽ trả lời các câu hỏi trên cũng như trình bày những thách thức về Big Data trong RTB và tình hình nghiên cứu hiện nay của Machine Learning vào RTB. Continue reading “Machine Learning và Real-Time Bidding”

Giới thiệu các công cụ Xử lý ngôn ngữ tự nhiên

NLP tools
NLP tools

Nếu bạn đang làm việc và nghiên cứu trên ngôn ngữ tiếng Anh thì ta có thể sử dụng các thư viện/module NLP của Python được liệt kê bên dưới. Mục đích của bài viết này được dùng để liệt kê những thư viện/module và những chức năng hữu ích trong NLP. Các bạn có thể tham khảo danh sách các thuật ngữ liên quan đến các chức năng ở bài viết này.

Continue reading “Giới thiệu các công cụ Xử lý ngôn ngữ tự nhiên”

Các thuật ngữ trong Xử lý ngôn ngữ tự nhiên

Natural Language Processing
Natural Language Processing

Vai trò của Xử lý ngôn ngữ tự nhiên-XLNNTN (Natural Language Processing-NLP) trong khai thác Big Data là không thể phủ nhận trong bối cảnh phát triển của doanh nghiệp hiện nay. Đối với ngôn ngữ tiếng Anh, ta đã được kế thừa nhiều tri thức cũng như nhiều công cụ có sẵn để áp dụng ngay vào thực tiễn. Tuy nhiên, đối với ngôn ngữ tiếng Việt, ta vẫn còn gặp nhiều khó khăn (nhân sự có chuyên môn còn hạn chế, ngữ liệu để huấn luyện chưa đủ lớn) bên cạnh những cơ hội rất lớn (thị trường Việt Nam chưa được khai thác) cho những ai đam mê lĩnh vực này.

Vì vậy, trong bài viết này, tôi xin lập ra danh sách các thuật ngữ thường gặp trong NLP để tiện tham khảo cũng như giúp cho những bạn mới bắt đầu có thể nhanh chóng tra cứu sơ để tiến hành nghiên cứu ngay các tài liệu khoa học. Bài viết sẽ luôn được cập nhật. Nếu có các thuật ngữ chưa rõ, các bạn có thể comment để chúng ta tiếp tục mở rộng thêm danh sách này.

Continue reading “Các thuật ngữ trong Xử lý ngôn ngữ tự nhiên”

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

Outlier
Outlier

Các phần tử ngoại lai (Outliers hay anomalies) có ảnh hưởng lớn đến độ chính xác của các mô hình dự đoán. Phát hiện và xử lý các điểm ngoại lai là một bước quan trọng trong quá trình chuẩn bị dữ liệu cho mô hình dự đoán. Trong bài viết này, ta sẽ tìm hiểu thế nào là điểm ngoại lai trong thống kê cũng như liệt kê một số phương pháp để xử lý các điểm dữ liệu này.

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

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.

Continue reading “Feature engineering là gì”

Đ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: