Tại sao phải cần chuẩn hóa input (normalized input)

Xin chào mọi người, em đang làm bài tập polynomial regression. Trong đó có yêu cầu phải chuẩn hóa dữ liệu, em có google tìm hiểu gặp rất nhiều bài viết về việc này, nhưng mà vẫn chưa hiểu được ý nghĩa của nó.
Chuẩn hóa dữ liệu theo feature: FEATURENORMALIZE(X) returns a normalized version of X where the mean value of each feature is 0 and the standard deviation is 1. This is often a good preprocessing step to do when working with learning algorithms.
Trước khi chuẩn hóa:


Sau khi chuẩn hóa:

Xin cảm ơn mọi người nhiều ạ.

Theo ngu kiến của /me thì bởi vì mỗi feature x_i sẽ được tính vào công thức x_i*w_i+b_i, nên nếu có 2 feature mà không được chuẩn hóa, thì trọng số w_i và bias b_i của nó có thể không tương đương được với các feature khác, nên tới lúc so sánh tương quan giữa các feature với nhau sẽ xảy ra trường hợp không công bằng.

4 Likes

Em không hiểu lắm :v Khi tính toán thì mình tạo ma trận X thêm 1 cột vector 1 vào công thức: xi * wi + bi = xi * wi + bi * 1 = X* W. Ngoài ra em có tìm thấy 1 ý nghĩa của nó thế này, nhưng mà chỉ biết nó như vậy thôi chứ không rõ vấn đề :v

Dữ liệu đã chuẩn hóa thì dễ tối ưu hơn, giảm số bước lại (còn 1/10 hay 1/100).

Số lớn đặt chung với số bé còn làm sai lệch các phèp tính.

3 Likes

Có lẽ phần này liên quan đến xác suất thống kê mà em chưa hiểu rõ lắm, trước khi chuẩn hóa và sau khi chuẩn hóa thì dữ liệu có thay đổi, làm sao để khẳng định rằng boundery tìm được thỏa mãn cả 2 ạ.

Scaling chỉ thay đổi độ lớn theo tam suất chứ ko bóp méo như standardization :slight_smile:

2 Likes

Wow, hơi ảo diệu, em cảm ơn anh và mọi người :v

Cho hai không gian XY, ánh xạ f: X \rightarrow Y thoả mãn hai tính chất:

  • f là song ánh.
  • Với mọi x,y \in X, thì f(xy) = f(x)f(y).

Khi đó f được gọi là tự đẳng cấu, và XY đẳng cấu với nhau.

Tính chất đẳng cấu giúp bảo toàn toán tử (có thể là cộng, trừ, nhân, chia) từ một không gian này sang không gian khác. Hơn nữa, đẳng cấu f là một quan hệ tương đương, nên nó tạo thành một lớp tương đương C_f, là tập gồm các không gian tự đẳng cấu với nhau. Khi muốn tìm hiểu một phần tử bất kì trong C_f thì chỉ cần chọn ra một không gian để khảo sát, các không gian khác trong C_f cũng có tính chất tương tự.

Quay trở lại vấn đề Feature Normalization. Hàm FeatureNormalize là một tự đẳng cấu chuyển một phần tử trong không gian \mathbb{R}^n thành không gian [-1,1]^n. Vì vậy, tất cả thao tác trên không gian [-1,1]^n đều tương tự như không gian \mathbb{R}^n. Do đó sẽ không có trường hợp nào giải thuật hợp lệ trên [-1,1]^n mà thành giải thuật không hợp lệ trên \mathbb{R}^n.

Lý do thứ hai phải chuyển về không gian chuẩn, vì tuy là hai không gian khác nhau, nhưng sử dụng cùng một hàm metric là Euclidean distance, tổng quát hơn, là cả hai đều có cùng một Euclidean topology. Do đó, độ dài di chuyển trong mỗi bước lặp của giải thuật gần bằng nhau trong [-1,1]^n\mathbb{R}^n, cụ thể:

d_{[-1,1]^n}(x,y) \approx d_{\mathbb{R}^n}(x,y),

với x,y \in [-1,1]^n \cap \mathbb{R}^n. Từ hai khoảng cách gần bằng nhau dẫn đến số lần lặp giải thuật bé hơn.

6 Likes

Wow, cảm ơn anh, anh viết thật chi tiết, em cảm giác nó giống các phép biến hình ấy nhỉ :v

Phép biến hình như em nói tính ra nó còn tốt hơn cả đẳng cấu ấy. Vì nó còn có thêm điều kiện là ff^{-1} khả vi liên tục, nghĩa là đạo hàm phải là hàm liên tục.

3 Likes

Em có thể hiểu được chút ít rồi, em còn muốn hỏi là, phép chuẩn hóa này có phải chỉ nên áp dụng với linear regression mà không nên dùng với regularization logistic regression ko ạ? Nhưng nếu áp dụng được thì có phải mình phải scale tỉ lệ lại phải ko ạ.

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?