Làm quen với vector

Posted by Hao Do on August 6, 2022

Làm quen với vector

Giới thiệu một số thao tác cơ bản với vector.

Import thư viện trước khi thực hiện code

1
import numpy as np

Khởi tạo vector

1
x = np.array([1, 2, 3])
1
2
3
4
''' ep kieu float'''
x = np.array([1, 2, 3, 4,], dtype=np.float64)
print(type(x))
print(type(x[0]))

Vector giá trị 0 hoặc 1

1
2
3
4
5
'''vector toan gia tri 0 hoac 1 (dtype = np.float64)'''
x = np.zeros(3)
y = np.ones(6)
print(x)
print(y)

Vector theo cấp số cộng

1
2
3
4
5
''' tao vector theo cap so cong np.arange(a, b, d) a <= x < b'''
x = np.arange(0, 1, 0.1)
print(x)
x = np.arange(10)
print(x)

Kích thước vector

1
2
3
4
5
6
''' lay kich thuoc cua vector '''
x = np.array([4, 5, 6, 7])
print(x.shape) # tuple
d = x.shape[0]
print(d)
print(x[d-1] - x[-1]) # giong nhau

Phép toán của 2 vector

1
2
3
4
5
6
''' phep toan 2 vector (+, -, * , /) thuong theo kieu element-wise'''
''' --> cap phan tu tuong ung de tinh toan'''
x = np.array([3, 2, 1])
y = np.array([4, 3, 1])
print(x * y)
print(x ** y)
1
2
3
4
5
6
''' np.sin, np.cos, np.exp (e^x), np.log, np.sum()'''
x = np.array([1, 10, 4])
print(np.exp(x)) #e^x
print(np.log(x)) #ln(x)
print(np.sum(x))

Norm1 vector (sum abs)

1
2
3
4
5
#norm1 vector --> sum abs cua vector
x = np.array([1, -3, 5])
n1 = np.sum(np.abs(x))
print(n1)
print(np.sum(x))

Softmax regression (v1)

1
2
3
4
5
6
#softmax regression: --> classification
z = np.array([3, 1, 5, 9])
a = np.exp(z) / (np.sum(np.exp(z)))
print(a)
print(np.sum(a)) #sum = 1 (phan bo xac suat cua a_i)
#e^x se rat lon ?

Tích vô hướng 2 vector

1
2
3
4
5
6
7
8
# tinh vo huong 2 vector  - tinh tich tung phan tu roi cong lai
x = np.arange(3)
y = np.ones(3)

print(x)
print(y)
print(np.sum(x * y)) # tinh vo huong (c1)
print(np.dot(x, y)) # tich vo huong (c2)

Norm2 (Euclid)

1
2
3
4
# norm2 (euclid)
x = np.array([1, 3, 5, 2])
n2 = np.sqrt(np.sum(x ** 2))
print(n2)

Min, max, chỉ số min, max

1
2
3
4
# min, max, chi so min, chi so max
x = np.array([2, 3, 1, 4])
print(f'max = {np.max(x)} va min = {np.min(x)}')
print(f'id max = {np.argmax(x)} va id min = {np.argmin(x)}')

Cải tiến softmax regression

1
2
3
4
5
6
#cai tien ham softmax regression
z = np.array([3, 1, 5, 9])
b = np.max(z)
a = np.exp(z - b) / np.sum(np.exp(z - b))
print(a)
print(np.sum(a))

Full ipynb

Tài liệu tham khảo

Machine learning cơ bản

Hết.