Top 26 Free Python Tools for Developer

Python là một ngôn ngữ lập trình xuất hiện từ lâu với nhiều ứng dụng và được rất nhiều lập trình viên ưa thích. Nhưng gần đây nó trở nên nổi tiếng và phổ biến bởi sử phát triển mạnh mẽ của Machine Learning và Trí tuệ nhân tạo. Sau đây là top 26 Free Python Tools hàng đầu được sử dụng phổ biến trong lĩnh vực Data Science, Machine Learning, Trí tuệ nhân tạo, Thống kê số liệu, Tính toán hiệu năng cao…

1. Pandas: Used for data analysis

Từ lâu Python là ngôn ngữ tuyệt vời cho việc trộn và chuẩn bị dữ liệu nhưng không mạnh về việc phân tích và mô hình hóa dữ liệu. Pandas giúp lấp đầy khoảng trống này cho phép ta có thể thực hiện toàn bộ quy trình phân tích dữ liệu trong Python mà không phải sử dụng đến ngôn ngữ chuyên về phân tích dữ liệu như R.

2. SciPy: Algorithms to use with numpy

Thư viện SciPy chứa một tập hợp các thuật toán và các công cụ để xử lý dữ liệu như số như xử lý tín hiệu, tối ưu hóa, thống kê và nhiều tính năng khác.

3. HDF5: Used to store and manipulate data

Thư viện HDF5 kết hợp với Numpy có thể lưu trữ và xử lý một lượng lớn dữ liệu số. Giúp ta có thể xử lý hàng Terabyte dữ liệu cũng nhưng hàng ngàn bộ dữ liệu (dataset) trong một tập dữ liệu.

4. Jupyter: Research collaboration tool

Jupyter là môi trường phát triển tương tác trực quan trên web giúp ta có thể code, xử lý dữ liệu, xem dữ liệu như bảng, biểu đồ và đặc biệt có thể chia sẻ cho tất cả mọi người. Jupyter khá linh hoạt, có thể cấu hình và sắp xếp giao diện để hỗ trợ tốt hơn các công việc hoặc nghiên cứu trong ngành data science, scientific computing và machine learning.

5. HDFS: C/C++ wrapper for Hadoop

Đây là một thư viện giúp Python có thể tương tác với hệ thống tệp của Hadoop để xử lý BigData

6. SQLAlchemy: Python SQL Toolkit

SQLAlchemy là một thư viện cơ bản giúp Python có thể giao tiếp với cơ sở dữ liệu. Thư viện này chủ yếu được sử dụng như một công cụ lập bản đồ quan hệ để dịch các lớp của Python thành các bảng trên cơ sở dữ liệu quan hệ và tự động chuyển đổi các lệnh gọi hàm thành các câu lệnh SQL.

Ngôn ngữ lập trình Python
Ngôn ngữ lập trình Python

7. pyMySQL: MySQL connector

pyMySQL là thư viện giúp Python kết nối tới hệ quản trị cơ sở dữ liệu MySQL.

8. Theano: Deep learning with neural network

Theano làm tăng sức mạnh tính toán của Python, cho phép developer có thể định nghĩa, tối ưu hóa và đánh giá các biểu thức toán hoạc liên quan đến mảng đa chiều một cách hiệu quả. Nó có thể chạy hiệu quả cả trên GPU và CPU, hỗ trợ đắc lực cho các tính toán neural network phục vụ các thuật toán Deep Learning.

9. Lasagne: Build and train neural network in Theano

Lasagne là một thư viện khá gọn nhẹ để xây dựng và huấn luyện neural network dựa trên Theano.

10. Seaborn: Data visualization tool

Seaborn là một thư viện mới dựa trên Matplotlib giúp ta có thể visualization dữ liệu một cách trực quan. Khi làm về data science thì việc hiển thị dữ liệu là một việc quan trọng và thường xuyên giúp ta có thể hiểu được dữ liệu. Seaborn đơn giản, dễ học và dễ sử dụng hơn Matplotlib vì nó trực quan và ít tham số hơn.

11. Airflow: Data enginnering tool

Airflow là một nền tảng giúp ta có thể lập trình, lên lịch và theo dõi các tiến trình công việc. Airflow có giao diện phong phú giúp ta có thể dễ dàng hình dung các quy trình, bước chạy trên hệ thống, có thể theo dõi trạng thái các tiến trình và khắc phục sự cố khi cần.

12. Elasticsearch: Data search engine

Elasticsearch là một công cụ tìm kiếm và phân tích dữ liệu, nó có khả năng tìm kiếm theo thời gian thực và phân tán. Nó cho phép bạn khám phá dữ liệu với tốc độ và ở quy mô chưa từng có trước đây. Nó có thể tìm kiếm toàn văn bản, tìm kiếm có cấu trúc, phân tích và kết hợp cả 3. Elasticsearch là ứng dụng mạnh mẽ nhất trong top free python tools bởi tính ứng dụng rất lớn trong việc tìm kiếm và phân tích dữ liệu.

13. PyBrain: Algorithms for ML

PyBrain là một module Machine Learning của Python. Mục tiêu của nó là sự linh hoạt, dễ sử dụng những vẫn chứa đầy đủ sức mạnh của các thuật toán Machine Learning.

14. NumPy: Multidimensional arrays

NumPy là một thư viện tính toán cơ bản rất hữu ích dành cho việc phân tích dữ liệu, thống kê và data science.

15. Matplotlib: Data visualization tool

Matplotlib là một thư viện hàng đầu giúp ta có thể dễ dàng mô hình hóa dữ liệu. Nói đơn giản hơn nó giúp ta có thể nghiên cứu dữ liệu thông qua các biểu đồ, hình vẽ… một cách trực quan.

16. PyTables: Used for managing HDF5 datasets

PyTables là một package của Python để quản lý các bộ dữ liệu phân cấp và được thiết kế để làm việc với lượng dữ liệu lớn và cực lớn.

17. IPython: Powerful shell

IPython là một ứng dụng giúp sử dụng code python shell một cách mạnh mẽ

18. PyMongo: MongoDB driver

PyMongo là thư viện giúp Python kết nối tới hệ quản trị cơ sở dữ liệu MongoDB.

19. Redis: Redis access libraries

Package này giúp Python làm việc dễ dàng với Redis.

20. Scikit-lear: Used for machine leaning algorithms

Đây là một trong những thư viện về Machine Learning nổi tiếng nhất giúp Python nằm trong top các ngôn ngữ lập trình phổ biến về Machine Learning. Scikit-lear chứa hầu hết các thuật toán Machine Learning từ đơn giản đến phức tạp, từ cổ điển đến hiện tại, xứng đáng nằm trong top free python tools cho lập trình viên.

21. Keras: High-level neural network API

Scikit-lear chuyên về Machine Learning còn Keras thì lại chuyên về Deep Learning giúp Python được sử dụng hiệu quả để phát triển các ứng dụng trí tuệ nhân tạo.

22. Bokeh: Data visualization tool

Bokeh kém nổi tiếng hơn Matplotlib nhưng cũng là một ứng dụng tốt để có thể visualization dữ liệu.

23. Dask: Data enginnering tool

Dask là giúp Python có thể xử lý các tác vụ liên quan đến tính toán song song.

24. Luigi: Data enginnering tool

Luigi giúp developer xây dựng các tác vụ, job phức tạp khi cần xử lý các công việc hàng loạt.

25. SymPy: Symbolic math

SymPy giúp Python tính toán các biểu thức toán học, các công thức toán học phức tạp.

26. Pattern: Natural language processing

Pattern là một module nổi tiếng giúp xử lý ngôn ngữ tự nhiên hiệu quả.

Trên đây là 26 free python tools phổ biến và hữu ích cho lập trình viên. Nếu bạn thấy có những tools, thư viện nào hữu ích và phổ biến hơn nữa thì chia sẻ cho mọi người thêm nhé.

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

KHAI PHÁ và MÔ HÌNH DỮ LIỆU VỚI R

Ý chính của một lớp học về khoa học dữ liệu -> thành chuyên gia được ư?

Giảng viên: TS. Nguyễn Quang và Ths Nguyễn Thế Anh

KẾT QUẢ NHẬN ĐƯỢC

  • Thành thạo lập trình ngôn ngữ R
  • Khai phá dữ liệu: tổng hợp, làm sạch, chuẩn hóa, biến đổi dữ liệu kinh doanh
  • Biểu diễn hình ảnh và tạo lập các báo cáo Business Intelligence hiệu quả
  • Sử dụng các phương pháp thống kê để phân tích dữ liệu kinh doanh
  • Xây dựng các mô hình dự báo xu hướng và rủi ro
  • Làm chủ quá trình triển khai dự án khoa học dữ liệu trong Doanh nghiệp

CÔNG VIỆC PHÙ HỢP

  • Data analyst
  • Business analyst
  • Business Intelligence
  • Machine Learning specialist
  • Data Manager

CHƯƠNG TRÌNH HỌC (10 buổi * 3h hoặc 4 ngày * 7.5h)

Phần 1:

  • Giá trị của Dữ liệu và vai trò của Khoa học dữ liệu
  • Quy trình một dự án Khoa học dữ liệu
  • Cách nhận diện bài toán Dữ liệu trong DN và giá trị mang lại
  • Giới thiệu công cụ: R, Rstudio, Markdown

Phần 2:

– Ngôn ngữ lập trình R: từ cơ bản đến nâng cao

– Thao tác với dữ liệu:

  • Tải dữ liệu, ghép nối, tổng hợp, làm sạch, xây dựng từ điển dữ liệu
  • Xây dựng báo cáo kinh doanh cơ bản

Phần 3:

– Khai phá dữ liệu kinh doanh (EDA):

  • Thống kê và Biểu diễn đồ thị đơn biến phân loại và liên tục
  • Thống kê và Biểu diễn đồ thị đa biến với ggplot2
  • Phân nhóm dữ liệu

Phần 4:

    – Giới thiệu về Business Intelligence

    – Thực hành xây dựng báo cáo Business Intelligence

Phần 5:

– Biến đổi dữ liệu:

o Tìm kiếm điểm bất thường

o Chuẩn hóa dữ liệu, xử lý phân bố

o Giảm chiều dữ liệu

o Tạo biến mới từ dữ liệu

– Các mô hình thống kê:

  • Khoảng tin cậy
  • Kiểm định giả thiết
  • Kiểm định Bootstrap
  • Phân tích phương sai (ANOVA)

Phần 6:

– Mô hình Hồi quy:

  • Hồi quy đơn biến
  • Phân tích sai số
  • Hồi quy đa biến

Phần 7:

    – Các mô hình phân loại

    o Giới thiệu Các mô hình phân loại

    o Mô hình Hồi quy Logistics

o Mô hình cây quyết định và Random Forest

Phần 8:

    – Đánh giá và hiệu chỉnh mô hình

    o Đánh giá mô hình liên tục

o Đánh giá mô hình phân loại

o Xây dựng biến mới

o Lựa chọn biến

Phần 9:

    – Các mô hình không giám sát

    o Mô hình phân cụm

o Mô hình Khuyến nghị

Phần 10:

    – Giới thiệu về mạng Neuron và Deep Learning

– Cách trình bày kết quả dự án ML

– Dự án cuối khóa học

Cài đặt keras và tensorflow trên CentOS 7

Sử dụng Linux để học ML và AI, ta cần cài đặt thư viện Keras để vọc thử.
nên cài đặt và đặt mặc định Python 3 để sử dụng.

 pip install --upgrade tensorflow
 pip install numpy scipy
 pip install scikit-learn
 pip install pillow
 pip install h5py
 pip install keras

https://www.pyimagesearch.com/2016/11/14/installing-keras-with-tensorflow-backend/

Tiếp theo làm ứng dụng luôn: Sử dụng Keras – Deep learning để phân loại ảnh

Giải thuật cho hệ thống gợi ý

Hệ thống gợi ý ngày càng được ứng dụng rộng rãi trong nhiều lĩnh lực khác nhau ví dụ hệ thống gợi ý video của youtube, của Netflix, hệ thống gợi ý bài hát của Zing… hoặc hệ thống gợi ý mua hàng online.
Ứng dụng là nhiều vậy, nói đơn giản thì cũng đơn giản nhưng nói phức tạp thì cũng thực sự phức tạp.
Đây là 1 bài viết khá hay về giải thật cho hệ thống gợi ý.
Link: http://www.giaithuatlaptrinh.com/?p=1320

Sử dụng Keras trên Anaconda3 – Deep learning để phân loại ảnh

https://nttuan8.com/bai-7-gioi-thieu-keras-va-bai-toan-phan-loai-anh/
Có code test.

Cách cài đặt Keras trên Anaconda 3- Win 10:

Trong mục Environments chọn All nhập keras và nhấn tìm kiếm.

Tích vào keras, keras-base, keras-applications, keras-preprocessing. Sau đó nhấn Apply để cài đặt.

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.

Machine Learning là gì?
Machine Learning là gì?

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.

Lộ trình học Machine Learning
Lộ trình học Machine Learning

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.