PHÁT HIỆN đối TƯỢNG TRONG ẢNH sử DỤNG PHƯƠNG PHÁP MACHINE LEARNING (có code)
Trang 1ĐỒ ÁN TỐT NGHIỆP
PHÁT HIỆN ĐỐI TƯỢNG TRONG ẢNH
SỬ DỤNG PHƯƠNG PHÁP MACHINE
LEARNING
Trang 2DANH MỤC CÁC BẢNG BIỂU VI DANH MỤC CÁC TỪ VIẾT TẮT VII
CHƯƠNG 1 GIỚI THIỆU VỀ ĐỀ TÀI 1
1.1 GIỚI THIỆU 1
1.2 YÊU CẦU CỦA ĐỀ TÀI 1
1.3 HƯỚNG GIẢI QUYẾT 2
CHƯƠNG 2 LÝ THUYẾT LIÊN QUAN 3
2.1 MACHINE LEARNING 3
2.1.1 Machine learning 3
2.1.2 Các thuật toán của machine learning 8
2.2 ẢNH SỐ 9
CHƯƠNG 3 PHÁT HIỆN ĐỐI TƯỢNG DÙNG PHƯƠNG PHÁP MACHINE LEARNING 12
3.1 ĐẶC TRƯNG HAAR LIKE VÀ BỘ PHÂN LOẠI ADABOOST 12
3.1.1 Đặc trưng Haar Like 12
3.1.2 Bộ phân loại Adaboost 14
3.2 PHÂN TÍCH THÀNH PHẦN CHÍNH PCA (PRINCIPAL COMPONENT ANALYSIS) 16
3.2.1 Các khái niệm 17
3.2.2 Các bước thực hiện trong Principal Component Analysis 20
3.3 NHẬN DẠNG ĐỐI TƯỢNG 23
3.4 PHÂN TÍCH THÀNH PHẦN ĐỘC LÂP ICA (INDEPENDENT COMPONENT ANALYSIS) .24 CHƯƠNG 4 KẾT QUẢ MÔ PHỎNG 26
4.1 MATLAB 26
4.2 SƠ ĐỒ HOẠT ĐỘNG CHUNG 28
Trang 3CHƯƠNG 5 KẾT LUẬN 35
5.1 NHẬN XÉT 35
5.2 KẾT LUẬN 35
5.3 HƯỚNG PHÁT TRIỂN 35
TÀI LIỆU THAM KHẢO 36
PHỤ LỤC 37
Trang 4HÌNH 2-3: MÁY CHƠI CỜ VÂY CỦA ALPHAGO VỚI LEE SEDOL 4
HÌNH 2-4: ỨNG DỤNG GỢI Ý PHIM TRÊN NETFLIX 5
HÌNH 2-5: ỨNG DỤNG TAG KHUÔN MẶT TRÊN FACEBOOK 5
HÌNH 2-6: TRÍ TUỆ NHÂN TẠO AI, MACHINE LEARNING VÀ DEEP LEARNING 6
HÌNH 2-7: ĐIỂM ẢNH (PIXEL) 10
HÌNH 2-8: ẢNH TRẮNG ĐEN VÀ ẢNH XÁM 11
HÌNH 2-9: ẢNH MÀU 11
Y HÌNH 3-1: ĐẶC TRƯNG CƠ BẢN CỦA HAAR LIKE 12
HÌNH 3-2: CÁC ĐẶC TRƯNG MỞ RỘNG 12
HÌNH 3-3: CÁCH TÌM INTEGRAL IMAGE CỦA ẢNH 13
HÌNH 3-4: XÁC ĐỊNH MỨC XÁM TẠI VÙNG S 13
HÌNH 3-5: MÔ HÌNH PHÂN TẦNG KẾT HỢP VỚI BỘ PHẬN LOẠI 14
HÌNH 3-6: KẾT HỢP CÁC BỘ PHÂN LOẠI YẾU THÀNH BỘ PHÂN LOẠI MẠNH 15
HÌNH 3-7: MÔ HÌNH XÁC ĐỊNH VỊ TRÍ ĐỐI TƯỢNG 15
HÌNH 3-8: XÁC ĐỊNH VỊ TRÍ CỦA ĐỐI TƯỢNG (KHUÔN MẶT) 16
HÌNH 3-9: CHUYỂN ĐỔI MA TRẬN NXN THÀNH N2X1 20
HÌNH 3-10: SỰ THAY ĐỔI KHÔNG GIANC CỦA DỮ LIỆU 25
HÌNH 4-1: MATLAB 26
HÌNH 4-2: GIAO DIỆN MATLAB KHI CHẠY ỨNG DỤNG 27
HÌNH 4-3: GIAO DIỆN THIẾT KẾ TRÊN GUI 27
Trang 5HÌNH 4-7: NHẬN DẠNG ĐỐI TƯỢNG 30
HÌNH 4-8: XÁC ĐỊNH VỊ TRÍ ĐỐI TƯỢNG 31
HÌNH 4-9:TÁCH TỪNG ĐỐI TƯỢNG RA KHỎI ẢNH BAN ĐẦU 31
HÌNH 4-10: CHỌN ĐỐI TƯỢNG VÀ NHẬN DẠNG 32
HÌNH 4-11: NHẬN DẠNG ĐƯỢC ĐỐI TƯỢNG 32
HÌNH 4-12: PHÁT HIỆN ĐỐI TƯỢNG LỖI 33
HÌNH 4-13: PHÁT HIỆN ĐỐI TƯỢNG KHÔNG MONG MUỐN 33
HÌNH 4-14: KHÔNG XÁC ĐỊNH ĐƯỢC ĐỐI TƯỢNG KHI NGHIÊNG SANG TRÁI 34
HÌNH 4-15: KHÔNG XÁC ĐỊNH KHI NGHIÊNG SANG PHẢI 34
Trang 7ICA Independent Component Analysis
Trang 8CHƯƠNG 1 GIỚI THIỆU VỀ ĐỀ TÀI
1.1 Giới thiệu
Với sự tiến bộ của khoa học – kĩ thuật - công nghệ, những thuật toán về khoa họcmáy tính đã cho phép con người có thể dùng máy móc thay thế cho những việctưởng chừng như phức tạp thành đơn giản, những việc không những đòi hỏi tốc độ
xử lý nhanh mà còn mang lại sự hiệu quả cao
Phát hiện và nhận dạng đối tượng là một trong những ứng dụng tuyệt vời với nhữnggiá trị mà nó mang lại Để tra thông tin về một đối tượng, có thể mất hàng giờ đểtìm ra được đó là khi trong phạm vi tìm kiếm nhỏ, vậy khi tìm người nào đó ở mộtphạm vi quốc gia thì sao, điều đó là bất khả thi Nhưng với một thuật toán để pháthiện và nhận dạng đối tượng (khuôn mặt của người), chỉ mất vài phút có thể lâu khi
cơ sở dữ liệu lớn nhưng tính hiệu quả vẫn tốt hơn
Ứng dụng về phát hiện và nhận dạng qua khuôn mặt đã xuất hiện trên các sản phẩmcông nghệ như điện thoại thông minh (smartphone) hay laptop để mở khóa mànhình, cũng có thể dùng điểm danh tại các trường học, công ty
1.1 Yêu cầu của đề tài
Machine learning – phương pháp đang là xu hướng nguyên cứu được nhiều chuyêngia và nhà nguyên cứu tìm hiểu trong nhiều năm qua, hàng loạt các ứng dụng sửdụng machine learning được áp dụng vào các lĩnh vực trong đời sống xã hội baogồm như trong dịch vụ tài chính, chăm sóc sức khỏe, marketing và sales, vận tải…
Do đó, vấn đề tìm hiểu về machine learning, tìm hiểu những thuật toán củamachine learning được đề ra trong đề tài này Áp dụng những thuật toán màmachine learning mang lại để đơn giản hóa các vấn đề phức tạp và mang lại hiệuquả cao Phương pháp PCA được cho là có cách giải quyết không những đơn giản
mà còn mang hiệu quả Tìm hiểu về thuật toán PCA để giải quyết các vấn đề đặt ra.Một bức ảnh bao gồm các đối tượng, xác định ví trí của đối tượng, tách đối tượngkhỏi ảnh ban đầu và xác định các đặc trưng riêng Ảnh được sử dụng là ảnh màu
Trang 9RGB, ảnh đầu vào (input) là ảnh có chất lượng khá tốt, ảnh đầu ra (output) sau khixác nhận các đặc trưng được giữ nguyên kích thước
MATLAB – một phần mềm được sử dụng phổ biến hiện nay, là công cụ dùng đểthực hiện các mô phỏng, đánh giá và thực nghiệm, vì thế lựa chọn MATLAB đểthực hiện giải thuật phát hiện và nhận dạng đối tượng trên Xây dựng giải thuật đểnhận dạng các đối tượng trong ảnh và trong đó các đối tượng đã được xây dựng trên
cơ sở dữ liệu Sử dụng các toolbox hổ trợ trong MATLAB như: image processingtoolbox, computer vision toolbox…
Thiết kế một giao diện người dùng với các phím chức năng được mô phỏng trênGUI của MATLAB
1.2 Hướng giải quyết
Ảnh đầu vào được thực hiện các phép biến đổi để phát hiện đối tượng, xác định vịtrí của từng đối tượng, tách đối tượng thành những phần riêng Trích xuất nhữngthành phần đặc trưng của đối tượng bằng thuật toán Sau đó, xây dựng cơ sở dữ liệucho tập ảnh để nhận dạng đối tượng
Ảnh đầu ra thể hiện những thành phần từ những thành phần đặc trưng của ảnh vào,
và hiển thị một số thông tin về đối tượng
MATLAB được sử dụng làm công cụ hỗ trợ và GUI dùng để hiện thực quá trình môphỏng
Trang 10CHƯƠNG 2 LÝ THUYẾT LIÊN QUAN
1.3 Machine learning
1.1.1 Machine learning
Trong thời gian gần đây, AI - Artificial Intelligence (trí tuệ nhân tạo), và cụ thể hơn
là machine learning (học máy hoặc máy học) đang nổi lên như một bằng chứng củacuộc cách mạng công nghiệp lần thứ tư (1 - động cơ hơi nước, 2 - năng lượng điện,
3 - công nghệ thông tin) Trí tuệ thân tạo đang len lỏi vào mọi lĩnh vực trong đờisống: xe tự hành của Google và Tesla, hệ thống tự tag đối tượng trong ảnh củaFacebook, trợ lý ảo Siri của Apple, hệ thống gợi ý sản phẩm của Amazon, hệ thốnggợi ý phim của Netflix, máy chơi cờ vây AlphaGo của Google DeepMind… là mộtvài trong vô vàn những ứng dụng của AI/Machine learning
Hình 2-1: Ứng dụng Siri trên Iphone của Apple
Machine Learning là một tập con của AI - Artificial Intelligence (trí tuệ nhân tạo),nơi mà các thuật toán máy tính được sử dụng để tự học từ dữ liệu và thông tin.Trong machine learning, các máy tính không cần phải được lập trình một cách rõràng nhưng có thể tự thay đổi và cải thiện các thuật toán của chúng Machine
Trang 11learning là một phương pháp phân tích dữ liệu mà sẽ tự động hóa việc xây dựng môhình phân tích Sử dụng các thuật toán lặp để học từ dữ liệu, machine learning chophép máy tính tìm thấy những thông tin giá trị ẩn sâu mà không được lập trình mộtcách rõ ràng nơi để tìm.
Hình 2-2: Xe tự hành của Google
Hình 2-3: Máy chơi cờ vây của AlphaGo với Lee Sedol
Những năm gần đây, khi mà khả năng tính toán của các máy tính được nâng lên mộttầm cao mới và lượng dữ liệu khổng lồ được thu thập bởi các hãng công nghệ lớn,
Trang 12machine learning đã tiến thêm một bước dài và một lĩnh vực mới được ra đời gọi làdeep learning Deep learning đã giúp máy tính thực thi những việc tưởng chừng nhưkhông thể vào 10 năm trước: phân loại các vật thể khác nhau trong các bức ảnh, tựtạo chú thích cho ảnh, bắt chước giọng nói và chữ viết của con người, giao tiếp vớicon người, hay thậm chí cả sáng tác văn hay âm nhạc.
Hình 2-4: Ứng dụng gợi ý phim trên Netflix
Hình 2-5: Ứng dụng tag khuôn mặt trên Facebook
Trang 13Hình 2-6: Trí tuệ nhân tạo AI, machine learning và deep learning
Sơ lược theo thời gian về lịch sự hình thành của machine learning và các sự kiệnquan trọng:
Năm 1950 - nhà bác học Alan Turing đã tạo ra "Turing Test (phép thử Turing)" đểxác định xem liệu một máy tính có trí thông minh thực sự hay không Để vượt quabài kiểm tra đó, một máy tính phải có khả năng đánh lừa một con người tin rằng nócũng là con người
Năm 1952 - Arthur Samuel đã viết ra chương trình học máy (computer learning)đầu tiên Chương trình này là trò chơi cờ đam, và hãng máy tính IBM đã cải tiến tròchơi này để nó có thể tự học những nước đi lập nên chiến lược để giành chiếnthắng
Năm 1957 - Frank Rosenblatt đã thiết kế mạng nơron (neural network) đầu tiên chomáy tính (gọi là perceptron), mô phỏng quá trình suy nghĩ của bộ não con người.Năm 1967 - thuật toán điểm lân cận gần nhất (nearest neighbor) đã được viết, chophép các máy tính bắt đầu sử dụng những mẫu nhận dạng (pattern recognition) rất
cơ bản Nó được sử dụng để vẽ ra lộ trình cho một người bán hàng có thể bắt đầu đi
từ một thành phố ngẫu nhiên nhưng đảm bảo anh ta sẽ đi qua tất cả các thành phốkhác theo một quãng đường ngắn nhất
Trang 14Năm 1979 - sinh viên tại trường đại học Stanford đã phát minh ra giỏ hàng
"Stanford Cart" có thể điều hướng để tránh các chướng ngại vật trong một cănphòng
Năm 1981 - Gerald Dejong giới thiệu về khái niệm Học qua giải thích “ExplanationBased Learning (EBL)”, trong đó một máy tính phân tích dữ liệu huấn luyện và tạo
ra một quy tắc chung để nó có thể làm theo bằng cách loại bỏ đi những dữ liệukhông quan trọng
Năm 1985 - Terry Sejnowski đã phát minh ra NetTalk, học cách phát âm các từgiống như cách một đứa trẻ tập nói
Những năm 1990 trở đi - machine learning đã dịch chuyển từ cách tiếp cận hướngkiến thức (knowledge driven) sang cách tiếp cận hướng dữ liệu (data driven) Cácnhà khoa học bắt đầu tạo ra các chương trình cho máy tính để phân tích một lượnglớn dữ liệu và rút ra các kết luận - hay là học từ các kết quả đó
Năm 1997 – máy tính Deep Blue của hãng IBM đã đánh bại nhà vô địch cờ vua thếgiới
Năm 2006 - Geoffrey Hinton đã đưa ra một thuật ngữ "deep learning" để giải thíchcác thuật toán mới cho phép máy tính "nhìn thấy" và phân biệt các đối tượng và vănbản trong các hình ảnh và video
Năm 2010 – máy Microsoft Kinect có thể theo dõi 20 hành vi của con người ở mộttốc độ 30 lần mỗi giây, cho phép con người tương tác với máy tính thông qua cáchành động và cử chỉ
Năm 2011 - máy tính Watson của hãng IBM đã đánh bại các đối thủ là con ngườitại Jeopardy
Năm 2011 - Google Brain đã được phát triển, và mạng deep nơron (deep neuralnetwork) của nó có thể học để phát hiện và phân loại nhiều đối tượng theo cách màmột con mèo thực hiện
Năm 2012 - X Lab của Google phát triển một thuật toán machine learning có khảnăng tự động duyệt qua các video trên YouTube để xác định xem video nào có chứanhững con mèo
Trang 15Năm 2014 - Facebook phát triển DeepFace, một phần mềm thuật toán có thể nhậndạng hoặc xác minh các cá nhân dựa vào hình ảnh ở mức độ giống như con người.Năm 2015 - Amazon ra mắt nền tảng machine learning riêng của mình.
Năm 2015 - Microsoft tạo ra Distributed Machine Learning Toolkit, trong đó chophép phân phối hiệu quả các vấn đề machine learning trên nhiều máy tính
Năm 2015 - hơn 3.000 nhà nghiên cứu AI và Robotics, được sự ủng hộ bởi nhữngnhà khoa học nổi tiếng như Stephen Hawking, Elon Musk và Steve Wozniak (vànhiều người khác), đã ký vào một bức thư ngỏ để cảnh báo về sự nguy hiểm của vũkhí tự động trong việc lựa chọn và tham gia vào các mục tiêu mà không có sự canthiệp của con người
Năm 2016 - thuật toán trí tuệ nhân tạo của Google đã đánh bại nhà vô địch trò chơi
cờ vây, được cho là trò chơi phức tạp nhất thế giới Thuật toán AlphaGo được pháttriển bởi Google DeepMind đã giành chiến thắng 5/5 trước nhà vô địch cờ vây
1.1.2 Các thuật toán của machine learning
Có hai cách phổ biến phân nhóm các thuật toán machine learning Một là dựa trênphương thức học (learning style), hai là dựa trên chức năng (function) của mỗi thuậttoán
Theo phương thức học, các thuật toán machine learning được chia làm 4 nhóm:supervised learning (học có giám sát), unsupervised learning (học không có giámsát), semi-supervised lerning (học bán giám sát) và reinforcement learning (họccủng cố)
• Supervised learning (học có giám sát)
Supervised learning là thuật toán dự đoán đầu ra (outcome) của một dữ liệu mới(new input) dựa trên các cặp (input, outcome) đã biết từ trước Cặp dữ liệu này cònđược gọi là (data, label) (dữ liệu, nhãn) Một cách toán học, supervised learning là
khi có tập hợp biến đầu vào X = {x 1, x2,…xn} và tập hợp nhãn tương ứng Y = {y1, y2,
….yn}, trong đó xi, yi là các vector Cặp dữ liệu biết trước (xi ,yi) ϵ X, Y được gọi là
tập tranning data (dữ liệu huấn luyện) Từ tập dữ liệu huấn luyện này, tạo ra mộthàm số ánh xạ mỗi phần tử tập X sang một phần tử tương ứng của tập Y:
Trang 16y i ≈ f(x i), ∀ i=1, 2, N
Mục đích là xấp xỉ hàm số f để khi một dữ liệu x mới thì có thể tính được nhãntương ứng của nó y = f(x)
• Unsupervised learning (học không có giám sát)
Trong thuật toán unsepervised learning, không biết được đầu ra (outcome) hay nhãn
mà chỉ có dữ liệu đầu vào Thuật toán unsupervised learning sẽ dựa vào cấu trúc của
dữ liệu để thực hiện một công việc nào đó, ví dụ như phân nhóm (clustering) hoặcgiảm số chiều của dữ liệu (dimension reduction) để thuận tiện trong việc lưu trữ vàtính toán
Một cách toán học, unsupervised learning là chỉ biết dữ liệu vào X mà không biếtnhãn Y tương ứng
• Semi – supervised learning (học bán giám sát)
Các bài toán khi có một lượng lớn dữ liệu X nhưng chỉ một phần trong chúng đượcgán nhãn được gọi là học bán giám sát (semi-supervised learning) Những bài toánthuộc nhóm này nằm giữa hai nhóm được nêu ở trên
• Reinforcement learning (học củng cố)
Reinforcement learning là các bài toán giúp cho một hệ thống tự động xác địnhhành vi dựa trên hoàn cảnh để đạt được lợi ích cao nhất (maximizing theperformance)
Phân nhóm dựa theo chức năng (function), các thuật toán machine learning thườngđược chia thành các loại đa dạng khác nhau: hồi quy (regression algorithms), phânloại (classification algorithms), phân nhóm (clustering algorithms), giảm số chiều(dimensionality reduction algorithms)…
1.4 Ảnh số
Ảnh số (digital image) là tập hợp tất cả các điểm ảnh (pixel) với mức xám phù hợpđược dùng để mô tả ảnh sao cho gần với hình ảnh thật
• Điểm ảnh
Trang 17Điểm ảnh (pictrure element, pixel) là một phần tử của ảnh số có toạ độ (x, y) với độxám hoặc màu nhất định
• Độ phân giải
Độ phân giải (resolution) tức là mật độ điểm ảnh của ảnh đó Độ phân giải của ảnhcàng cao thì bức ảnh mà ta nhìn thấy càng rõ nét
• Mức xám
Mức xám của điểm ảnh là cường độ sáng của nó được gán bằng giá trị số tại điểm
đó, là kết quả của sự biến đổi tương ứng một giá trị độ sáng của một điểm ảnh vớimột giá trị nguyên dương Thông thường, nó xác định trong [0, 255] tuỳ thuộc vàogiá trị mà mỗi điểm ảnh được biểu diễn Các thang giá trị mức xám thông thường:
Ảnh màu là ảnh mà mỗi điểm ảnh được biểu diễn bằng 3 giá trị (R, G, B) trong đó
R, G, B là một giá trị xám và được biểu biểu diễn bằng một byte Khi đó, một ảnh
có 24 bits
Trang 18Hình 2-8: Ảnh trắng đen và ảnh xám
Hình 2-9: Ảnh màu
Trang 19CHƯƠNG 3 PHÁT HIỆN ĐỐI TƯỢNG DÙNG PHƯƠNG PHÁP
MACHINE LEARNING
1.5 Đặc trưng Haar Like và bộ phân loại Adaboost
1.1.3 Đặc trưng Haar Like
Đặc trưng Haar Like do Jones và Viola công bố, gồm 4 đặc trưng cơ bản Mỗi đặctrưng Haar Like là sự kết hợp của hai hay ba hình chữ nhật trắng hoặc đen:
Hình 3-1: Đặc trưng cơ bản của Haar Like
Bốn đặc trưng Haar Like cơ bản được mở rộng và chia thành các đặc trưng: đặctrưng cạnh, đặc trưng đường và đặc trưng xung quanh tâm
Trang 20Giá trị này dùng để so sánh với giá trị của các vùng pixel thô, các đặc trưng HaarLike có thể tăng hoặc giảm sự thay đổi bên trong hay bên ngoài lớp khuôn mặt,nhằm giúp việc phân loại đơn giản hơn.
Tuy nhiên, việc tính tổng các pixel trên ảnh đòi hỏi khả năng tính toán khá lớn Do
đó, Jones và Viola đưa ra khái niệm về integral image, là mảng hai chiều với kíchthước bằng với kích thước của ảnh cần tính các đặc trưng Haar Like Mỗi phần tửmảng này được tính bằng tổng của pixel ở phía trên (dòng 1) và bên trái (cột 1) của
nó, bắt đầu từ pixel phía trên, bên trái đến vị trí phía dưới, phải của ảnh
Hình 3-3: Cách tìm integral image của ảnh
Trang 21Bộ phân loại Adaboost là bộ phân loại mạnh phi tuyến dựa trên hướng tiếp cậnboosting được Freund và Schapire đưa ra năm 1995.
Adaboost hoạt động trên nguyên tắc kết hợp tuyến tính các weak classifiers (phânloại yếu) để hình thành strong classifiers (phân loại mạnh) Adaboost sử dụng việcđánh trọng số (weight), với mỗi weak classifiers được xây dựng sẽ được cập nhật lạitrọng số để chuẩn bị xây dựng weak classifiers kế tiếp, bằng việc tăng trọng số khinhận dạng sai và giảm trọng số khi nhận dạng đúng Sau đó, các weak classifiersđược kết hợp để hình thành strong classifiers
Mô hình phân tầng (cascade) là sự kết hợp giữa bộ phân loại Adaboost với các đặctrưng Haar Like
Hình 3-5: Mô hình phân tầng kết hợp với bộ phận loại
Trong đó, hk là các phân loại yếu, và được biểu diễn:
Trang 22• pk : hệ số xác định chiều của phương trình
Adaboost kết hợp các bộ phân loại yếu thành bộ phân loại mạnh:
H(x) = sign[ α 1 h1(x) + α 2 h2(x) +…+ α n hn(x)] (3.3)
Hình 3-6: Kết hợp các bộ phân loại yếu thành bộ phân loại mạnh
Hình 3-7: Mô hình xác định vị trí đối tượng
Trang 23Hình 3-8: Xác định vị trí của đối tượng (khuôn mặt)
1.6 Phân tích thành phần chính PCA (Principal Component Analysis)
Phân tích thành phần chính PCA được giới thiệu lần đầu tiên bởi Karl Pearson vàonăm 1901, và được phát triển bởi H.Hotelling (1933), sau đó là T.W.Anderson(1958) và A.M.Kshirsagar (1972) Hiện nay, phương pháp phân tích thành phầnchính PCA được sử dụng như công cụ để phân tích dữ liệu nghiên cứu và thực hiệncác mô hình dự đoán Phương pháp PCA còn bao gồm cả việc tính toán phân tíchcác giá trị đặc trưng của một ma trận tuơng quan dữ liệu hay phân tính các giá trịđơn của ma trận dữ liệu thường sau khi tính trung bình dữ liệu của mỗi thuộc tính.PCA là phương pháp đơn giản nhất phân tích đa biến dựa trên các vector đặc trưng.Thông thường hoạt động của nó có thể được hiểu nhằm khám phá ra cấu trúc bêntrong của dữ liệu Nếu một tập dữ liệu đa biến được xem xét như tập các tọa độtrong một không gian dữ liệu nhiều chiều (mỗi trục biểu diễn một biến) thì phươngpháp PCA cung cấp cho chúng ta một bức ảnh ít chiều, một cái bóng của vật thể khiquan sát từ chính những đặc trưng cơ bản nhất của vật thể đó
Mục đích chính của phương pháp PCA là “giảm số chiều” của một tập vector saocho vẫn đảm bảo được tối đa thông tin quan trọng nhất so với tập dữ liệu ban đầu
Trang 24Phương pháp PCA sẽ giữ lại K thuộc tính “mới” từ M các thuộc tính ban đầu(K<M).
Một số đặc tính của PCA như sau:
• Giúp giảm số chiều dữ liệu, giúp visualization khi dữ liệu có quá nhiều chiềuthông tin
• Do dữ liệu ban đầu có số chiều lớn (nhiều biến) thì PCA giúp xoay trục tọa
độ xây dụng một trục tọa độ mới đảm bảo độ biến thiên của dữ liệu và giữ lạiđược nhiều thông tin nhất mà không ảnh hưởng tới chất lượng của các môhình dự báo
• Do PCA giúp tạo một hệ trục tọa độ mới nên về mặt ý nghĩa toán học, PCAgiúp xây dựng những biến mới là tổ hợp tuyến tính của những biến ban đầu
• Trong không gian mới, có thể giúp khám phá thêm những thông tin quý giámới khi mà tại chiều thông tin cũ những thông tin quý giá này bị che mất
dữ liệu
Trang 251.1.1.2 Hiệp phương sai (convariance)
Hiệp phương sai là thước đo mức độ biến thiên cùng nhau của hai biến ngẫu nhiên(phân biệt với phương sai – đo mức độ biến thiên của một biến) Nếu hai biến có xuhướng thay đổi cùng nhau (nghĩa là, khi một biến có giá trị cao hơn giá trị kỳ vọngthì biến kia cũng có xu hướng cao hơn giá trị kỳ vọng), thì hiệp phương sai giữa haibiến có giá trị dương Mặt khác, nếu một biến nằm trên giá trị kì vọng còn biến kia
có xu hướng nằm dưới giá trị kì vọng, thì hiệp phương sai của hai biến này có giá trị
âm Hiệp phương sai giữa hai biến được tính dựa vào công thức tính phương sai củamột biến
• Hiệp phương sai của biến đang xét với chính nó:
var (X,X) = ∑
n=1
N
(X n−X).(X n−X ) N
Ma trận hiệp phương sai (convariance matrix) của n biến ngẫu nhiên là một ma trậnvuông hạng (n x n), trong đó các phần tử nằm trên đường chéo chính (từ trái sangphải, từ trên xuống dưới) lần lượt là hiệp phương sai tương ứng của các biến này(var(X)= cov (X,X)), trong khi các phần tử còn lại (không nằm trên đường chéo) làhiệp phương sai của một cặp biến ngẫu nhiên khác nhau trong tập hợp, các giá trị