Data mining study the matlab tutorial, khai phá dữ liệu số

24 1.1K 12
Data mining study the matlab tutorial, khai phá dữ liệu số

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Data mining study the matlab tutorial, khai phá dữ liệu số

TRƯỜNG ĐẠI HỌC ĐIỆN LỰC KHOA ĐIỆN TỬ VIỄN THÔNG Báo cáo: Data mining: Study the Matlab tutorial and statistics toolbox in Matlab Giáo viên hướng dẫn: Dr. Đỗ Văn Tuấn Thành viên nhóm: 1. Lê Xuân Quyền 5.Lê Quang Lâm 2. Nguyễn Kim Đính 6.Nguyễn Duy Trình 3. Nguyễn Thanh Hải 7.Nguyễn Thị Yến B 4. Trần Huy Hùng 8. Vũ Hoàng Vương . Hà Nội, 5/2014 . 1 LỜI MỞ ĐẦU Khoảng hơn một thập kỷ trở lại đây, lượng thông tin được lưu trữ trên các thiết bị điện tử (đĩa cứng, CD-ROM, băng từ, .v.v.) không ngừng tăng lên. Sự tích lũy dữ liệu này xảy ra với một tốc độ bùng nổ. Người ta ước đoán rằng lượng thông tin trên toàn cầu tăng gấp đôi sau khoảng hai năm và theo đó số lượng cũng như kích cỡ của các cơ sở dữ liệu (CSDL) cũng tăng lên một cách nhanh chóng. Nói một cách hình ảnh là chúng ta đang “ngập” trong dữ liệu nhưng lại “đói” tri thức. Câu hỏi đặt ra là liệu chúng ta có thể khai thác được gì từ những “núi” dữ liệu tưởng chừng như “bỏ đi” ấy không ? “Necessity is the mother of invention” - Data Mining ra đời như một hướng giải quyết hữu hiệu cho câu hỏi vừa đặt ra ở trên . Khá nhiều định nghĩa về Data Mining và sẽ được đề cập ở phần sau, tuy nhiên có thể tạm hiểu rằng Data Mining như là một công nghệ tri thức giúp khai thác những thông tin hữu ích từ những kho dữ liệu được tích trữ trong suốt quá trình hoạt động của một công ty, tổ chức nào đó. Có rất nhiều công cụ để khai thác dữ liệu hiệu quả, trong khuôn khổ hạn hẹp của bài báo cáo này, chúng tôi xin giới thiệu chương trình MATLAB, một phần mềm hữu ích trong khai thác dữ liệu nói riêng và trong tính toán nói chung, có ứng dụng rất phổ biến trong nhiều lĩnh vực đời sống. 2 Mục lục: Hình 1. MATLAB Desktop…………………………………………….……………………………………………………………………6 Hình 2: Dữ liệu từ internet……………………………… ……………………………………………………………………………….8 Hình 3: Quá trình KDD (Knowleadge Discovery in Database)… ………………………………9 Hình 4: Mô phỏng trên Matlab…………………….…………… ………………………………….12 Hình 5: Nhiệt độ của 3 thành phố trong 1 tháng………… …………………………………… 12 Hình 6: Đồ thị đường………………………………… …………………………………………… 13 Hình 7: Biểu đồ chấm điểm dữ liệu x, y ban đầu và đường hồi quy tìm được…………………17 Hình 8: đồ thị bậc nhất hồi quy mức xăng tiêu thụ so với vận tốc và biểu đồ điểm dữ liệu ban đầu………………………………………………………………………………………… 18 Hình 9: Kiến trúc tổng quát của mạng noron…………………… ……………………………….19 Hình 10: Quá trình xử lý thông tin của một ANN………………………………………… …… 19 Hình 11:Kết quả của ví dụ……………………………………………… ………………………… 22 Một số từ viết tắt: MATLAB :Matrix Laboratory KDD :Knowleadge Discovery in Database ANN: Artificial Neural Network 3 I.CƠ BẢN VỀ MATLAB 1.GIỚI THIỆU CHUNG VỀ MALAB: MATLAB (Matrix Laboratory) là một môi trường tính toán số và lập trình, chưa kể đến các module tính toán có sẵn được đưa vào như Simulink,thuật toán logic, PDE tool được thiết kế bởi công ty MathWorks. MATLAB cho phép tính toán số với ma trận, vẽ đồ thị hàm số hay biểu đồ thông tin, thực hiện thuật toán, tạo các giao diện người dùng và liên kết với những chương trình máy tính viết trên nhiều ngôn ngữ lập trình khác. Các công cụ lập trình MATLAB với thư viện các chương trình con giúp thực hiện được các lệnh, các bài toán một cách nhanh chóng. Đó như là một cơ sở để giải quyết gần như chính xác các bài toán dùng phương pháp số để giải. MATLAB như một người trợ lý đắc lực cho các công trình sư, như một người phụ việc giúp giải tay những bước tính mà phải thực hiện đi thực hiện lại hàng nghìn hàng vạn lần với hàng nghìn hàng vạn sự thay đổi biến số, với hàng nghìn hàng vạn yêu cầu của khách hàng MATLAB giúp đơn giản hóa việc giải quyết 4 các bài toán tính toán kĩ thuật so với các ngôn ngữ lập trình truyền thống như C, C++, và Fortran. MATLAB được sử dụng trong nhiều lĩnh vực, bao gồm xử lý tín hiệu và ảnh, truyền thông, thiết kế điều khiển tự động, đo lường kiểm tra, phân tích mô hình tài chính, hay tính toán sinh học. Với hàng triệu kĩ sư và nhà khoa học làm việc trong môi trường công nghiệp cũng như ở môi trường hàn lâm, MATLAB là ngôn ngữ của tính toán khoa học. 2. MÔI TRƯỜNG LÀM VIỆC CỦA MATLAB 2.1 MATLAB gồm 5 phần chính: • Development Environment: là một bộ các công cụ giúp ta sử dụng các hàm và tập tin của MATLAB. Nó bao gồm: MATLAB desktop, Command Window, a command history, an editor, debugger, browsers for viewing help, the workspace, files, the search path. • MATLAB Mathematical Function Library: tập hợp các hàm tóan học như sum, sine, số học, v.v. • MATLAB Language (scritp): ngôn ngữ lập trình bậc cao. • Graphics: các công cụ giúp hiễn thị dữ liệu dưới dạng đồ thị. Ngòai ra nó còn cho phép xây dựng giao diện đồ họa. • MATLAB Application Program Interface (API): bộ thư viện cho phép ta sử dụng các hức năng tính tóan của MATLAB trong chương trình C hay FORTRAN. 2.2 Giao diện • Command Window: Đây là cửa sổ làm việc chính của MATLAB. Tại đây ta thực hiện tòan bộ việc nhập dữ liệu và xuất kết quả tính tóan. Dấu nháy >> báo hiệu chương trình sẵn sàng cho việc nhập dữ liệu. Ta kết thúc việc nhập dữ liệu bằng cách nhấn phím Enter. MATLAB sẽ thực thi dòng lệnh mà ta nhập vào Command Window và trả kết quả trong Command Window. • Command History: Lưu lại tất cả các lệnh mà ta đã nhập vào trong Command Window. Ta có thể xem lại tất cả các lậnh bằng cách dùng scroll bar, hay thực hiện lại lệnh đó bằng cách nhấp kép lên dòng lệnh. Ngòai ra ta còn có thể cut, paste, delete các lệnh. • Workspace browser: trong MATLAB các dữ liệu được lưu trong biến. Workspace browser liệt kê tất cả các biến mà ta đang sử dụng trong MATLAB. Nó cung cấp thông tin về kích thước, loại dữ liệu. Ta có thể truy cập trực tiếp vào dữ liệu bằng cách nhấn kép vào biến để hiễn thị Array editor. • Launch pad: cho phép người dùng truy cập nhanh vào các bộ Toolbox, phần Help. 5 Editor: dùng để sọan thảo và debug các M-file của MATLAB. • Current Directory Browser: xem các file trong thư mục hiện hành. Hình 1. MATLAB Desktop 2.3 Một số thao tác cơ bản trong MATLAB Trong MATLAB, thanh trình đơn thay đổi tùy theo cửa sổ mà ta lựa chọn. Tuy vậy các trình đơn File, Desktop, Window, Help có mặt hầu hết trong các thanh trình đơn. Trình đơn File: • New: tạo một đối tượng mới (biến, m-file, figure, model, GUI). • Open: mở một file theo định dạng của MATLAB (*.m, *.mat, *.mdl) • Import data…: nhập dữ liệu từ các file khác vào MATLAB. • Save workspace…: lưu các biến trong MATLAB vào file *.mat. • Set path: khai báo các đường dẫn của các thư mục chứa các m-file. • Preferences: thay đổi các định dạng về font, font size, color cũng như các tùy chọn cho Editor, Command Window v.v. • Page Setup: định dạng trang in. • Print: in. Trình đơn Desktop: • Desktop layout: sắp xếp các cửa sổ trong giao diện. • Save layout: lưu cách sắp xếp cửa sổ. 6 Trình đơn Window dùng để kích họat (activate) cửa sổ. Nút Start cung cấp shortcut tới các công cụ trong MATLAB II. TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU - DATA MINING. 1.Khai phá dữ liệu là gì? Khai phá dữ liệu (datamining) được định nghĩa như là một quá trình chắt lọc hay khai phá tri thức từ một lượng lớn dữ liệu. Thuật ngữ Dataming ám chỉ việc tìm kiếm một tập hợp nhỏ có giá trị từ một số lượng lớn các dữ liệu thô. Có nhiều thuật ngữ hiện được dùng cũng có nghĩa tương tự với từ Datamining như Knowledge Mining (khai phá tri thức), knowledge extraction(chắt lọc tri thức), data/patern analysis(phân tích dữ liệu/mẫu), data archaeoloogy (khảo cổ dữ liệu), datadredging(nạo vét dữ liệu), một cách gần đúng nhất thì Data Mining được hiểu là: một tập hợp các kỹ thuật được sử dụng để tự động khai thác và tìm ra các mối quan hệ lẫn nhau của dữ liệu trong một tập hợp dữ liệu khổng lồ và phức tạp, đồng thời cũng tìm ra các mẫu tiềm ẩn trong tập dữ liệu đó. Hay có thể hiểu Data mining là một quá trình trích xuất thông tin có mối quan hệ hoặc có mối tương quan nhất định từ một kho dữ liệu lớn (cực lớn) nhằm mục đích dự đoán các xu thế, các hành vi trong tương lai, hoặc tìm kiếm những tập thông tin hữu ích mà bình thường không thể nhận diện được. Hình 2: Dữ liệu từ internet 7 Khai phá dữ liệu là một bước trong bảy bước của quá trình KDD (Knowleadge Discovery in Database) và KDD được xem như 7 quá trình khác nhau theo thứ tự sau: • Làm sạch dữ liệu (data cleaning & preprocessing): Loại bỏ nhiễu và các dữ liệu không cần thiết. • Tích hợp dữ liệu: (data integration): quá trình hợp nhất dữ liệu thành những kho dữ liệu (data warehouses & data marts) sau khi đã làm sạch và tiền xử lý (data cleaning & preprocessing). • Trích chọn dữ liệu (data selection): trích chọn dữ liệu từ những kho dữ liệu và sau đó chuyển đổi về dạng thích hợp cho quá trình khai thác tri thức. Quá trình này bao gồm cả việc xử lý với dữ liệu nhiễu (noisy data), dữ liệu không đầy đủ (incomplete data), .v.v. • Chuyển đổi dữ liệu: Các dữ liệu được chuyển đổi sang các dạng phù hợp cho quá trình xử lý • Khai phá dữ liệu(data mining): Là một trong các bước quan trọng nhất, trong đó sử dụng những phương pháp thông minh để chắt lọc ra những mẫu dữ liệu. • Ước lượng mẫu (knowledge evaluation): Quá trình đánh giá các kết quả tìm được thông qua các độ đo nào đó. • Biểu diễn tri thức (knowledge presentation): Quá trình này sử dụng các kỹ thuật để biểu diễn và thể hiện trực quan cho người dùng. • Hình 3: Tiến trình KDD (Knowleadge Discovery in Database) 2.Ứng dụng của Data mining Ứng dụng của nó rất đa dạng và rộng tới, từ marketing, chống gian lận, giảm giá thành sản xuất, tăng doanh thu, phân tích hành vi sử dung người dùng internet để target đúng nhu cầu, đúng đối tượng hay ứng dụng hỗ trợ ra quyết định, nghiên cứu khoa học đến việc chống khủng bố v.v… 8 Như đã trình bày ở trên, pham vi ứng dụng của data mining rất rộng, bao phủ hầu hết các lĩnh vực. Tuy vậy có thể tóm lược lại phạm vi ứng dụng của data ming trong các bài toán yêu cầu có cần có các chức năng/nghiệp vụ sau: • Tự động hóa việc dự doán các xu thế và hành vi sẽ diễn ra trong tương lai: Data mining tự động hóa quá trình tìm kiếm và trích xuất các tập thông tin có mối quan hệ hoặc tương quan trong một tập dữ liệu cực lớn. Những vấn đề/câu hỏi đặt ra với các cách truyền thống đòi hỏi một quá trình rất phức tạp và tốn kém cả về tài chính và thời gian để giải đáp thì giờ có thể trả lời một cách nhanh chóng trong khi giá thành là thấp nhất. Một ví dụ đơn giản trong quảng cáo online là quá trình targeting, khi một người dùng click vào một banner quảng cáo bán giầy dành cho nữ giới, thì khả năng người đó là nữ và họ đang quan tâm đến đôi giầy đó, khi hệ thống nhận diện được điều này thì có thể target thêm các kiểu dáng giầy khác nhau, kích cỡ khác nhau, giá thành khác nhau với mục tiêu là người dùng sẽ kết thúc quá trình là mua một đôi giày, ngoài ra bởi vì hệ thống nhận diện người dùng là phụ nữ nên nó có thể quảng cáo thêm các sản phẩm khác như mỹ phẩm, quần áo v.v • Tự động hóa việc khám phá/nhận diện ra những tập thông tin quá khứ mà hệ thống không/chưa biết: Công cụ data mining trong quá trình phân tích dữ liệu sẽ nhận diện ra nhưng tập thông tin/dữ liệu không có hoặc bị ẩn bởi những mối liên hệ mà được xác định trước. Ví dụ như trong việc bán hàng, có những sản phẩm không có mối liên hệ gì với nhau, nhưng lại hay bán được cùng nhau, từ đó đưa ra cơ chế recommendation. Hay cơ chế nhận diện giao dịch gian lận trong thanh toán điện tử dựa vào việc phân tích các giao dịch bất thường… • Ngày nay, các công nghệ data mining được ứng dụng rộng rãi trong các công ty lấy khách hàng làm trung tâm như truyền thông, tài chính, marketing, bán hàng, các nghành công nghiệp sản xuất v.v… Nó cho phép các công ty xác định được các mối quan hệ giữa các yếu tố nội tại như giá thành, mẫu mã, cách thức quảng cáo, thậm chí là kỹ năng của nhân viên công ty… các yếu tố bên ngoài như đối thủ cạnh tranh, chính sách kinh tế hay nhu cầu thị trường v.v Và nó còn hỗ trợ việc xác định được sự tác động của các chính sách khuyến mại, giảm giá, độ hài lòng của khách hàng và lợi nhuận của doanh nghiệp… • Vài công nghệ và kỹ thuật data mining thường áp dụng như: thống kê (statistical), phân loại (classering), máy học (machine learning), mạng nơ ron (neural network) sẽ được trình bày chi tiết ở phần nội dung phía sau về cơ bản: • Mạng trí tuệ nhân tạo-mạng nơ ron (Artificial neural networks): Đây là mô hình mà hệ thống có thể tự học thông qua đào tạo với tập dữ liệu ban đầu, từ đó suy đoán ra các tập kết quả từ tập dữ liệu mà nó khai thác. 9 • Decisions Trees: Một tập các decisions biểu diễn dưới dạng cây, các decisions này tạo ra các luật cho việc phân loại tập dữ liệu. được hiểu là, nếu tập thông tin A thõa mãn các luật B thì quyết định C. • Giải thuật di truyền (Generic Algorithms): Kỹ thuật này sử dụng trong các quá trình phối hợp, biến đổi, chọn lọc tự nhiên kế thừa từ khái niệm tiến hóa. • Nearest neighbor method: Đây là kỹ thuật phân loại từng bản ghi/thông tin trong tập dữ liệu dựa trên sự kết hợp của k records có độ giống nhau nhất trong tập dữ liệu quá khứ. • Rule induction: Kỹ thuật bóc tác dữ liệu dựa trên nguyên tắc Nếu-Thì từ các tập dữ liệu thống kê. • Thuật Toán K-Means: K-Means là thuật toán rất quan trọng và được sử dụng phổ biến trong kỹ thuật phân cụm. Tư tưởng chính của thuật toán K-Means là tìm cách phân nhóm các đối tượng (objects) đã cho vào K cụm (K là số các cụm được xác đinh trước, K nguyên dương) sao cho tổng bình phương khoảng cách giữa các đối tượng đến tâm nhóm (centroid ) là nhỏ nhất. III. CÁC HÀM THỐNG KÊ CƠ BẢN 1. Độ lệch chuẩn: Std(x) 1.1 Khái niệm độ lệch chuẩn: Độ lệch chuẩn, hay độ lệch tiêu chuẩn (Standard Deviation) là một đại lượng thống kê mô tả dùng để đo mức độ phân tán của một tập dữ liệu đã được lập thành bảng tần số. Có thể tính ra độ lệch chuẩn bằng cách lấy căn bậc hai của phương sai. Khi hai tập dữ liệu có cùng giá trị trung bình cộng, tập nào có độ lệch chuẩn lớn hơn là tập có dữ liệu biến thiên nhiều hơn. 1.2 Ý nghĩa của độ lệch chuẩn: Độ lệch chuẩn đo tính biến động của giá mang tính thống kê. Nó cho thấy sự chênh lệch về giá trị của từng thời điểm so với giá trung bình. 2. Phương sai: var(x) 2.1 Bản chất: Phương sai là trung bình số học của bình phương các sai lệch giữa các giá trị quan sát của biến ngẫu nhiên so với giá trị trung bình của các giá trị đó. 2.2 Ý nghĩa: Phương sai phản ánh mức độ phân tán của các giá trị của biến ngẫu nhiên so với giá trị trung bình.Phương sai càng nhỏ thì các giá trị càng tập trung gần giá trị trung bình. 10 [...]... Để sử dụng MATLAB, không nhất thiết phải đọc nhiều sách Bạn hãy chọn một cuốn bất kì liên quan đến lĩnh vực ứng dụng của MATLAB mà bạn quan tâm để đọc, làm theo các ví dụ và suy nghĩ Tài liệu quan trọng nhất chính là Help của MATLAB, nếu như bạn có khả năng tự học tốt, Help là tài liệu duy nhất bạn cần và nó đã có sẵn khi cài MATLAB Xét cho cùng MATLAB chỉ là công cụ để thực hiện ý tưởng, MATLAB có... chắc kiến thức chuyên môn là chìa khóa để sử dụng MATLAB có hiệu quả Mong rằng bài báo cáo này sẽ cung cấp cho bạn đọc phần nào kiến thức còn thiếu về khai thác dữ liệu nói riêng và sử dụng Matlab nói chung, và đây sẽ là chương trình phục vụ đắc lực cho bạn trong học tập cũng như trong công việc 23 Tài liệu tham khảo: 1 Tài liệu Help của Matlab 2 Nguồn tài liệu Internet 24 ... nghiệm hiểu biết (tri thức) và sử dụng những tri thức đó trong việc dự đoán các dữ liệu chưa biết (unseen data) Các ứng dụng của mạng Neuron được sử dụng trong rất nhiều lĩnh vực như điện, điện tử, kinh tế, quân sự,… để giải quyết các bài toán có độ phức tạp và đòi hỏi có độ chính xác cao như điều khiển tự động, khai phá dữ liệu, nhận dạng,… 2.Kiến trúc tổng quát của một mạng nơron (ANN) Hình 9: Kiến... tùy theo mục đích sử dụng MATLAB mà tư duy lập trình cũng khác nhau Khả năng ứng dụng to lớn của MATLAB là nhờ các Toolbox được viết bởi những chuyên gia hàng đầu trong nhiều lĩnh vực Không ai học tất cả các Toolbox của MATLAB cả Để tiết 22 kiệm thời gian và công sức không cần thiết, mỗi người dùng MATLAB chỉ cần tìm hiểu một hay một vài Toolbox liên quan đến công việc của mình là đủ Tài liệu về MATLAB. .. của một ANN là một giải pháp cho một vấn đề, ví dụ như với bài toán xem xét chấp nhận cho khách hàng vay tiền hay không thì output là yes (cho vay) hoặc no (không cho vay) • Connection Weights (Trọng số liên kết) : Đây là thành phần rất quan trọng của một ANN, nó thể hiện mức độ quan trọng (độ mạnh) của dữ liệu đầu vào đối với quá trình xử lý thông tin (quá trình chuyển đổi dữ liệu từ Layer này sang... nơ-ron VI TỔNG KẾT Matlab là phần mền hỗ trợ đắc lực cho việc tính toán và thống kê Với ưu điểm đó thì Matlab ngày càng trở nên thông dụng và là công cụ trợ giúp hữu hiệu nhằm giải quyết các vấn đề đa dạng trong công việc, trong nghiên cứu và ứng dụng Trong việc khai thác dữ liệu thì việc sử dụng các công cụ như là statistics toolbox là việc không thể thiếu Muốn thành thạo sử dụng MATLAB bạn cần phải... điểm dữ liệu đã cho theo nghĩa bình phương tối thiểu Phân tích hồi qui không chỉ là trùng khớp đường cong (lựa chọn một đường cong mà vừa khớp nhất với một tập điểm dữ liệu) ; nó còn phải trùng khớp với một mô hình với các thành phần ngẫu nhiên và xác định (deterministic and stochastic components) Thành phần xác định được gọi là bộ dự đoán (predictor) và thành phần ngẫu nhiên được gọi là phần sai số (error... thuyết minh", hay "biến-Y") và một biến độc lập đơn (còn gọi là "hệ số, " "biến ngoại sinh", "biến thuyết minh", hay "biến-X") Hồi qui thường được xếp vào loại bài toán tối ưu vì chúng ta nỗ lực để tìm kiếm một giải pháp để cho sai số và phần là tốt nhất 2.Tính hồi quy trong Matlab Trong Matlab ta sử dụng hàm Polyfit để tính hồi quy Cú pháp: Polyfit(x,y,n) Trong đó: x và y là giá trị của đại lượng cần... cho sai số của thiết bị,chi tiết gia công so với kích thước tiêu chuẩn -Phương đặc trưng cho mức độ rủi do của các quyết định 3 Các hàm khác -Normplot(X): vẽ đồ thị phân bố Normal cho mỗi cột dữ liệu trong X -Diff(x): tính độ chênh lệch giữa các phần tử -Mean(x) : tính giá trị trung bình -Plot(x,y): vẽ biểu đồ đường -Bar(x,y) : vẽ biểu đồ cột Hình 4: Mô phỏng trên Matlab 4 Ví Dụ Về Phân Tích Dữ Liệu Bài... hàm plot để vẽ hình minh họa cho đường hồi quy vừa tạo Ta nghiên cứu sang phần tiếp theo với một vài ví dụ 3.Một số ví dụ: Ví dụ 1: Xem xét số liệu ở bảng sau, y chỉ thị độ sạch của oxy sinh ra trong quá trình chưng cất hóa học, còn x là nồng độ phần trăm của hydrocarbon có mặt ở bình ngưng bộ phận chưng cất, ta sử dụng Matlab tìm đa thức quan hệ giữa x và y: Bảng 1: Độ sạch của oxy ứng với tỷ lệ phần . TRƯỜNG ĐẠI HỌC ĐIỆN LỰC KHOA ĐIỆN TỬ VIỄN THÔNG Báo cáo: Data mining: Study the Matlab tutorial and statistics toolbox in Matlab Giáo viên hướng dẫn: Dr. Đỗ Văn Tuấn Thành viên nhóm: 1 ấy không ? “Necessity is the mother of invention” - Data Mining ra đời như một hướng giải quyết hữu hiệu cho câu hỏi vừa đặt ra ở trên . Khá nhiều định nghĩa về Data Mining và sẽ được đề cập. tin của MATLAB. Nó bao gồm: MATLAB desktop, Command Window, a command history, an editor, debugger, browsers for viewing help, the workspace, files, the search path. • MATLAB Mathematical

Ngày đăng: 21/05/2014, 06:17

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan