Sự khác biệt giữa Naive Bayes và Mạng thần kinh tái phát (LSTM)


8

Tôi muốn thực hiện phân tích tình cảm trên văn bản, đã trải qua một số bài viết, một số trong số họ đang sử dụng "Naive Bayes" và một số khác là "Mạng thần kinh tái phát (LSTM)" , mặt khác tôi đã thấy một thư viện python để phân tích tình cảm là nltk. Nó sử dụng "Naive Bayes" bất cứ ai có thể giải thích sự khác biệt giữa việc sử dụng hai là gì?

Tôi cũng đã trải qua bài viết này, nhưng không rõ ràng về cả hai ..

Sự khác biệt giữa mạng Bayes, mạng thần kinh, cây quyết định và lưới Petri

Câu trả lời:


14

Về sự khác biệt giữa Naive Bayes và Mạng thần kinh tái phát

Trước hết, hãy bắt đầu bằng cách nói rằng cả hai đều là phân loại, nhằm giải quyết vấn đề gọi là phân loại thống kê . Điều này có nghĩa là bạn có rất nhiều dữ liệu (trong các bài viết trong trường hợp của bạn) được chia thành hai hoặc nhiều loại (trong trường hợp của bạn là tình cảm tích cực / tiêu cực). Mục tiêu của trình phân loại là tìm hiểu cách các bài viết được chia thành hai loại đó và sau đó có thể tự phân loại các bài viết mới.

Hai mô hình có thể giải quyết nhiệm vụ này là trình phân loại Naive Bayes và Mạng thần kinh tái phát.

Naive Bayes
Để sử dụng trình phân loại này để phân tích văn bản, bạn thường xử lý trước văn bản ( túi từ + tf-tdf ) để bạn có thể chuyển đổi nó thành các vectơ chứa giá trị số. Các vectơ này đóng vai trò là đầu vào cho mô hình NB.
Trình phân loại này giả định rằng các tính năng của bạn (các thuộc tính của vectơ chúng tôi tạo ra) độc lập với nhau. Khi giả định này được giữ vững, nó là một bộ phân loại rất mạnh đòi hỏi rất ít dữ liệu để hoạt động.

Mạng thần kinh định kỳ
Đây là các mạng đọc dữ liệu của bạn một cách tuần tự, trong khi vẫn giữ "bộ nhớ" về những gì họ đã đọc trước đó. Chúng thực sự hữu ích khi xử lý văn bản vì các từ tương quan có giữa chúng.

Hai mô hình (NB và RNN) khác nhau rất nhiều trong cách họ cố gắng thực hiện phân loại này:

  • NB thuộc về một loại mô hình được gọi là thế hệ . Điều này có nghĩa là trong quá trình đào tạo (quy trình mà thuật toán học phân loại), NB cố gắng tìm hiểu làm thế nào dữ liệu được tạo ra ở nơi đầu tiên. Về cơ bản, nó cố gắng tìm ra phân phối cơ bản đã tạo ra các ví dụ bạn nhập vào mô hình.

  • Mặt khác, RNN là một mô hình phân biệt đối xử . Nó cố gắng tìm ra sự khác biệt giữa các ví dụ tích cực và tiêu cực của bạn, để thực hiện phân loại.

Tôi đề nghị truy vấn "thuật toán phân biệt đối xử và khái quát" nếu bạn muốn tìm hiểu mire

Trong khi NB đã phổ biến trong nhiều thập kỷ, RNN bắt đầu tìm thấy các ứng dụng trong thập kỷ qua vì nhu cầu của họ đối với các tài nguyên tính toán cao. RNN hầu hết thời gian được đào tạo về GPU chuyên dụng (tính toán nhanh hơn rất nhiều so với CPU).

tl; dr: chúng là hai cách rất khác nhau để giải quyết cùng một nhiệm vụ

Thư viện

Bởi vì hai thuật toán rất phổ biến, chúng có các triển khai trong nhiều thư viện. Tôi sẽ đặt tên cho một vài thư viện python kể từ khi bạn đề cập đến nó:

Đối với NB:

  • scikit-learn : là một thư viện python rất dễ sử dụng có chứa các triển khai của một số thuật toán học máy, bao gồm Naive Bayes.

  • NaiveBayes : chưa sử dụng nhưng tôi đoán nó có liên quan đến việc đánh giá tên.

Bởi vì RNN được coi là một thuật toán học sâu , chúng có các triển khai trong tất cả các thư viện học sâu chính:

  • TensorFlow : Thư viện DL phổ biến nhất tại thời điểm này. Được xuất bản và duy trì bởi google.

  • theano : Thư viện tương tự như tf, cũ hơn, được xuất bản bởi Đại học Montreal.

  • máy ảnh : Wrapper cho tf và theano. Dễ dàng hơn nhiều. Những gì tôi đề nghị bạn sử dụng nếu bạn muốn thực hiện RNNs.

  • caffe : thư viện DL được xuất bản bởi UC Berkeley. Có API python.

Tất cả các ưu đãi trên đều hỗ trợ GPU nếu bạn có GPU NVIDIA hỗ trợ CUDA.

Python's NLTK là một thư viện chủ yếu để xử lý ngôn ngữ tự nhiên (gắn thẻ, token hóa, gắn thẻ một phần của bài giảng). Mặc dù nó có một gói tình cảm , nó không phải là điểm tập trung. Tôi khá chắc chắn NLTK sử dụng NB để phân tích tình cảm.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.