Phân tích thành phần chính

Một phần của tài liệu (LUẬN văn THẠC sĩ) xử lý ảnh và ứng dụng điều khiển quá trình lên men trong công nghệ sản xuất chè đen (Trang 29)

6. Phƣơng pháp và phƣơng pháp luận

2.3. Phân tích thành phần chính

2.3.1. Ý tƣởng

Giả sử vector dữ liệu ban đầu x ϵ ℝD đƣợc giảm chiều trở thành z ϵ ℝK với

K<D. Một cách đơn giản để giảm chiều dữ liệu từ D về K<D là chỉ giữ lại K phần tử quan trọng nhất.

Giả sử các điểm dữ liệu có thành phần thứ hai(phƣơng đứng) giống hệt nhau hoặc sai khác nhau không đáng kể(phƣơng sai nhỏ). Khi đó thành phần này hoàn toàn có thể đƣợc lƣợc bỏ và ta ngầm hiểu rằng nó sẽ đƣợc xấp xỉ bằng kỳ vọng của thành phần đó trên toàn bộ dữ liệu. Ngƣợc lại, nếu áp dụng phƣơng pháp này theo chiều thứ nhất(phƣơng ngang), lƣợng thông tin bị mất đi đáng kể do sai số xấp xỉ quá lớn. Vì vậy, lƣợng thông tin theo mỗi thành phần có thể đƣợc đo bằng phƣơng sai của dữ liệu trên thành phần đó. Tổng lƣợng thông tin là tổng phƣơng sai trên toàn bộ các thành phần.

Hình 2.4: Ví dụ về phƣơng sai của dữ liệu trong không gian hai chiều

(a) Phƣơng sai của chiều thứ hai (tỷ lệ với độ rộng của đƣờng hình chuông) nhỏ hơn phƣơng sai của chiều thứ nhất. (b) Cả hai chiều có phƣơng sai đáng kể. Phƣơng sai của mỗi chiều là phƣơng sai của thành phần tƣơng ứng đƣợc lấy trên toàn bộ dữ liệu. phƣơng sai tỉ lệ thuận với độ phân tán dữ liệu.

Hình 2.5: Ý tƣởng chính của PCA

Tìm một hệ trực chuẩn mới sao cho trong hệ này, các thành thành phần quan trọng nhất nằm trong K thành phàn đầu tiên.

Phân tích thành phần chính là phƣơng pháp đi tìm một phép xoay trục tọa độ để đƣợc một hệ trục tọa độ mới sao cho trong hệ mới này, thông tin chủ yếu tập trung ở một vài thành phần. Phần còn lại chứa ít thông tin hơn có thể đƣợc lƣợc bỏ.

Phép xoay trục tọa độ có liên hệ chặt chẽ tới hệ trực chuẩn và ma trận trực giao. Giả sử hệ trực chuẩn mới là U (mỗi cột của U là một vector đơn vị cho một chiều) và ta muốn giữ lại K tọa độ trong hệ cơ sở mới này. Không mất tính tổng quát, giả

một hệ trực chuẩn với UK là ma trận con tạo bởi K cột đầu tiên của U. Trong hệ cơ sở mới này, ma trận dữ liệu có thể đƣợc viết thành

X = UKZ+ ̂KY (2.14)

Từ đây ta cũng suy ra

(2.15)

Mục đích của PCA là đi tìm ma trận trực giao U sao cho phần lớn thông tin nằm

ở UKZ , phần nhỏ thông tin nằm ở ̂KY . Phần nhỏ này sẽ đƣợc lƣợc bỏ và xấp xỉ

bằng một ma trận có các cột nhƣ nhau. Gọi mỗi cột đó là b, khi đó, ta sẽ sấp xỉ Y b1T với 1T ϵ ℝ1×N

là một vector hàng có toàn bộ các phần tử bằng một. Giả sử đã tìm đƣợc U, ta cần tìm b thỏa mãn:

(2.16)

Giải phƣơng trình đạo hàm theo b của hàm mục tiêu bằng 0:

(2.17)

Ở đây ta đã sử dụng 1T

1 = N và ̅ X1 là vector trung bình của các cột của

X.

Với giá trị b tìm đƣợc này, dữ liệu ban đầu sẽ đƣợc xấp xỉ bởi

(2.18)

2.3.2. Hàm mất mát

Hàm mất mát của PCA đƣợc coi nhƣ sai số của phép xấp xỉ, đƣợc định nghĩa là

(2.19)

Chú ý rằng, nếu các cột của một ma trận V tạo thành một hệ trực chuẩn thì với một ma trận W bất kỳ, ta luôn có

(2.20)

Đặt ̂ = X - ̅1T . Ma trận này có đƣợc bằng cách trừ mỗi cột của X đi trung

Có Thể thấy ̂n = xn - ̅, n = 1,2,…,N.

Vì vậy hàm mất mát trong (2.19) có thể đƣợc viết lại thành:

(2.21)

(2.22)

Với S = ̂ ̂T là ma trận hiệp phƣơng sai của dữ liệu và luôn là một ma trận

nửa xác định dƣơng. Công việc còn lại là tìm các ui để mất mát là nhỏ nhất. Với ma trận U trực giao bất kỳ, thay K = 0 vào (2.22) ta có

(2.23)

(2.24)

Với 1 1 D 0 là các trị riêng của ma trận nửa xác định dƣơng S. Chú ý rằng các giá trị riêng này là thực và không âm.

Như vậy L không phụ thuộc vào cách chọn ma trận trực giao U và bằng tổng các phần tử trên đƣờng chéo của S. Nói cách khác, L chính là tổng các phƣơng sai theo từng thành phần của dữ liệu ban đầu.

Vì vậy, việc tối thiểu hóa hàm mất mát J đƣợc cho bởi (2.22) tƣơng đƣơng với việc tối đa biểu thức

(2.25)

2.3.3. Tố ƣu óa àm mất mát

Nghiệm của bài toán tối ƣu hóa hàm mất mát PCA đƣợc tìm dựa trên khẳng định sau đây:

Nếu S là một ma trận nửa xác định dƣơng, bài toán tối ƣu

(2.26)

Có nghiệm u1,…, uK là các vector riêng ứng với K trị riêng (kể cả lặp) lớn nhất của

S. Khi đó, giá trị lớn nhất của hàm mục tiêu là ∑ i , với 1 2 D là các trị

riêng của S.

Trị riêng lớn nhất 1 của ma trận hiệp phƣơng sai S còn đƣợc gọi là thành phần

chính thứ nhất, trị riêng thứ hau 2 đƣợc gọi là thành phần chính thứ hai,… Tên gọi

phân tích thành phần chính bắt nguồn từ đây. Ta chỉ giữ lại K thành phần chính đầu tiên khi giảm chiều dữ liệu dùng PCA

Trong không gian ban đầu, các vector cơ sở e1, e2, phƣơng sai theo mỗi chiều dữ liệu (tỷ lệ với độ rộng của các hình chuông nét liền) đều lớn. Trong hệ cơ sở mới Ou1u2,

phƣơng sai theo chiều thứ hai ̂ nhỏ hơn với

̂ . Điều này chỉ ra rằng khi chiếu dữ liệu lên

u2, tta đƣợc các điểm rất gần nhau và gần với giá trị trung bình theo chiều đó. Trong trƣờng hợp này, vì giá trị trung bình theo mọi chiều bằng 0, ta có thể thay thế tọa độ theo chiều u2 bằng 0. Rõ ràng là nếu dữ liệu có phƣơng sai càng nhỏ theo một chiều nào đó thì khi xấp xỉ chiều đó bằng một hằng số, sai số xấp xỉ càng nhỏ.

Hình 2.6: Minh họa các thành phần chính với dữ liệu hai chiều.

PCA thực chất là đi tìm một phép xoay tƣơng ứng với một ma trận trực giao sao cho trong hệ tọa độ mới, tồn tại các chiều có phƣơng sai nhỏ có thể đƣợc bỏ qua; ta chỉ giữ lại các chiều/thành phần khác quan trọng hơn. Nhƣ đã khẳng định ở trên, tổng phƣơng sai theo toàn bộ các chiều trong một hệ cơ sở bất kỳ là nhƣ nhau và bằng tổng các trị riêng của ma trận hiệp phƣơng sai. Vì vậy, PCA còn đƣợc gọi là phƣơng pháp giảm số chiều dữ liệu sao cho tổng phƣơng sai còn lại là lớn nhất.

2.3.4. C c bƣớc thực hiện phân tích thành phần chính

1) Tính vector trung bình của toàn bộ dữ liệu:

̅ = ∑ n

2) Trừ mỗi điểm dữ liệu đi vector trung bình của toàn bộ dữ liệu để đƣợc dữ

liệu chuẩn hóa:

̂n = xn - ̅

3) Đặt ̂ = [ ̂1, ̂2, …, ̂D] là ma trận dữ liệu chuẩn hóa, tính ma trận hiệp phƣơng sai:

S = ̂ ̂T

4) Tính các trị riêng và vector riêng tƣơng ứng có 2 norm bằng 1 của ma trận

này, sắp sêp chúng theo giá trị giảm dần của trị riêng.

5)Chọn K vector riêng ứng với K trị riêng lớn nhất để xây dựng ma trận UK có

các cột tạo thành một hệ trực giao. K vector này đƣợc gọi là các thành phần chính, tạo thành một không gian con gần với phân bố dữ liệu của ban đầu đã chuẩn hóa.

6) Chiếu dữ liệu ban đầu đã chuẩn hóa ̂ xuống không gian con tìm đƣợc

7) Dữ liệu mới là tọa độ các điểm dữ liệu trên không gian mới: Z = ̂.

Nhƣ vậy, PCA là kết hợp của phép tịnh tiến, xoay trục tọa độ và chiếu dữ liệu lên hệ tọa độ mới. Dữ liệu ban đầu có thể tính đƣợc xấp xỉ theo dƣ liệu mới bởi:

x UKZ + ̅. Quy trình thực hiện PCA đƣợc tóm tắt ở Hình 2.7

2.4. Thuật toán Cây quyết định và Rừng ngẫu nhiên 2.4.1. Khái niện chung 2.4.1. Khái niện chung

2.4.1.1. Phân loại và dự đoán (hồi quy)

Kho dữ liệu luôn chứa rất nhiều các thông tin hữu ích có thể dùng cho việc ra các quyết định liên quan đến điều hành, định hƣớng của một đơn vị, tổ chức. Phân loại và dự đoán là hai dạng của quá trình phân tích dữ liệu đƣợc sử dụng để trích rút các mô hình biểu diễn các lớp dữ liệu quan trọng hoặc dự đoán các dữ liệu phát sinh trong tƣơng lai. Kỹ thuật phân tích này giúp cho chúng ta hiểu kỹ hơn về các kho dữ liệu lớn. Ví dụ chúng ta có thể xây dựng một mô hình phân loại để xác định một giao dịch cho vay của ngân hàng là an toàn hay có rủi ro hoặc xây dựng mô hình dự đoán để phán đoán khả năng chi tiêu của các khách hàng tiềm năm dựa trên các thông tin liên quan đến thu nhập của họ. Rất nhiều các phƣơng pháp phân loại và dự đoán đƣợc nghiên cứu trong các lĩnh vực máy học, nhận dạng mẫu và thống kê. Hầu hết các thuật toán đều có hạn chế về bộ nhớ với các giả định là kích thƣớc dữ liệu đủ nhỏ. Kỹ thuật khai phá dữ liệu gần đây đã đƣợc phát triển để xây dựng các phƣơng pháp phân loại và dự đoán phù hợp hơn với nguồn dữ liệu có kích thƣớc lớn.

a, Phân loại

Quá trình phân loại thực hiện nhiệm vụ xây dựng mô hình các công cụ phân loại giúp cho việc gán nhãn phân loại cho các dữ liệu. Ví dụ nhãn “An toàn” hoặc “Rủi ro” cho các yêu cầu vay vốn; “Có” hoặc “Không” cho các thông tin thị trƣờng… Các nhãn dùng phân loại đƣợc biểu diễn bằng các giá trị rời rạc trong đó việc sắp xếp chùng là không có ý nghĩa.

Phân loại dữ liệu gồm hai quá trình. Trong quá trình thứ nhất một công cụ phân loại sẽ đƣợc xây dựng để xem xét nguồn dữ liệu. Đây là quá trình học, trong đó một thuật toán phân loại đƣợc xây dựng bằng cách phân tích hoặc “học” từ tập dữ liệu huấn luyện đƣợc xây dựng sẵn bao gồm nhiều bộ dữ liệu. Một bộ dữ liệu X biểu diễn bằng một vector p chiều, X = (x1, x1, … , xp), đây là các giá trị cụ thể của một tập p thuộc tính của nguồn dữ liệu {A1, A1, … , Ap}. Mỗi bộ đƣợc giả sử rằng

nó thuộc về một lớp đƣợc định nghĩa trƣớc với các nhãn xác định Quá trình đầu tiên của phân loại có thể đƣợc xem nhƣ việc xác định ánh xạ hoặc hàm y = f(X), hàm này có thể dự đoán nhãn y cho bộ X. Nghĩa là với mỗi lớp dữ liệu chúng ta cần học (xây dựng) một ánh xạ hoặc một hàm tƣơng ứng.

Trong bƣớc thứ hai, mô hình thu đƣợc sẽ đƣợc sử dụng để phân loại. Để đảm bảo tính khách quan nên áp dụng mô hình này trên một tập kiểm thử hơn là làm trên tập dữ liệu huấn luyện ban đầu. Tính chính xác của mô hình phân loại trên tập dữ liệu kiểm thử là số phần trăm các bộ dữ liệu kiểm tra đƣợc đánh nhãn đúng bằng cách so sánh chúng với các mẫu trong bộ dữ liệu huấn luyện. Nếu nhƣ độ chính xác của mô hình dự đoán là chấp nhận đƣợc thì chúng ta có thể sử dụng nó cho các bộ dữ liệu với thông tin nhãn phân loại chƣa xác định.

b, Dự đoán

Dự đoán dữ liệu là một quá trình gồm hai bƣớc, nó gần giống với quá trình phân loại. Tuy nhiên để dự đoán, chúng ta bỏ qua khái niệm nhãn phân loại bởi vì các giá trị đƣợc dự đoán là liên tục (đƣợc sắp xếp) hơn là các giá trị phân loại. Ví dụ thay vì phân loại xem một khoản vay có là an toàn hay rủi do thì chúng ta sẽ dự đoán xem tổng số tiền cho vay của một khoản vay là bao nhiêu thì khoản vay đó là antoàn.

Có thể xem xét việc dự đoán cũng là một hàm y = f(X), trong đó X là dữ liệu đầu vào, và đầu ra là một giá trị y liên tục hoặc sắp xếp đƣợc. Việc dự đoán và phân loại có một vài điểm khác nhau khi sử dụng các phƣơng pháp xây dựng mô hình. Giống với phân loại, tập dữ liệu huấn luyện sử dụng để xây dựng mô hình dự đoán không đƣợc dùng để đánh giá tính chính xác. Tính chính xác của mô hình dự đoán đƣợc đánh giá dựa trên việc tính độ lệch giá các giá trị dự đoán với các giá trị thực sự nhận đƣợc của mỗi bộ kiểm tra X.

2.4.1.2. Cây quyết định

Cây quyết định là một kiểu mô hình dự báo (predictive model), nghĩa là một ánh xạ từ các quan sát về một sự vật/hiện tƣợng tới các kết luận về giá trị mục tiêu của sự vật/hiện tƣợng.

Cây quyết định có cấu trúc hình cây và là một sự tƣợng trƣng của một phƣơng thức quyết định cho việc xác định lớp các sự kiện đã cho. Mỗi nút của cây chỉ ra một tên lớp hoặc một phép thử cụ thể, phép thử này chia không gian các dữ liệu tại nút đó thành các kết quả có thể đạt đƣợc của phép thử. Mỗi tập con đƣợc chia ra là không gian con của các dữ liệu đƣợc tƣơng ứng với vấn đề con của sự phân loại. Sự phân chia này thông qua một cây con tƣơng ứng. Quá trình xây dựng cây quyết định có thể xem nhƣ là một chiến thuật chia để trị cho sự phân loại đối tƣợng [4][5]. Một cây quyết định có thể mô tả bằng các khái niệm nút và đƣờng nối các nút trong cây.

Mỗi nút của cây quyết định có thể là:

- Nút lá (leaf node) hay còn gọi là nút trả lời (answer node), nó biểu thị cho một lớp các trƣờng hợp (bản ghi), nhãn của nó là tên của lớp.

- Nút không phải là lá (non-leaf node) hay còn gọi là nút trong (inner node), nút này xác định một phép thử thuộc tính (attribute test), nhãn của nút này có tên của thuộc tính và sẽ có một nhánh (hay đƣờng đi) nối nút này đến cây con (subtree) ứng với mỗi kết quả có thể có của phép thử. Nhãn của nhánh này chính là giá trị của thuộc tính đó. Nút không phải lá nằm trên cùng là nút gốc (root node). Một cây quyết định sử dụng để phân loại dữ liệu bằng cách bắt đầu đi từ nút gốc của cây và đi xuyên qua cây theo các nhánh cho tới khi gặp nút lá, khi đó ta sẽ đƣợc lớp của dữ kiện đang xét.

2.4.2. T uật to n Rừn n ẫu n n(Random Forest)

2.4.2.1. Khái niệm

a, Phƣơng pháp Boostrap

Phƣơng pháp Boostrap là một phƣơng pháp rất nổi tiếng trong thống kê đƣợc giới thiệu bởi Bradley Efron vào năm 1979 [17]. Phƣơng pháp này chủ yếu dùng để ƣớc lƣợng lỗi chuẩn (standard errors), độ lệch (bias) và tính toán khoảng tin cậy (confidence interval) cho các tham số. Phƣơng pháp này đƣợc thực hiện nhƣ sau: từ một tập ban đầu lấy ra một mẫu gồm N thành phần, tính toán các tham số mong

D = (x1, x2,…, xn) bằng cách lấy lại mẫu với sự thay thế các thành phần trong mẫu ban đầu sau đó tính toán các tham số mong muốn.

b, Phƣơng pháp Bagging

 Mô hình hoạt động của Bagging

Bagging (Bootstrap aggregating) là tổng hợp các bootstrap sử dụng cách tiếp cận xây dựng mỗi bộ phân loại một cách độc lập với nhau, sau đó sử dụng phƣơng pháp bỏ phiếu để chọn ra kết quả cuối cùng của bộ kết hợp. Tức là mỗi bộ phân loại cơ bản sẽ đƣợc xây dựng độc lập với các bộ phân loại khác bằng cách thay đổi tập dữ liệu huấn luyện đầu vào, thay đổi các đặc trƣng trong tập huấn luyện. Bagging tạo ra các bộ phân loại từ các tập mẫu con có lặp từ tập mẫu ban đầu (sử dụng bootstrap lấy mẫu có hoàn lại) và một thuật toán học máy, mỗi tập mẫu sẽ tạo ra một bộ phân loại cơ bản.

Các bộ phân loại sẽ đƣợc kết hợp bằng phƣơng pháp bỏ phiếu theo số đông. Tức là khi có một mẫu cần đƣợc phân loại, mỗi bộ phân loại sẽ cho ra một kết quả. Và kết quả nào xuất hiện nhiều nhất sẽ đƣợc lấy làm kết quả của bộ kết hợp.

 Thuật toán Bagging

Bagging tạo ra N tập huấn luyện đƣợc chọn có lặp từ tập dữ liệu huấn luyện

Một phần của tài liệu (LUẬN văn THẠC sĩ) xử lý ảnh và ứng dụng điều khiển quá trình lên men trong công nghệ sản xuất chè đen (Trang 29)

Tải bản đầy đủ (PDF)

(68 trang)