Machine Learning, Deep Learning cho người bắt đầu: Thư viện Numpy và TensorFlow

Tram Ho

Cùng điểm lại các kiến thức liên quan ở bài trước và tìm hiểu thêm về các APIs của thư việc Numpy

I. Numpy

I.I Giới thiệu về NumPy

  • Trang chủ của NumPy
  • NumPy là viết tắt của “Numerical Python”, là một thư viện chuyên để xử lý, tính toán vector, ma trận.
  • NumPy thường được sử dụng cùng SciPy và Matplotlib để thay thế cho MatLab vô cùng đắt đỏ.
  • Được viết bằng Python và C nên tốc độ thực thi tốt.

I.2 Các APIs

1. Mảng NumPy – NumPy Array

2. Truy cập thông qua chỉ mục và cắt Array – Array Indexing và Array Slicing

a. Indexing và Slicing

indexing và Slicing tương tự với list trong Python.

Phần này rất nhiều cách làm nhưng tôi chỉ trình bày các cách dễ hiểu và thực tế hay dùng nhất.

Bạn có thể tham khảo chi tiết tại đây

  • Indexing cơ bản

import numpy as np

Mảng 2 chiều. Chúng ta có thể liên tưởng đến ma trận 2 chiều.

Việc mô phỏng ma trận nhiều chiều của NumPy dựa trên việc sử dụng list bên trong list (nested list) cho nên việc truy cập các phần tử trong mảng này hoàn toàn tương tự như chúng ta đã thực hiện trong Python.

Truy cập hàng

Truy cập hàng đầu tiên của ma trận

Truy cập hàng cuối cùng của ma trận

Truy cập cột

Truy cập cột đầu tiên của ma trận: việc này tương đương với truy cập tất cả các hàng và lấy phần tử đầu tiên.

Truy cập cột cuối cùng của ma trận

Truy cập cột giữa của ma trận

Truy cập mảng trong ma trận

Các bước tiến hành

  • Truy cập hàng 2 và hàng 3 thông qua chỉ mục 1 và 2
  • Truy cập cột 2 và cột 3 của 2 hàng trên thông qua chỉ mục 2 và 3

Truy cập phần tử

Truy cập phần tử


Các bước tiến hành:

  • Truy cập hàng 1 thông qua chỉ mục là 0
  • Truy cập phần tử cột 2 hàng 1 thông qua chỉ mục là 1

Truy cập phần tử hàng 2 cột 3

Các bước tiến hành:

  • Truy cập hàng 2 thông qua chỉ mục là 1
  • Truy cập phần tử cột 3 hàng 2 thông qua chỉ mục là 2

3. Phép lan truyền – Broadcasting

Xem kỹ về Broadcasting

Boardcasting chúng ta có thể dịch là lan truyền, cách mà chúng ta thay đổi đồng loạt giá trị nhiều phần tử của mảng. Cụ thể hơn nữa Numpy cho phép thực hiện tính toán giữa các mảng với số và các mảng khác chiều với nhau.

Nguồn ảnh: Python Data Science Handbook – Jake VanderPlas

a. Lan truyền mảng với số

Phép cộng mảng với số

Mảng một chiều

Như chúng ta thấy ở bên trên, 3 được cộng với tất cả (broadcasting) phần tử của x.

Một cách liên tưởng đơn giản giống dòng đầu tiên hình 2, Numpy đã chuyển số 3 thành một array một chiều là [3, 3, 3] để thực hiện phép cộng này.

Mảng hai chiều

Phép nhân mảng với số

Mảng một chiều

Mảng hai chiều

b. Lan truyền mảng với mảng

Phép cộng 2 mảng khác chiều

Mảng 2 chiều với mảng 1 chiều

Còn nữa …

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo