Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 18 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
18
Dung lượng
264,12 KB
Nội dung
ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN Tiểu luận môn Công Nghệ Tri Thức Tìm hiểu thuật giải di truyền vào khai phá tri thức GVHD: GS.TSKH Hoàng Kiếm HVTH: Lê Đỗ Minh Nga MSHV: CH1301101 TP HCM, tháng 10 năm 2014 1 Mục lục LỜI NÓI ĐẦU Công nghệ trị thức là các phương pháp, kỹ thuật được những kỹ sư tri thức (knowledge engineers) dùng để xây dựng những hệ thống thông minh như: hệ chuyên gia, hệ cơ sở tri thức, hệ hổ trợ quyết định, Bài tiểu luận sẽ tìm hiểu về khai phá dữ liệu bằng thuật giải di truyền và ứng dụng thuật toán di truyền vào bài toán dự đoán password gồm 6 chữ số 2 1. Khám phá tri thức Khám phá tri thức là tìm ra những tri thức tiềm ẩn, những tri thức mới (không phải là những tri thức kinh điển, kinh nghiệm, …) và các tri thức có ích ở dạng tiềm năng trong nguồn dữ liệu đã có. 3 Phân loại thô: Học giám sát (supervised learning) Học không giám sát (unsupervised learning) Phân loại theo 2 tiêu chuẩn cùng lúc: “cấp độ học” & “cách tiếp cận” Cấp độ học: Học vẹt (Rote learning) Học theo giải thích (by explanation) Học theo ví dụ, trường hợp (by examples, cases) Học khám phá (by discovering) Cách tiếp cận: Tiếp cận thống kê Tiếp cận toán tử logic Tiếp cận hình học (phân hoạch không gian, xây dựng cây định danh, …) Tiếp cận mạng Neural OLAP Data Query Tiếp cận giải thuật di truyền … 4 2. Tổng quan về Thuật giải di truyền 2.1 Giới thiệu thuật giải di truyền: Genetic Algorithms tạm dịch là Thuật giải di truyền (ngắn gọn gọi là GA) bắt nguồn từ ý niệm tiến hóa để tồn tại và phát triển trong tự nhiên. GA là phương thức giải quyết vấn đề bắt chước lối hành xử của con người để tồn tại và phát triển. Nó giúp tìm ra giải pháp tối ưu hay tốt nhất trong điều kiện thời gian và không gian cho phép. GA xét đến toàn bộ các giải pháp, bằng cách xét trước nhất một số giải pháp sau đó loại bỏ những thành phần không thích hợp và chọn những thành phần thích nghi hơn để tạo sinh và biến hóa nhằm mục đích tạo ra nhiều giải pháp mới có hệ số thích nghi ngày càng cao Hệ số thích nghi để dùng làm tiêu chuẩn đánh giá các giải pháp. Cấu trúc dữ liệu + giải thuật di truyền = chương trình tiến hóa. Thuật ngữ “chương trình tiến hóa” trong công thức trên là khái niện dùng để chỉ các chương trình máy tính có sử dụng thuật toán tìm kiếm và tối ưu hóa dựa trên nguyên lý tiến hóa tự nhiên 5 2.2 Các bước chính của thuật giải di truyền: Bước 1: Chọn mô hình (model) để tượng trưng cho các giải pháp. Các mô hình có thể là dãy (String) những số nhị phân: 1 và 0, thập phân và có thể là chữ hay hỗn hợp giữa chữ và số. Bước 2: Chọn hàm số thích nghi để dùng làm tiêu chuẩn đánh giá các giải pháp. Bước 3: Tiếp tục các hình thức biến hóa cho đến khi đạt được các giải pháp tốt nhất hoặc đến khi thời gian cho phép chấm dứt. 2.3 Các thành phần cơ bản của thuật giải di truyền Quá trình lai ghép (phép lai) +Chọn ngẫu nhiên hai (hay nhiều) cá thể bất kỳ trong quần thể. Giả sử các nhiễm sắc thể của cha mẹ đều có m gen. +Tạo một số ngẫu nhiên trong khoảng từ 1 đến m-1 (ta gọi là điểm lai). +Đưa hai cá thể mới này vào quẩn thể để tham gia các quá trình tiến hóa tiếp theo. Quá trình đột biến (phép đột biến) +Chọn ngẫu nhiên một cá thể bất kỳ cha mẹ trong quần thể. +Tạo một số ngẫu nhiên k trong khoảng từ 1 đến m, 1 ≤ k ≤ m. +Thay đổi gen thứ k và trả cá thể này về quần thể để tham giá quá trình tiến hóa tiếp theo Quá trình sinh sản +Tính độ thích nghi của từng cá thể trong quẩn thể hiện hành, lập bảng cộng dồn các giá trị thích nghi (theo số thứ tự gán cho từng cá thể). Giả sử quần thể có n cá thể. Gọi độ thích nghi của cá thể thứ i là Fi, tổng dồn thứ i là Fti, tổng độ thích nghi của toàn quần thể là Fm. +Tạo một số ngẫu nhiên F trong đoạn từ 0 đến Fm. +Chọn cá thể thứ k đầu tiên thỏa mãn F ≥ Ftk đưa vào quần thể của thế hệ mới. Mỗi cặp bố mẹ sinh hai con theo một trong hai phương pháp sau +Vô tính Mỗi ấu nhi là một bản sao chính xác từ cha 6 Mỗi ấu nhi là một bản sao chính xác từ mẹ +Hữu tính (giao nhau) Một vài bits được sao từ mẹ, vài bits được sao chép từ cha Cứ tiếp tục sao từ một cặp bố mẹ cho đến chừng nào điểm giao nhau, thì sao chép từ cặp bố mẹ khác. Quá trình chọn lọc +Sắp xếp quần thể theo thứ tự độ thích nghi giảm dần. +Loại bỏ các cá thể cuối dãy để chỉ giữ lại n cá thể tốt nhất. Ở đây, tả giả sử quần thể có kích thước cố định n. Điều kiện dừng của giải thuật: Chúng ta sẽ khảo sát điều kiện đơn giản nhất để dừng khi số thế hệ vượt quá một ngưỡng cho trước. Trong một số phiên bản về chương trình tiến hoá không phải mọi cá thể đều tiến hoá lại. Vài cá thể trong đó có khả năng vượt từ thế hệ này sang thế hệ khác mà không thay đổi gì cả. Trong những trường hợp như vậy, chúng ta đếm số lần lượng hàm. Nếu số lần lượng hàm vượt quá một hằng xác định trước thì dừng việc tìm kiếm. Chúng ta nhận thấy, các điều kiện dừng ở trên giả thiết rằng người sử dụng đã biết đặc trưng của hàm, có ảnh hưởng như thế nào tới chiều dài tìm kiếm. Trong một số trường hợp khó có thể xác định số lượng thế hệ (hay lượng giá hàm) phải là bao nhiêu. Giải thuật có thể kết thúc khi cơ hội cho một cải thiện quan trọng chưa bắt đầu. Có hai loại điều kiện dừng cơ bản. Các điều kiện này dùng các đặc trưng tìm kiếm để quyết định ngừng quá trình tìm kiếm . -Dựa trên cấu trúc nhiễm sắc thể: do sự hội tụ của quần thể bằng cách kiểm soát số alen được hội tụ, ở đây alen được coi như hội tụ nếu một số phần trăm quần thể đã định trước có cùng (hoặc tương đương đối với các biểu diễn không nhị phân) giá trị trong alen này. Nếu số alen hội tụ vượt quá số phần trăm nào đó của tổng số alen, việc tìm kiếm sẽ kết thúc. 7 -Dựa trên ý nghĩa đặc biệt của một nhiễm sắc thể: đo tiến bộ của giải thuật trong một số thế hệ cho trước. Nếu tiến bộ này nhỏ hơn một hằng số ε xác định, kết thúc tìm kiếm. 2.4 Cấu trúc giải thuật di truyền tổng quát Bắt đầu t = 0; Khởi tạo P(t); Tính độ thích nghi cho các cá thể thuộc P(t); Khi (điều kiện dừng chưa thỏa mãn) lặp t = t+1; Tái sinh P’(t) từ P(t); Lai Q(t) từ P(t-1); Đột biến R(t) từ P(t-1); Chọn lọc P(t) từ P(t-1) U Q(t) U R(t) U P(t); Hết lặp Kết thúc. 2.5 Thuật giải di truyền so với các phương pháp truyền thống Chúng ta xét bài toán đơn giản sau đây: tối ưu hoá hàm y = f(x) trên khoảng xác định D. Khi dùng phương pháp truyền thống có một số cách giải sau đây: • Phương pháp liệt kê: Duyệt tất cả các điểm nằm trong vùng khảo sát D để tìm ra điểm cực trị của nó. Phương pháp này không thích hợp khi dữ liệu đầu vào quá lớn. Trong trường hợp này miền D có không gian quá lớn để có thể đếm được. • Phương pháp giải tích: Tìm điểm cực trị bằng cách giải tập các phương trình khi cho Gradient bằng 0. Để xét được Gradient phải tính đạo hàm của hàm số. Điều này không giải quyết được trong trường hợp hàm số không liên tục hoặc không có đạo hàm. Ngoài ra đối với hàm nhiều cực trị thì có 8 thể phương pháp này bỏ mất cực trị, cực trị tìm được chỉ mang tính chất địa phương. • Phương pháp tìm kiếm ngẫu nhiên: là phương pháp kết hợp giữa phương pháp tính toán giải tích và sơ đồ liệt kê . Tuy nhiên những việc làm ngẫu nhiên cùng với giải thuật tìm kiếm ngẫu nhiên cũng phải bị suy yếu bởi thiếu tính hiệu quả. • Đối với Thuật giải di truyền: các thông số của bài toán tìm kiếm phải được mã hoá thành một chuỗi hữu hạn các ký tự trên một tập hữu hạn các ký tự. Chuỗi này tương tự như các chuỗi gen của các cơ thể sinh vật. Có rất nhiều cách để mã hóa tập thông số. Một cách đơn giản là chúng ta có thể mã hoá thành các chuỗi bit trên tập ký tự {0,1}. Mỗi một chuỗi đại diện cho một điểm tìm kiếm trong không gian. GA xuất phát với một quần thể các chuỗi được khởi tạo một cách ngẫu nhiên sau đó sẽ sản sinh các quần thể tiếp theo thông qua việc sử dụng lựa chọn ngẫu nhiên như một công cụ. Nhờ đó Thuật giải di truyền tìm kiếm trên nhiều điểm song song có khả năng leo lên nhiều cực trị cùng một lúc. Thông qua các toán tử của mình, giải thuật trao đổi thông tin giữa các cực trị với nhau, từ đó làm giảm thiểu khả năng giải thuật kết thúc tại các cực trị địa phương và bỏ qua mất cực trị toàn cục Đây là các đặc trưng của Thuật giải di truyền so với các phương pháp truyền thống 2.6 Ứng dụng thuật giải di truyền vào khai phá dữ liệu: Đây là một cách tiếp cận mới mẻ và đang được nhiều người quan tâm,phát triển và ứng dụng vào nhiều lĩnh vực khác nhau. Giải thuật di truyền (GA) giựa trên ý tưởng quần thể tự nhiên, chọn lọc ngẫu nhiên sẽ làm cho giải thuật có khả năng mạnh mẽ trong việc tìm kiếm một cách song song. Trong đó tất cảcác cá thểtrong quẩn thểsẽ được cốgắng tìm kiếm ở tất cả các hướng trong không gian tìm kiếm qua đó cho phép GA tránh được tối ưu hóa cục bộ. 2.6.1 Một thế mạnh của GA trong nhiệm vụ tìm kiếm đó là không lo sợ khả năng bùng nổ của tổ hợp tìm kiếm.GA đặc biệt tỏra hữu hiệu với các không gian tìm kiếm lớn. Với các không gian tìm kiếm lớn GA không những bảo 9 đảm được tối ưu hóa toàn cục mà còn bảo đảm được thời gian tìm kiếm, một trong những yêu cầu quan trọng của bài toán. Ví dụ chúng ta cần trả về cho người mua một danh sách các mặt hàng mà theo hệ thống là phù hợp nhất (thông thường từ 3 đến 5 giải pháp) nên việc sử dụng GA lại càng hợp lý. GA khác các phương pháp tìm kiếm tuyến tính khác là trong một lần chạy có thể cho ta một tập các giải pháp trong quần thể của nó 2.6.2 Vấn đề khai phá dữ liệu đã được giải quyết bằng cách sử dụng thuật toán di truyền: Phân loại (Classification) Lựa chọn thuộc tính (Attribute selection) Gom cụm dữ liệu (Clustering) Ví dụ phân loại (Classification): +Biểu diễn thành các luật Rule +Lai ghép Crossover 10 [...]... việc phát tri n Công nghệ thông tin, nâng cao sự hữu dụng của máy tính, giúp con người gần gũi với máy tính hơn Công nghệ tri thức còn góp phần thúc đẩy nhiều ngành khoa học khác phát tri n, khả năng phát tri n khoa học dựa trên tri thức liên ngành Thuật giải di truyền được sử dụng vào khai phá dữ liệu cũng như trong nhiều lĩnh vực khác Ứng dụng trong bài viết chỉ ở mức ví dụ sơ đẳng nhất về thuật giải. .. ban đầu của thuật giải di truyền Càng về sau, người ta càng hoàn thiện hơn phương pháp luận của ý tưởng này, dẫn đến sự ra đời của một hệ thống hoàn chỉnh các phương pháp, nguyên lý dùng trong thuật giải di truyền 3.2 Thiết kế thuật giải di truyền dự đoán password Bài toán: cho người dùng nhập vào một password gồm 6 ký tự Viết chương trình máy tính tìm ra password mà người dùng đã nhập Giải thuật: Qua... khác Ứng dụng trong bài viết chỉ ở mức ví dụ sơ đẳng nhất về thuật giải di truyền còn cần rất nhiều cải tiến Hướng phát tri n của tiểu luận sau này là có thể đề xuất thiết kế, phương pháp áp dụng thuật giải di truyền để xây dựng hệ thống thông minh như hổ trợ ra quyết định Tài liệu tham khảo [1] Slide bài giảng môn Công nghệ Tri Thức – GS.TSKH Hoàng Kiếm [2] Machine Learning And Its Applications - Georgios... là tư tưởng chính của thuật giải di truyền Rất đơn giản, thay vì chỉ phát sinh một lời giải, ban đầu ta phát sinh một lúc nhiều (thậm chí rất nhiều) lời giải cùng lúc Sau đó, trong số lời giải được tạo ra, chọn ra những lời giải tốt nhất để làm cơ sở phát sinh ra nhóm các lời giải sau với nguyên tắc "càng về sau" càng tốt hơn Quá trình tiếp di n cho đến lúc tìm được một lời giải tối ưu Đó là tư tưởng... trước và tạo ra nhiều cá thể đột biến đưa vào quần thể mới cho đến khi đủ số lượng Hàm dừng (stop function): ta đã có sẵn đáp án do người dùng nhập vào nên thuật giải sẽ dừng lại khi nào trong quần thể có cá thể password đúng đáp án 3.3 Cài đặt thuật giải di truyền bằng C# -Cài đặt lớp password: - Cài đặt lớp cá thể chromosome password, có bao gồm hàm Fitness 14 -Cài đặt lớp đoán password bằng thuật giải. .. thuật giải di truyền: 15 -Hàm đột biến 3.4 Màn hình chính: 16 4 Kết Luận Cùng với sự phát tri n nhanh chóng, vượt bậc của ngành công nghiệp máy tính, nhu cầu của người dùng đối với máy tính ngày một cao hơn: không chỉ giải quyết những công việc lưu trữ, tính toán bình thường, người dùng còn mong đợi máy tính có khả năng thông minh hơn, có thể giải quyết vấn đề như con người Công nghệ tri thức đóng vai... Mutation 3 Ứng dụng thuật toán di truyền vào bài toán dự đoán password gồm 6 chữ số 3.1 Giới thiệu bài toán Một ví dụ rất đơn giản tìm mật khẩu để mở khóa – giả định rằng password này chỉ cho nhập số và gồm 6 ký tự Với bài toán này sẽ có tổng cộng 10^6 = 1.000.000 mật mã khác nhau Trước vấn đề này ta phải thử ngẫu nhiên hoặc vét cạn để tìm kiếm password và có thể tìm kiếm lên tới 1.000.000 để tìm password... này sẽ là lời giải tốt nhất và vị trí có độ cao càng lớn thì càng "gần" với lời giải tốt nhất (độ cao đồng nghĩa với độ tốt của lời giải) Tìm kiếm theo kiểu leo đồi có nghĩa là chúng ta phải phát sinh các lời giải sao cho càng về sau các lời giải càng tiến "gần" tới lời giải tốt nhất hơn Thao tác này cũng giống như thao tác leo đồi vậy (vì càng ngày ta càng lên cao hơn) Thuật giải di truyền hoạt động... tác nhân vật lý – như tiếng động bên trong ổ khóa khi đưa 11 vào một mật mã – để dự đoán được tính "tốt" của mật mã đang thử Khi biết được được độ "tốt" của các mật mã, ta sẽ sử dụng một phương pháp tìm kiếm thông minh hơn - mà người ta thường gọi là tìm kiếm theo kiểu leo đồi (hillclimbing) Với tìm kiếm leo đồi, ta tưởng tượng rằng không gian tìm kiếm của vấn đề-bài toán là một vùng đất gập ghềnh (landscape),... Thức – GS.TSKH Hoàng Kiếm [2] Machine Learning And Its Applications - Georgios Paliouras 17 [3] Genetic Algorimths in search Optimization and Machine learning David E.Goldberg [4] Luận văn báo cáo về Thuật giải di truyền và ứng dụng – nguồn internet 18 . Bài tiểu luận sẽ tìm hiểu về khai phá dữ liệu bằng thuật giải di truyền và ứng dụng thuật toán di truyền vào bài toán dự đoán password gồm 6 chữ số 2 1. Khám phá tri thức Khám phá tri thức là tìm. ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN Tiểu luận môn Công Nghệ Tri Thức Tìm hiểu thuật giải di truyền vào khai phá tri thức GVHD: GS.TSKH Hoàng Kiếm HVTH: Lê Đỗ Minh. dụng thuật giải di truyền vào khai phá dữ liệu: Đây là một cách tiếp cận mới mẻ và đang được nhiều người quan tâm,phát tri n và ứng dụng vào nhiều lĩnh vực khác nhau. Giải thuật di truyền (GA)