Top 10 ứng dụng thực tế của Machine Learning

Machine Learning là một sáng tạo hiện đại giúp con người không chỉ ở quy mô công nghiệp và các quy trình chuyên nghiệp mà còn thúc đẩy cuộc sống hàng ngày. Nhưng Machine Learning là gì? Nó là một phần của Trí tuệ nhân tạo, Machine Learning tập trung vào các kỹ thuật thống kê để xây dựng các hệ thông máy tính trông minh để học từ các cơ sở dữ liệu sẵn có cho nó. Hiện nay, Machine learning đã được sử dụng trong nhiều lĩnh vực và ngành công nghiệp. Ví dụ: chuẩn đoán trong y học, xử lý ảnh, dự đoán tài chính, phân loại, học kết hợp, hồi quy…
Các hệ thống thông minh được dây dựng dựa trên các thuật toán Machine Learning có khả năng học hỏi từ kinh nghiệm trước đó hoặc dữ liệu lịch sử. Các ứng dụng của Machine Learning cung cấp kết quả trên cơ sở dữ liệu hoặc kinh nghiệp từ quá khứ. Trong bài này, chúng ta sẽ thảo luận về 10 ví dụ thực tế về cách sử dụng Machine Learning đang giúp tạo ra các công nghệ mới mạnh mẽ hơn.

Nhận dạng hình ảnh (Image Recognition)

Nhận dạng hình ảnh là một trong những ứng dụng phổ biến nhất của Machine Learning. Có nhiều tình huống để phân loại đối tượng trong một hình ảnh kỹ thuật số. Ví dụ, trường hợp ảnh đen trắng thì sẽ sử dụng phép đo mức xám của từng pixel còn trong ảnh màu thì lại sử dụng phép đo cường độ của 3 màu khác nhau tạo nên 1 pixel (R-G-B).
Machine Learning cũng được ứng dụng để phát hiện khuôn mặt trong ảnh. Có một danh mục riêng cho mỗi người trong cơ sở dữ liệu hình ảnh của nhiều người. Machine Learning cũng được sử dụng trong nhận dạng chữ viết để phân biệt chữ viết tay hay chữ in. Chúng ta cần phân đoạn một đoạn văn bản thành các hình ảnh nhỏ hơn, mỗi hình ảnh chứa một ký tự.

Nhận dạng giọng nói (Speech Recognition)

Nhận dạng giọng nói là việc chuyển đổi giọng nói thành văn bản. Nó được biết đến với máy nhận dạng giọng nói hoặc nhận dạng giọng nói tự động. Ở đây, một phần mềm có thể nhận ra các từ được nói trong các clip hoặc audio và sau đó chuyển đổi thành file văn bản. Phép đo trong ứng dụng này có thể là một tập hợp các số đại diện cho tín hiệu giọng nói. Ta cũng có thể phân đoạn tín hiệu giọng nói theo cường độ trong các khung thời gian khác nhau.
Nhận dạng giọng nói được sử dụng trong các ứng dụng có giao diện tương tác qua giọng nói, tìm kiếm bằng giọng nói… Giao diện người dùng thông qua giọng nói bao gồm quay số bằng giọng nói, điều hướng cuộc gọi và điều khiển thiết bị. Nó cũng có thể được sử dụng như một công cụ nhập liệu đơn giản và chuẩn bị các tài liệu có cấu trúc.

Chuẩn đoán trong ý học (Medical diagnosis)

Machine Learning có thể sử dụng trong các kỹ thuật và công cụ chuẩn đoán bệnh. Nó được sử dụng để phân tích các biểu hiện lâm sàng và kết hợp chúng để tiên đoán về sự tiến triển của bệnh tật để thông tin tới bác sỹ để lập kế hoạch điều trị và theo dõi bệnh nhân. Đây là những ứng dụng thành công của các phương pháp Machine Learning. Nó có thể giúp tích hợp các hệ thống trong lĩnh vực chăm sóc sức khỏe.

Phân tích chứng khoán (Statistical Arbitrage)

Trong lĩnh vực tài chính, chứng khoán nhắm vào các giao dịch tự động ngắn hạn với số lượng giao dịch lớn. Trong các chiến lược này, người dùng sẽ tập trung vào việc thực hiện các thuật toán giao dịch cho một mã chứng khoán trên cơ sở số lượng cũng như tương quan lịch sử và các biến số kinh tế chung. Phương pháp Machine Learning được áp dụng để có thể có được các chiến lược chênh lệnh giá. Chúng ta có thể áp dụng hồi quy tuyến tính (linear regression) và Vecto hỗ trợ (Support Vector Machine – SVM) cho bài toán này.

Learning associations

Learning associations là quá trình phát triển những hiểu biết sâu sắc về các hiệp hội giữa các sản phẩm. Ví dụ điển hình là làm thể nào các sản phẩm không liên quan có thể liên kế được với nhau. Một trong những ứng dụng của Machine Learning nghiên cứu mối liên hệ giữa các sản mà người dùng mua. Nếu một người mua sản phẩm thì hệ thống sẽ gợi ý các sản phẩm tương tự vì chúng có mối liên quan với nhau. Khi bất kỳ một sản phẩm mới nào được tung ra thị trường thì chúng sẽ được liên kết với các sản phẩm cũ để tăng doanh số.

Phân loại (Classification)

Classification là quá trình đặt từng cá nhân vào một trong nhiều lớp. Classification giúp phân tích các phép đo của một đối tượng để xác định xem nó sẽ thuộc vào danh mục nào. Để thiết lập mối quan hệ hiệu quả, các nhà phân tích sử dụng dữ liệu. Ví dụ, trước khi ngân hàng quyết định cho khách hàng vay, ngân hàng sẽ đánh giá xem khách hàng có khả năng trả khoản vay đó hay không. Bằng cách xem xét các yếu tố như thu nhập, tiết kiệm, lịch sử tài chính… Thông tin này được lấy từ dữ liệu cũ trong khoản vay.

Dự đoán (Prediction)

Machine Learning cũng được sử dụng trong các hệ thống dự đoán. Vẫn xem xét ví dụ về việc cho vay của ngân hàng, để tính xác suất xảy ra lỗi, hệ thống cần phân loại dữ liệu có sẵn theo nhóm. Nó được xác định bởi một bộ quy tắc được quy định bởi các nhà phân tích. Sau khi được phân loại xong, ta có thể tính xác xuất về lỗi có thể xảy ra. Những tính toán này có thể áp dụng trên nhiều lĩnh vực và mục đích khác nhau. Tạo dự đoánh là một ứng dụng phổ biến của Machine Learning.

Khai thác (Extraction)

Khai thác thông tin là một ứng dụng tốt nhất của Machine Learning. Nó là quá trình trích xuất thông tin có cấu trúc từ dữ liệu phi cấu trúc. Ví dụ các trang web, bài viết, blog, báo cáo kinh doanh và email. Cơ sở dữ liệu quan hệ duy trì đầu ra sản phẩm bởi việc trích xuất thông tin. Quá trình trích xuất lấy một tập hợp các tài liệu làm đầu vào và đầu ra dữ liệu có cấu trúc.

Hồi quy (Regression)

Chúng ta có thể thực hiện Machine Learning bằng thuật toán hồi quy. Trong hồi quy, chúng ta sử dụng các nguyên tắc của Machine Learning để tối ưu hóa các tham số. Nó cũng được sử dụng để giảm sai số gần đúng và tính toán kết quả gần nhất có thể. Cjimgs ta cimxh cps thể sử dụng Machine Learning để tới ưu hóa các chức năng. Chúng ta có thể chọn thay đổi các đầu vào để có được các kết quả gần nhất có thể.

Dịch vụ tài chính (Financial Services)

Machine Learning có rất nhiều tiềm năng trong lĩnh vực tài chính ngân hàng. Nó là động lực đằng sau sự phổ biến các dịch vụ tài chính. Machine Learning có thể giúp các ngân hàng, tổ chức tài chính đóng các tài khoản trước khi nó xảy ra. Nó cũng có thể theo dõi các mô hình chi tiêu của khách hàng. Machine Learning cũng có thể phân tích thị trường. Máy thông minh có thể được đào tạo để theo dõi các môi hình chi tiêu. Thuật toán có thể xác định các xu hướng dễ dàng và phản ứng ngay trong thời gian thực.

Kết luận

Tóm lại, chúng ta có thể nói rằng Machine Learning là một bước đột phá đáng kinh ngạc trong lĩnh vực trí tuệ nhân tạo. Trong khi đó, hàng ngày Machine Learning thay đổi để cải thiện cuộc sống của chúng ta.

Có thể bạn quan tâm:

Phát hiện đối tượng real-time với YOLO

YOLO là một thư viện sử dụng trí tuệ nhân tạo để phát hiện đối tượng real-time trong ảnh và video. Ta có thể sử dụng YOLO với nhiều ngôn ngữ khác nhau như Python, Javascript, C++… YOLO xử lý ảnh có thể sử dụng GPU hoặc OPENCV
Trang chủ của YOLO: https://pjreddie.com/darknet/yolo/#demo

Phát hiện đối tượng với YOLO
Phát hiện đối tượng với YOLO

Cài đặt YOLO trên máy ảo

  • Thiết lập máy ảo CENTOS 7
  • Cài đặt git: sudo yum install git
  • cài đặt GCC: # yum group install “Development Tools”
  • Clone project darknet: git clone https://github.com/pjreddie/darknet
  • Cài đặt OPEN CV
    yum install cmake gcc gtk2-devel numpy pkconfig -y
    cd
    wget https://github.com/opencv/opencv/archive/3.4.2.zip
    unzip 3.4.2.zip
    https://www.vultr.com/docs/how-to-install-opencv-on-centos-7
  • Sửa file Makefile dòng OPENCE từ 0 thành 1
  • Biên dịch darknet:
    cd darknet
    make
  • Tải trọng số có sẵn đã được train: wget https://pjreddie.com/media/files/yolov3.weights
  • Test: ./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg

Một số địa chỉ tham khảo:

https://www.blog.pythonlibrary.org/2018/06/05/creating-pdfs-with-pyfpdf-and-python/

https://pjreddie.com/darknet/yolo/#demo

https://www.vultr.com/docs/how-to-install-opencv-on-centos-7

Lộ trình học Machine Learning cho người mới

Giới thiệu với các bạn bài viết về 8 giải thuật Machine Learning do The Learning Machine cung cấp. Các giải thuật được liệt kê theo roadmap và phân thành 4 nhóm: Regression, classification, clustering và generation. Ngoài 8 giải thuật trên thì các giải thuật khác sẽ được hoàn thành trong tương lai. Ngoài ra, các bạn cũng có thể tìm hiểu các kiến thức về thông kê được cung cấp bởi trang này.

Nhóm Regression:

  1. Lasso, Ridge & Elastic Net
  2. Random Forest

Nhóm Classification:

3. Naive Bayes

4. Decision Trees (ID3)

5. Random Forest

6. Logistic Regression

Nhóm Clustering:

7. K-means

8. Hierarchical Clustering

Trên đây là 3 nhóm với 8 thuật toán chính của Machine Learning. Bạn có thể dùng nó làm lộ trình học Machine Learning cho bản thân mình.

Chi tiết bạn có thể xem thêm tại đây.

Sử dụng toán học trong Lập trình Trí Tuệ Nhân tạo

Trong Trí tuệ nhân tạo nói chung, Machine Leanrning và Deep Learning nói riêng thì toán học là một phần rất quan trọng không thể tách rời giúp ta có thể hiểu sâu và tiếp cận các nghiên cứu mới nhất. Sau đây là các nguồn tài liệu giúp ta củng cố các kiến thức về Toán học giúp ích rất nhiều khi nghiên cứu các giải thuật về Machine Learning và Deep Leanrning:

  1. https://mml-book.github.io/
    Chi tiết các kiến thức toán được sử dụng trong Machine Learning và Deep Leanrning cơ bản và nâng cao.
  2. http://cs229.stanford.edu/section/cs229-linalg.pdf http://cs229.stanford.edu/section/cs229-prob.pdf
    Bài giảng về Đại số tuyến tính và xác suất thống kê giúp bạn nắm bắt kiến thức bao quát và cần thiết khi học Machine Learning
    .
  3. https://www.deeplearningbook.org/conte…/linear_acheebra.html https://www.deeplearningbook.org/contents/prob.html
    Tương tự như mục 2
    .
  4. https://gwthomas.github.io/docs/math4ml.pdf
    Tổng quan các kiến thức toán cần thiết để có thể bắt đầu nghiên cứu Machine Learning.
  5. https://explained.ai/matrix-calculus/index.html
    Các kiến thức về ma trận, không thể thiếu trong việc xử lý dữ liệu trong Machine Learning.

Toán học và trí tuệ nhân tạo (AI)

Trong tất cả các ngành khoa học, toán học đóng vai trò quan trọng trong việc phát triển các ngành kho học đặc thù. Ví dụng toán học xác xuất thống kê trong sinh học, toán học trong vật lý, toán học trong hóa học…
Đặc biệt trong lĩnh vực công nghệ thông tin, toán học luôn đi trước mở đường cho ngành công nghệ thông tin. Một số lĩnh vực của toán học là tiền đề, xương sống trong sự phát triển của công nghệ thông tin. Ngược lại, công nghệ thông tin cũng tác động ngược trở lại toán học.
Trong thời gian học đại học, mình có tiếp xúc và nhận thấy bộ môn Toán rời rạc ứng dụng trong tin học là vô cùng quan trọng. Không chỉ thế còn có khoa riêng về Toán tin ứng dụng, các cuộc thi về thuật toán đều cần những hiểu biết nhất định về toán học…
Sau này đi làm, mặc dù không chuyên về nghiên cứu cũng như làm về thuật toán nhưng tôi vẫn luôn đi sâu thêm, tìm hiểu về các thuật toán thì càng thấy rằng ý nghĩa, tầm quan trọng của toán học với tin học rất lớn và ngày càng lớn. Gần đây ta nghe thấy nhiều về lĩnh vực Trí tuệ nhân tạo và từ ngữ này rất hot hiện nay nhưng thực tế Trí tuệ nhân tạo đã được nhắc đến và được các nhà nghiên cứu trên thế giới quan tâm rất nhiều năm về trước.
Nhưng đối với Trí tuệ nhân tạo thì toán học càng đóng vai trò quan trọng và không thể thiếu được. Các thuật toán, quy trình đưa ra ngày càng phức tạp. Việc ứng dụng các nghiên cứu tiên tiến trong toán học được ứng dụng trong trí tuệ nhân tạo cần nhiều hơn bao giờ hết và tiếp tục cần nhiều hơn nữa. Trí tuệ nhân tạo thường đi liền với dữ liệu lớn(big data) vì trí tuệ nhân tạo muốn việc máy tính suy nghĩ và ra quyết định càng giống với con người càng tốt vì hiện tại trí óc của con người vẫn chưa có cái gì vượt qua được.
Do vậy, để đi theo con đường trí tuệ nhân tạo để đào sâu cũng như ứng dụng một cách triệt để, tốt nhất có thể thì việc học tập và hiểu biết về toán học là bức thiết.
Đối với Việt Nam có nhiều thành tích trong việc đào tạo toán học cho lớp trẻ(bằng chứng là đạt nhiều thành tích trong các cuộc thi Olypic toán học quốc tế) sẽ là tiền đề và cơ hội quan trọng cho đất nước ta phát triển ngành công nghệ thông tin nói chung và trí tuệ nhân tạo nói riêng.