Hướng dẫn perceptron trong python - perceptron trong python
Nguồn: Edureka Show
Ở phần 2 chúng ta đã tìm hiểu qua 4 chủ đề:
TIếp theo ở phần này, cúng ta sẽ tìm hiểu tiếp các chủ đề sau:
9. Machine Learning With PythonTrong phần này, chúng tôi sẽ triển khai Machine Learning bằng cách sử dụng Python. Hãy bắt đầu nào. Problem Statement (Báo cáo sự cố): Để xây dựng mô hình Machine Learning, dự đoán ngày mai có mưa hay không bằng cách nghiên cứu dữ liệu trong quá khứ. Để xây dựng mô hình Machine Learning, dự đoán ngày mai có mưa hay không bằng cách nghiên cứu dữ liệu trong quá khứ. Data Set Description (Mô tả tập dữ liệu): Tập dữ liệu này chứa khoảng 145k quan sát về điều kiện thời tiết hàng ngày như được quan sát từ nhiều trạm thời tiết ở Úc. Tập dữ liệu có khoảng 24 tính năng và chúng tôi sẽ sử dụng 23 tính năng (biến dự đoán Predictor variables) để dự đoán biến mục tiêu (target variable), đó là “RainTomorrow”. Tập dữ liệu này chứa khoảng 145k quan sát về điều kiện thời tiết hàng ngày như được quan sát từ nhiều trạm thời tiết ở Úc. Tập dữ liệu có khoảng 24 tính năng và chúng tôi sẽ sử dụng 23 tính năng (biến dự đoán Predictor variables) để dự đoán biến mục tiêu (target variable), đó là “RainTomorrow”. Tải tập dữ liệu weatherAUS: ở đây. Biến mục tiêu này (RainTomorrow) sẽ lưu trữ hai giá trị:
Do đó, đây rõ ràng là một vấn đề phân loại (classification problem). Mô hình Machine Learning sẽ phân loại đầu ra thành 2 lớp, YES hoặc NO.YES hoặc NO. Logic: Xây dựng các mô hình Phân loại (Classification models) để dự đoán ngày mai trời sẽ mưa hay không dựa trên các điều kiện thời tiết. Xây dựng các mô hình Phân loại (Classification models) để dự đoán ngày mai trời sẽ mưa hay không dựa trên các điều kiện thời tiết. Bây giờ mục tiêu đã rõ ràng, hãy để bộ não của chúng ta hoạt động và bắt đầu viết mã. Bước 1: Nhập các thư viện cần thiết
Bước 2: Tải tập dữ liệu
Chạy lệnh 4 sẽ hiển thị kết quả:Bước 3: Xử lý dữ liệu
Và kết quả: Lưu ý đầu ra, nó cho thấy bốn cột đầu tiên có hơn 40% giá trị null, do đó, tốt nhất là nếu chúng ta thoát khỏi các cột này. Trong quá trình tiền xử lý dữ liệu luôn cần phải loại bỏ các biến không đáng kể. Dữ liệu không cần thiết sẽ chỉ làm tăng tính toán của chúng tôi. Do đó, chúng tôi sẽ xóa biến 'vị trí' và biến 'ngày' vì chúng không có ý nghĩa trong việc dự đoán thời tiết. Chúng tôi cũng sẽ xóa biến 'RISK_MM' vì chúng tôi muốn dự đoán 'RainTomorrow' và RISK_MM (lượng mưa vào ngày hôm sau) có thể rò rỉ một số thông tin cho mô hình của chúng tôi.
Tiếp theo, chúng tôi sẽ xóa tất cả các giá trị null trong khung dữ liệu của chúng tôi.
Sau khi loại bỏ các giá trị null, chúng tôi cũng phải kiểm tra tập dữ liệu của chúng tôi xem có bất kỳ ngoại lệ nào không. Một ngoại lệ là một điểm dữ liệu khác biệt đáng kể so với các quan sát khác. Các ngoại lệ thường xảy ra do tính toán sai trong khi thu thập dữ liệu. Trong đoạn mã dưới đây, chúng tôi sẽ loại bỏ các ngoại lệ:
Kết quả ghi được: Tiếp theo, chúng tôi sẽ chỉ định 5 và 6 ở vị trí của 7 và 8.
Bây giờ, thời gian chuẩn hóa dữ liệu để tránh bất kỳ sự bực bội nào trong khi dự đoán kết quả. Để làm điều này, chúng ta có thể sử dụng hàm 9 có trong thư viện 0.
Kết quả sẽ là: Bước 4: Phân tích dữ liệu thăm dò (EDA) Bây giờ chúng tôi đã xử lý trước bộ dữ liệu, đã đến lúc kiểm tra phân tích thực hiện và xác định các biến quan trọng sẽ giúp chúng tôi dự đoán kết quả. Để làm điều này, chúng tôi sẽ sử dụng hàm 1 có trong thư viện 0:
Đầu ra cho chúng ta ba biến dự đoán quan trọng nhất:
3Mục đích chính của bản demo này là để giúp bạn hiểu cách thức hoạt động của Machine Learning, do đó, để đơn giản hóa các tính toán, chúng tôi sẽ chỉ gán một trong các biến quan trọng này làm đầu vào.
Trong đoạn mã trên, 4 và 5 biểu thị đầu vào và đầu ra tương ứng.Bước 5: Xây dựng Machine Learning Model Ở bước này, chúng tôi sẽ xây dựng mô hình Machine Learning bằng cách sử dụng training data set và đánh giá hiệu quả của mô hình bằng cách sử dụng testing data set. Chúng tôi sẽ xây dựng các mô hình phân loại bằng cách sử dụng các thuật toán sau:
Dưới đây là đoạn mã cho từng mô hình phân loại sau: Logistic Regression 0Random Forest 1Decision Tree 2Support Vector Machine 3Dưới đây là đoạn mã cho từng mô hình phân loại sau: Random Forest Classifier
10. Limitations Of Machine LearningSau đây là những hạn chế của Machine Learning:
Những hạn chế trên có thể được giải quyết bằng cách sử dụng Deep Learning. 11. Why Deep Learning?
Bây giờ hãy để cho hiểu về cách thức hoạt động của Deep Learning. 12. How Deep Learning Works?Deep Learning mimics the basic component of the human brain called a brain cell or a neuron. Inspired from a neuron an artificial neuron was developed. (Deep Learning bắt chước thành phần cơ bản của bộ não con người gọi là tế bào não hoặc tế bào thần kinh. Lấy cảm hứng từ một tế bào thần kinh, một tế bào thần kinh nhân tạo đã được phát triển.) Deep Learning dựa trên chức năng của một tế bào thần kinh sinh học, vì vậy, hãy hiểu cách chúng ta bắt chước chức năng này trong tế bào thần kinh nhân tạo (còn được gọi là perceptionron):
Bây giờ hãy hiểu chính xác Deep Learning là gì 13. What Is Deep Learning?Deep Learning is a collection of statistical machine learning techniques used to learn feature hierarchies based on the concept of artificial neural networks. (Deep Learning là tập hợp các kỹ thuật học máy thống kê được sử dụng để học phân cấp tính năng dựa trên về khái niệm neural networks nhân tạo.) Một Deep neural network bao gồm các lớp sau:
Trong hình trên:
Deep Learning được sử dụng trong các trường hợp sử dụng tính toán cao như Xác minh khuôn mặt, xe tự lái, v.v. Hãy hiểu tầm quan trọng của Deep Learning bằng cách xem xét trường hợp sử dụng trong thế giới thực. 14. Deep Learning Use CaseXem xét cách PayPal sử dụng Deep Learning để xác định mọi hoạt động gian lận có thể có. PayPal đã xử lý hơn 235 tỷ đô la thanh toán từ bốn tỷ giao dịch của hơn 170 triệu khách hàng. PayPal đã sử dụng thuật toán Machine learning và Deep Learning để khai thác dữ liệu từ lịch sử mua hàng của khách hàng ngoài việc xem xét các mẫu gian lận có khả năng được lưu trữ trong cơ sở dữ liệu của mình để dự đoán liệu một giao dịch cụ thể có lừa đảo hay không. Công ty đã dựa vào công nghệ Deep Learning & Machine Learning trong khoảng 10 năm. Ban đầu, nhóm giám sát gian lận sử dụng các mô hình tuyến tính đơn giản. Nhưng qua nhiều năm, công ty đã chuyển sang một công nghệ Machine Learning tiên tiến hơn có tên là Deep Learning. Quản lý rủi ro gian lận và Nhà khoa học dữ liệu tại PayPal, Ke Wang, trích dẫn: What we enjoy from more modern, advanced machine learning is its ability to consume a lot more data, handle layers and layers of abstraction and be able to ‘see’ things that a simpler technology would not be able to see, even human beings might not be able to see. (Những gì chúng ta thích từ học máy hiện đại hơn, tiên tiến hơn là khả năng tiêu thụ nhiều dữ liệu hơn, xử lý các lớp và các lớp trừu tượng và có thể nhìn thấy những thứ mà một công nghệ đơn giản hơn không thể nhìn thấy, thậm chí con người có thể không thể nhìn thấy.) Một mô hình tuyến tính đơn giản có khả năng tiêu thụ khoảng 20 biến. Tuy nhiên, với công nghệ Deep Learning, người ta có thể chạy hàng ngàn điểm dữ liệu. "There’s a magnitude of difference — you’ll be able to analyze a lot more information and identify patterns that are a lot more sophisticated" (Càng có một sự khác biệt lớn - bạn có thể phân tích nhiều thông tin hơn và xác định các mẫu phức tạp hơn rất nhiều, theo Ke Ke Wang.) Do đó, bằng cách triển khai công nghệ Deep Learning, PayPal cuối cùng có thể phân tích hàng triệu giao dịch để xác định bất kỳ hoạt động gian lận nào. Để hiểu rõ hơn về Deep Learning, hãy hiểu cách thức hoạt động của Perceptron. 15. What Is A Perceptron?Perceptron là một neural network một lớp được sử dụng để phân loại dữ liệu tuyến tính. Perceptionron có 4 thành phần quan trọng:
Logic cơ bản đằng sau một perceptron như sau: Các đầu vào (x) nhận được từ lớp đầu vào được nhân với trọng số được chỉ định w. Các giá trị nhân sau đó được thêm vào để tạo thành Tổng trọng số (Weighted Sum). Tổng trọng số của các yếu tố đầu vào và trọng lượng tương ứng của chúng sau đó được áp dụng cho Hàm kích hoạt (Activation Function) có liên quan. Hàm kích hoạt ánh xạ đầu vào thành đầu ra tương ứng. Weights and Bias In Deep Learning Tại sao chúng ta phải gán trọng số (weights) cho từng đầu vào? Khi một biến đầu vào được đưa vào network, một giá trị được chọn ngẫu nhiên được gán là trọng số của đầu vào đó. Trọng số của từng điểm dữ liệu đầu vào cho biết tầm quan trọng của đầu vào đó trong việc dự đoán kết quả. Mặt khác, tham số bias cho phép bạn điều chỉnh đường cong chức năng kích hoạt theo cách đạt được đầu ra chính xác. Summation Function Activation or transformation Function Logic cơ bản đằng sau một perceptron như sau: Các đầu vào (x) nhận được từ lớp đầu vào được nhân với trọng số được chỉ định w. Các giá trị nhân sau đó được thêm vào để tạo thành Tổng trọng số (Weighted Sum). Tổng trọng số của các yếu tố đầu vào và trọng lượng tương ứng của chúng sau đó được áp dụng cho Hàm kích hoạt (Activation Function) có liên quan. Hàm kích hoạt ánh xạ đầu vào thành đầu ra tương ứng. Weights and Bias In Deep Learning Tại sao chúng ta phải gán trọng số (weights) cho từng đầu vào? Khi một biến đầu vào được đưa vào network, một giá trị được chọn ngẫu nhiên được gán là trọng số của đầu vào đó. Trọng số của từng điểm dữ liệu đầu vào cho biết tầm quan trọng của đầu vào đó trong việc dự đoán kết quả.Mặt khác, tham số bias cho phép bạn điều chỉnh đường cong chức năng kích hoạt theo cách đạt được đầu ra chính xác. Khi các đầu vào được gán một số trọng lượng, sản phẩm của đầu vào và trọng lượng tương ứng được lấy. Thêm tất cả các sản phẩm này cung cấp cho chúng tôi Sum có trọng số. Điều này được thực hiện bởi hàm tổng. Activation Function Mục đích chính của các chức năng kích hoạt là ánh xạ tổng trọng số vào đầu ra. Các hàm kích hoạt như tanh, ReLU, sigmoid, v.v là những ví dụ về các hàm biến đổi. Để tìm hiểu thêm về các chức năng của Perceptron, bạn có thể xem qua blog Deep Learning: Perceptron Learning Algorithm. Bây giờ hãy hiểu về khái niệm đa lớp Perceptionron. 16. Multilayer Perceptrons Why Multilayer Perceptron Is Used? Một lớp Perceptionron không có khả năng xử lý dữ liệu chiều cao và chúng có thể được sử dụng để phân loại dữ liệu phân tách phi tuyến tính. Do đó, các vấn đề phức tạp, liên quan đến một số lượng lớn các tham số có thể được giải quyết bằng cách sử dụng Multilayer Perceptrons. là logic đằng sau Perceptionrons đa lớp. Phương pháp này được sử dụng để cập nhật các trọng số sao cho biến đầu vào quan trọng nhất có trọng số tối đa, do đó giảm lỗi trong khi tính toán đầu ra. What Is A Multilayer Perceptron? |