• About
  • Advertise
  • Privacy & Policy
  • Contact
NQ NEWS
  • Kiến thức tổng hợp
    • Development
    • Deep Learning
    • Cloud Computing
    • Kiến thức bảo mật
    • Tin học văn phòng
  • Thủ thuật
    • Phần Mềm
    • Sửa lỗi máy tính
    • Bảo mật máy tính
    • Tăng tốc máy tính
    • Thủ thuật Wifi
  • Quản trị hệ thống
    • Giải pháp bảo mật
    • Mail Server
    • Mạng LAN – WAN
    • Máy chủ
    • Windows Server 2012
  • Tin tức
No Result
View All Result
  • Kiến thức tổng hợp
    • Development
    • Deep Learning
    • Cloud Computing
    • Kiến thức bảo mật
    • Tin học văn phòng
  • Thủ thuật
    • Phần Mềm
    • Sửa lỗi máy tính
    • Bảo mật máy tính
    • Tăng tốc máy tính
    • Thủ thuật Wifi
  • Quản trị hệ thống
    • Giải pháp bảo mật
    • Mail Server
    • Mạng LAN – WAN
    • Máy chủ
    • Windows Server 2012
  • Tin tức
No Result
View All Result
NQ NEWS
No Result
View All Result
Home Kiến thức tổng hợp Deep Learning

6 bước quan trọng để xây dựng một hệ thống Machine Learning

@admiz by @admiz
09/05/2021
in Deep Learning
0
6 Bước Quan Trọng để Xây Dựng Một Hệ Thống Machine Learning 605d68385104c.png

Tạo ra một hệ thống máy học tuyệt vời là một nghệ thuật.

Có rất nhiều vấn đề cần xem xét khi xây dựng một hệ thống machine learning tốt. Nhưng thường thì chúng ta, những nhà khoa học dữ liệu, chỉ quan tâm đến một số phần của dự án.

Hầu hết thời gian là dành cho việc tao ra mô hình (model), nhưng trong thực tế, thành công hay thất bại của dự án Machine Learning phụ thuộc vào rất nhiều yếu tố khác.

Giải pháp hạ tầng Deep Learning, Trí tuệ Nhân tạo - AI

Một machine learning pipeline không chỉ đơn thuần để tạo ra mô hình

Điều cần thiết là phải hiểu những gì xảy ra trước và sau khi đào tạo mô hình, sau đó triển khai nó trong môi trường production (môi trường vận hành thực tế).

Bài đăng này sẽ giải thích những gì liên quan đến một “pipeline” từ đầu đến cuối cho dự án data science.


1. Định nghĩa vấn đề

Điều này là rõ ràng – Xác định một vấn đề.

Và, đây có thể là phần quan trọng nhất của toàn bộ bài toán.

Vậy, làm thế nào để xác định một vấn đề cho Machine learning?

Vâng, điều đó phụ thuộc vào rất nhiều yếu tố. Trong số tất cả các yếu tố mà chúng tôi xem xét, điều đầu tiên là phải hiểu nó sẽ mang lại lợi ích như thế nào cho doanh nghiệp .

Đó là chén thánh của bất kỳ dự án khoa học dữ liệu nào. Nếu dự án của bạn không giúp ích cho việc kinh doanh, nó sẽ không được triển khai.

Khi bạn có một ý tưởng và bạn xác định khả năng tương thích với doanh nghiệp, bạn cần xác định một số liệu thành công.

Bây giờ, thành công trông như thế nào?

Là nó chính xác 90% hay chính xác 95% hay chính xác 99%.

Chà, tôi có thể hài lòng với độ chính xác dự đoán 70% vì một người bình thường sẽ không vượt qua độ chính xác đó bao giờ và trong khi đó, bạn có thể tự động hóa quy trình.

Coi chừng, đây không phải là lúc để đặt mục tiêu cao cả; đã đến lúc phải logic hóa và cảm nhận về việc mỗi % của độ chính xác thay đổi có thể ảnh hưởng đến thành công như thế nào.

Ví dụ: Đối với vấn đề dự đoán lần nhấp chuột / Ứng dụng gian lận, mức tăng chính xác 1% sẽ thúc đẩy lợi nhuận kinh doanh so với mức tăng chính xác 1% trong dự đoán tình cảm đánh giá.

Không phải tất cả việc gia tăng độ chính xác đều được tạo ra như nhau


2. Dữ liệu

Có một số câu hỏi bạn sẽ cần trả lời tại thời điểm thu thập dữ liệu và tạo dữ liệu cho mô hình học máy của bạn.

Câu hỏi quan trọng nhất để trả lời ở đây là: Mô hình của bạn có cần phải làm việc trong thời gian thực không?

Nếu đó là trường hợp, bạn không thể sử dụng một hệ thống như Hive / Hadoop để lưu trữ dữ liệu vì các hệ thống đó có thể gây ra nhiều độ trễ và phù hợp để xử lý ngoại tuyến theo lô (batch).

Mô hình của bạn có cần được đào tạo trong thời gian thực không?

Nếu hiệu suất của mô hình machine learning (ML) của bạn giảm theo thời gian như trong hình trên, bạn có thể muốn cân nhắc đào tạo theo thời gian thực (realtime). Đào tạo realtime có thể có lợi cho hầu hết các hệ thống dự đoán nhấp chuột vì xu hướng internet thay đổi khá nhanh.

Có sự không nhất quán giữa dữ liệu kiểm tra và đào tạo không?

Hay nói một cách đơn giản – bạn có nghi ngờ rằng dữ liệu sản xuất đến từ một bảng phân phối khác với dữ liệu đào tạo không?

Ví dụ: Trong một hệ thống đào tạo thời gian thực cho vấn đề dự đoán nhấp chuột, bạn hiển thị cho người dùng các quảng cáo và anh ta không nhấp vào. Đó có phải là một ví dụ thất bại? Có thể người dùng nhấp thường sau 10 phút. Nhưng bạn đã tạo dữ liệu và đào tạo mô hình của bạn về điều đó.

Có rất nhiều yếu tố bạn nên xem xét trong khi chuẩn bị dữ liệu cho các mô hình của mình. Bạn cần đặt câu hỏi và suy nghĩ về quá trình kết thúc để kết thúc để thành công ở giai đoạn này.


SYS-2028BT-HNR+ – Supermicro All-Flash NVMe Storage Server

Khi xử lý dữ liệu thời gian thực là vấn đề sống còn, một giải pháp về phần cứng hợp lý là điều tiên quyết.

Hãy tham khảo các giải pháp lưu trữ dữ liệu hiệu năng cao từ NQ.com.vn để sẵn sàng cho hệ thống Deep Learning của bạn.


3. Đánh giá

Làm thế nào để chúng ta đánh giá hiệu suất của mô hình đào tạo?

Tiêu chuẩn vàng ở đây là sự phân chia train-test-validation.

Thường xuyên thực hiện một bộ train-test-validation, bằng cách lấy mẫu, chúng ta quên mất một giả định ngầm – Dữ liệu hiếm khi được IID (phân phối độc lập và giống hệt nhau).

Nói một cách đơn giản, giả định của chúng tôi rằng mỗi điểm dữ liệu độc lập với nhau và xuất phát từ cùng một bản phân phối là lỗi to nhất nếu hoàn toàn không chính xác.

Đối với một công ty internet, điểm dữ liệu từ năm 2007 rất khác với điểm dữ liệu xuất hiện vào năm 2019. Họ không đến từ cùng một bản phân phối vì rất nhiều yếu tố – tốc độ internet là quan trọng nhất.

Nếu bạn gặp vấn đề với phép dự đoán mèo và chó, bạn khá giỏi với việc lấy mẫu ngẫu nhiên. Nhưng, trong hầu hết các mô hình học máy, nhiệm vụ là dự đoán cho tương lai.

Bạn có thể suy nghĩ về việc chia dữ liệu của mình bằng cách sử dụng biến thời gian thay vì lấy mẫu ngẫu nhiên từ dữ liệu. Ví dụ: đối với vấn đề dự đoán nhấp chuột, bạn có thể có tất cả dữ liệu trong quá khứ của mình cho đến tháng trước dưới dạng dữ liệu huấn luyện và dữ liệu cho tháng trước dưới dạng xác thực.

Điều tiếp theo bạn sẽ cần nghĩ đến là mô hình cơ sở.

Giả sử chúng tôi sử dụng RMSE làm chỉ số đánh giá cho các mô hình chuỗi thời gian của chúng tôi. Chúng tôi đã đánh giá mô hình trên bộ thử nghiệm và RMSE ra đời là 4,8.

Đó có phải là một RMSE tốt? Làm sao mà chúng ta biết được? Chúng ta cần một RMSE cơ bản. Điều này có thể đến từ một mô hình hiện đang làm việc cho cùng một nhiệm vụ. Hoặc bằng cách sử dụng một số mô hình đơn giản. Đối với mô hình chuỗi thời gian, một đường cơ sở để đánh bại là dự đoán ngày cuối cùng. tức là dự đoán số vào ngày hôm trước.

Đối với các mô hình phân loại NLP, tôi thường đặt đường cơ sở là số liệu đánh giá (Độ chính xác, F1, mất log) của các mô hình hồi quy Logistic trên Countvectorizer (Bag of words).

Bạn cũng nên suy nghĩ về cách bạn sẽ phá vỡ đánh giá trong nhiều nhóm để mô hình của bạn không gây ra những thành kiến ​​không cần thiết.

Năm ngoái, Amazon có tin tức về một công cụ tuyển dụng AI bí mật cho thấy sự thiên vị đối với phụ nữ. Để lưu mô hình Machine Learning của chúng tôi khỏi những mâu thuẫn như vậy, chúng tôi cần đánh giá mô hình của chúng tôi trên các nhóm khác nhau. Có thể mô hình của chúng tôi không chính xác cho phụ nữ vì nó dành cho nam giới vì số lượng phụ nữ trong dữ liệu đào tạo ít hơn rất nhiều.

Hoặc có thể một mô hình dự đoán nếu một sản phẩm sẽ được mua hoặc không được đưa ra một chế độ xem hoạt động khá tốt cho một danh mục sản phẩm cụ thể chứ không phải cho các danh mục sản phẩm khác.

Giữ những điều như vậy trong tâm trí trước và suy nghĩ chính xác về những gì có thể sai với một phương pháp đánh giá cụ thể là điều chắc chắn có thể giúp chúng ta thiết kế một hệ thống ML tốt.


4. Tính năng

Các tính năng tốt là xương sống của bất kỳ mô hình học máy nào. Và thường là phần mà bạn sẽ dành nhiều thời gian nhất. Tôi đã thấy rằng đây là phần mà bạn có thể điều chỉnh để đạt hiệu suất mô hình tối đa.

Tạo tính năng tốt thường cần kiến ​​thức tên miền, sáng tạo và nhiều thời gian.

Trên hết, bài tập tạo tính năng có thể thay đổi cho các mô hình khác nhau. Ví dụ: việc tạo tính năng rất khác nhau đối với các mạng thần kinh so với XGboost.

Hiểu các phương pháp khác nhau để tạo tính năng là một chủ đề khá lớn trong chính nó. Tôi đã viết một bài ở đây về sáng tạo tính năng. Hãy xem:

Khi bạn tạo nhiều tính năng, điều tiếp theo bạn có thể muốn làm là xóa các tính năng dư thừa. Dưới đây là một số phương pháp để làm điều đó


5. Làm mẫu

Sách ML giải thích

Bây giờ đến phần chúng ta chủ yếu quan tâm. Và tại sao không? Đó là mảnh mà chúng tôi cuối cùng cung cấp vào cuối dự án. Và đây là phần mà chúng tôi đã dành tất cả những giờ đó để thu thập và làm sạch dữ liệu, tạo tính năng và không có gì.

Vậy chúng ta cần nghĩ gì trong khi tạo ra một mô hình?

Câu hỏi đầu tiên mà bạn có thể cần phải tự hỏi mình là nếu mô hình của bạn cần được giải thích?

Có khá nhiều trường hợp sử dụng mà doanh nghiệp có thể muốn một mô hình có thể hiểu được. Một trường hợp sử dụng như vậy là khi chúng ta muốn thực hiện mô hình phân bổ. Ở đây chúng tôi xác định ảnh hưởng của các luồng quảng cáo khác nhau (TV, đài phát thanh, báo, v.v.) đến doanh thu. Trong những trường hợp như vậy, hiểu được phản hồi từ mỗi luồng quảng cáo trở nên cần thiết.

Nếu chúng tôi cần tối đa hóa độ chính xác hoặc bất kỳ số liệu nào khác, chúng tôi vẫn sẽ muốn sử dụng các mô hình hộp đen như NeuralNets hoặc XGBoost.

Ngoài lựa chọn mô hình, bạn cũng nên có những thứ khác:

  • Kiến trúc mô hình: Có bao nhiêu lớp cho NN hoặc bao nhiêu cây cho GBT hoặc cách bạn cần để tạo tương tác tính năng cho mô hình tuyến tính.
  • Làm thế nào để điều chỉnh siêu âm?: Bạn nên cố gắng tự động hóa phần này. Có rất nhiều công cụ trên thị trường cho việc này. Tôi có xu hướng sử dụng hyperopt.

6. Thử nghiệm

Bây giờ bạn đã tạo mô hình của bạn.

Nó hoạt động tốt hơn so với đường cơ sở / mô hình hiện tại của bạn. Làm thế nào chúng ta nên đi về phía trước?

Chúng tôi có hai lựa chọn-

  1. Đi vào một vòng lặp vô tận trong việc cải thiện mô hình của chúng tôi hơn nữa.
  2. Kiểm tra mô hình của chúng tôi trong cài đặt sản xuất, hiểu thêm về những gì có thể sai và sau đó tiếp tục cải thiện mô hình của chúng tôi với tích hợp liên tục.

Tôi là một fan hâm mộ của cách tiếp cận thứ hai. Trong khóa học thứ ba tuyệt vời của mình có tên là Dự án học máy cấu trúc trong Chuyên ngành học sâu Coursera , Andrew Ng nói –

Không nên bắt đầu thử thiết kế và xây dựng hệ thống hoàn hảo. Thay vào đó, hãy xây dựng và huấn luyện một hệ thống cơ bản một cách nhanh chóng – có lẽ chỉ trong vài ngày. Ngay cả khi hệ thống cơ bản khác xa với hệ thống tốt nhất mà bạn có thể xây dựng, bạn vẫn có thể kiểm tra cách thức hoạt động của hệ thống cơ bản: bạn sẽ nhanh chóng tìm ra manh mối chỉ cho bạn những hướng đi hứa hẹn nhất để đầu tư thời gian của bạn.

Một điều tôi cũng muốn nhấn mạnh là tích hợp liên tục . Nếu mô hình hiện tại của bạn hoạt động tốt hơn mô hình hiện tại, tại sao không triển khai nó trong sản xuất thay vì chạy sau khi tăng lợi nhuận?

Để kiểm tra tính hợp lệ của giả định rằng mô hình của bạn tốt hơn mô hình hiện có, bạn có thể thiết lập thử nghiệm A / B. Một số người dùng (Nhóm thử nghiệm) xem mô hình của bạn trong khi một số người dùng (Kiểm soát) xem dự đoán từ mô hình trước đó.

Bạn nên luôn luôn nhắm đến việc giảm thiểu thời gian để thử nghiệm trực tuyến đầu tiên cho mô hình của bạn. Điều này không chỉ tạo ra giá trị mà còn cho phép bạn hiểu những thiếu sót của mô hình của bạn với phản hồi thời gian thực mà sau đó bạn có thể làm việc.


Kết luận

Không có gì là đơn giản trong học máy. Và không có gì nên được giả định.

Bạn phải luôn luôn khó tính với bất kỳ quyết định nào bạn đã đưa ra trong khi xây dựng một Machine Learning Pipeline.

Một quyết định tìm kiếm đơn giản có thể là sự khác biệt giữa thành công hay thất bại của dự án machine learning của bạn.

Vì vậy, hãy suy nghĩ sáng suốt và suy nghĩ thật nhiều.

Previous Post

Hướng dẫn xây dựng phần cứng cho Deep Learning toàn diện

Next Post

Hướng dẫn cho người mới bắt đầu: Nhận dạng hình ảnh và học sâu

Related Posts

Nvidia Công Bố Phiên Bản Pcie 4.0 Của A100: Gpu 250w Trên Form Factor Chuẩn 605d66d30fe7c.png
Deep Learning

NVIDIA công bố phiên bản PCIe 4.0 của A100: GPU 250W trên form factor chuẩn

19/05/2021
Computer Vision – Thị Giác Máy Tính Là Gì? 605d66cbbaaa4.jpeg
Deep Learning

Computer Vision – Thị giác máy tính là gì?

19/05/2021
Những Cuốn Sách Hàng đầu Về Deep Learning 605d66c4175f0.jpeg
Deep Learning

Những cuốn sách hàng đầu về Deep Learning

19/05/2021
Deep Learning Trong Lĩnh Vực Tài Chính: Cơ Hội Thúc đẩy Tăng Trưởng 605d66be30595.png
Deep Learning

Deep Learning trong lĩnh vực tài chính: Cơ hội thúc đẩy tăng trưởng

19/05/2021
Vai Trò Của Iot Và Ai Trong Ngành Công Nghiệp Sản Xuất 605d66b94509e.jpeg
Deep Learning

Vai trò của IoT và AI trong ngành công nghiệp sản xuất

19/05/2021
Giới Thiệu Gpu Quadro Rtx 8000 Của Nvidia 605d66b2e9d37.jpeg
Deep Learning

Giới thiệu GPU Quadro RTX 8000 của NVIDIA

19/05/2021
Next Post
Hướng Dẫn Cho Người Mới Bắt đầu: Nhận Dạng Hình ảnh Và Học Sâu 605d684730ab2.jpeg

Hướng dẫn cho người mới bắt đầu: Nhận dạng hình ảnh và học sâu

Bài mới nhất

Top 6 Trang Web Tạo Email Marketing Miễn Phí, ấn Tượng Nhiều Người Dùng 612d237cbf541.png

Top 6 trang web tạo Email Marketing miễn phí, ấn tượng nhiều người dùng

14/05/2025
Dns Là Gì? Chức Năng, Cách Thức Hoạt động Và Nguyên Tắc Sử Dụng Hiệu Quả 612d236260cb2.jpeg

DNS là gì? Chức năng, cách thức hoạt động và nguyên tắc sử dụng hiệu quả

13/05/2025
Cpanel Là Gì Và Hướng Dẫn Sử Dụng Cpanel Hiệu Quả Cho Người Mới 612d235c02794.png

Cpanel là gì và hướng dẫn sử dụng Cpanel hiệu quả cho người mới

13/05/2025
Website Defacement Là Gì Và Cách Khắc Phục Hiệu Quả Cho Website 612d235622440.png

Website Defacement là gì và cách khắc phục hiệu quả cho website

12/05/2025
8 Cách Quản Lý Data Khách Hàng Hiệu Quả Cho Doanh Nghiệp 612d234c2b5ad.jpeg

8 cách quản lý data khách hàng hiệu quả cho doanh nghiệp

12/05/2025

Danh mục

  • Android
  • Bảo mật máy tính
  • Bảo mật, Antivirus
  • Chuyện công nghệ
  • Deep Learning
  • Development
  • Dịch vụ công trực tuyến
  • Dịch vụ nhà mạng
  • Giải pháp bảo mật
  • Hệ thống
  • Hệ thống
  • iPhone
  • Kiến thức bảo mật
  • Kiến thức cơ bản phổ thông
  • Kiến thức Marketing căn bản
  • Kiến thức tổng hợp
  • Lập trình
  • Linux
  • Linux OS
  • macOS
  • Mail Server
  • Mạng LAN – WAN
  • Máy ảo
  • Máy chủ
  • ms excel
  • ms-powerpoint
  • Nền tảng điện toán đám mây
  • Phần cứng
  • Phần Mềm
  • Quản trị hệ thống
  • Raspberry Pi
  • Sửa lỗi máy tính
  • Tăng tốc máy tính
  • Thủ thuật
  • Thủ thuật SEO
  • Thủ thuật Wifi
  • Tiện ích hệ thống
  • Tin học văn phòng
  • Tin tức
  • Uncategorized
  • Ứng dụng
  • Website
  • Windows Server 2012

Thẻ

#app #chatbot #chatbot tự động #CRM #Kiến thức cơ bản #Techblog #Thiết kế website Android apple CPU Email Marketing Google Google Drive hacker HTML hàm python hàm python có sẵn hình nền hình nền máy tính học css học python học SQL ios iphone iphone 12 iPhone X macos Microsoft mssql MS SQL Server ngôn ngữ lập trình python Raspberry Pi Samsung smartphone SQL SQL Server tham số trong C thủ thuật windows 10 tài liệu python windows windows 10 YouTube điện thoại thông minh ứng dụng
  • About
  • Advertise
  • Privacy & Policy
  • Contact

© 2022 Pha Le Solution

No Result
View All Result
  • Home

© 2022 Pha Le Solution