Mã python giả nghịch đảo

Tính toán nghịch đảo tổng quát của ma trận bằng cách sử dụng phép phân tách giá trị kỳ dị (SVD) của nó và bao gồm tất cả các giá trị kỳ dị lớn

Đã thay đổi trong phiên bản 1. 14. Hiện có thể hoạt động trên các chồng ma trận

Thông số . a (…, M, N) giống như mảng

Ma trận hoặc chồng ma trận được đảo ngược giả

rcond (…) array_like của float

Điểm cắt cho các giá trị số ít nhỏ. Các giá trị số ít nhỏ hơn hoặc bằng rcond * largest_singular_value được đặt thành 0. Phát sóng chống lại chồng ma trận

ẩn sĩ bool, tùy chọn

Nếu Đúng, a được giả định là Hermiti (đối xứng nếu có giá trị thực), cho phép một phương pháp hiệu quả hơn để tìm các giá trị đơn lẻ. Mặc định là Sai

Mới trong phiên bản 1. 17. 0

Trả về . B (…, N, M) ndarray

Giả nghịch đảo của a. Nếu a là một thể hiện của matrix thì B cũng vậy

Tăng . LinAlgLỗi

Nếu tính toán SVD không hội tụ

Xem thêm

scipy.linalg.pinv

Chức năng tương tự trong SciPy

________số 8

Tính nghịch đảo giả (Moore-Penrose) của ma trận Hermiti

ghi chú

Ma trận giả nghịch đảo của ma trận A, ký hiệu là \(A^+\) , được định nghĩa là. “ma trận 'giải quyết' [bài toán bình phương nhỏ nhất] \(Ax = b\) ,” tôi. e. , nếu \(\bar{x}\) được cho là giải pháp, thì \(A^+\) . is that matrix such that \(\bar{x} = A^+b\).

Có thể chỉ ra rằng nếu \(Q_1 \Sigma Q_2^T = A\) là phân tách giá trị số ít của A, thì . [1] \(A^+ = Q_2 \Sigma^+ Q_1^T\), where \(Q_{1,2}\) are orthogonal matrices, \(\Sigma\) is a diagonal matrix consisting of A’s so-called singular values, (followed, typically, by zeros), and then \(\Sigma^+\) is simply the diagonal matrix consisting of the reciprocals of A’s singular values (again, followed by zeros). [1]

Người giới thiệu

[ 1 ]

G. Strang, Đại số tuyến tính và các ứng dụng của nó, Tái bản lần 2. , Orlando, FL, Academic Press, Inc. , 1980, trang. 139-142

Hồi quy tuyến tính là thuật toán Machine Learning để dự đoán kết quả từ các tính năng (tính chất của đầu vào). Kết quả và các tính năng có mối quan hệ tuyến tính, hoặc tuyến tính gần (nằm trên đường thẳng)

Mã python giả nghịch đảo

Linear Regression sẽ tìm đường thẳng phù hợp để “fit”


Hàm hθ(x) cho Linear Regression

Công thức toán học

Mã python giả nghịch đảo

hθ(x) với Numpy

Chỉ cần thực hiện 2 ma trận (thực hiện

Mã python giả nghịch đảo
 với 1 ví dụ, X * Theta với nhiều ví dụ).

h= X @ Theta


Hàm J(θ) cho hồi quy tuyến tính

Hàm J(θ) cho biết độ “phù hợp” của đường thẳng đã tìm so với tập huấn luyện

Công thức toán học

Mã python giả nghịch đảo

J(θ) với Numpy

def computeCost(X,y,Theta):
	predicted = predict(X,Theta)
	sqr_error = (predicted - y)**2
	sum_error = np.sum(sqr_error)
	m = np.size(y)
	J = (1/(2*m))*sum_error
	return J

Vectorize Company

Mã python giả nghịch đảo

J(θ) véc tơ hóa với Numpy

def computeCost_Vec(X,y,Theta):
	error = predict(X,Theta) - y
	m = np.size(y)
	J = (1/(2*m))*np.transpose(error)@error
	return J

Thuật toán Gradient Descent

Thuật toán Gradient Descent dùng để tìm bộ số Theta phù hợp để điều chỉnh đường thẳng cho phù hợp với tập huấn luyện

Mã python giả nghịch đảo

mã giả

Repeat{
	Theta = Theta – (alpha/m)*(X.T * (h - y))
}

Gradient Descent với Numpy

def GradientDescent(X,y,alpha=0.02,iter=5000):
	theta = np.zeros(np.size(X,1))
	J_hist = np.zeros(iter)
	m = np.size(y)
	X_T = np.transpose(X)
	pre_cost = computeCost(X,y,theta)
	for i in range(0,iter):
		#printProgressBar(i,iter)
		error = predict(X,theta) – y
		#Core code of Gradient Descent
		theta = theta - (alpha/m)*(X_T @ error)
		cost = computeCost(X,y,theta)
		if np.round(cost,15) == np.round(pre_cost,15):
			print('Reach optima at I = %d ; J = %.6f'%(i,cost))
			J_hist[i:] = cost
			break
		pre_cost = cost
		J_hist[i] = cost
	yield theta
	yield J_hist

phương trình bình thường

Với Phương trình bình thường, ta không cần phải thực hiện mà vẫn tìm được Theta

Công thức toán học

Mã python giả nghịch đảo

Phương trình bình thường với Numpy

def NormEqn(X,y):
	return np.linalg.pinv(X.T @ X) @ (X.T @ y)

Lưu ý chung về Linear Regression

Linear Regression chỉ hoạt động tốt nếu một chuyên gia về lĩnh vực cần học (ví dụ. bất kỳ sản phẩm nào) có thể dự đoán được kết quả. Nếu một chuyên gia bất động sản chỉ có diện tích đất sẽ rất khó đoán giá (vì còn phụ thuộc vào vị trí, mặt tiền…). Hồi quy tuyến tính cũng vậy


Kết luận

Qua bài này chúng ta đã có Tổng kết hồi quy tuyến tính

Ở bài sau, Kteam sẽ GIỚI THIỆU LOGISTIC REGRESSION

Cảm ơn bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc đóng góp ý kiến ​​của mình để phát triển bài viết tốt hơn. Đừng quên “Luyện tập – Thử thách – Không sợ khó”


Thảo luận

Nếu bạn gặp bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngại đặt câu hỏi trong phần BÌNH LUẬN bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam. com to get the support from the community