041_Nâng cao hiệu quả mạng Neutral bằng thuật toán di truyền trong hệ thống chuẩn đoán bệnh ưng thu

2 593 1
041_Nâng cao hiệu quả mạng Neutral bằng thuật toán di truyền trong hệ thống chuẩn đoán bệnh ưng thu

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

Thông tin tài liệu

- 40 - NÂNG CAO HIỂU QUẢ MẠNG NEURAL BẰNG THUẬT TOÁN DI TRUYỀN TRONG HỆ THỐNG CHUẨN ĐOÁN BỆNH UNG THƯ Sinh viên: Vũ Quốc Huy Người hướng dẫn: MSV: 0122266 ThS.Trần Thị Minh Châu Email: vuquochuy@yahoo.com Nguyễn Hà Nam (Korea) Giới thiệu Thế giới phát triền và cũng đối mặt với nhiều những hiểm họa về bệnh tật. Mong muốn của mọi người trên thế giới là có thể đoán biết được bệnh của mình sớm nhất có thể được. Ngày nay với sự phát triển của công nghệ thông tin và công nghệ sinh học, chúng ta đang có trong tay một kho dữ liệu về các loại bệnh, và các đặc điểm liên quan tới bệnh đó. Vậy chúng ta có thể đoán biết được bệnh của mình dựa vào tình trạng sức khỏe hiện tại không? Trong bài này tôi sẽ đưa ra phương pháp chuẩn đoán bệnh ung thư dựa vào kho dữ liệu hồ sơ bệnh nhân từ trước tới nay. Phương pháp chuẩn đoán này được thực hiện nhờ sự kết hợp của hai thuật toán: mạng neural và di truyền. Chúng ta cũng sẽ so sánh kết quả với một số phương pháp khác để thấy được ưu điểm và nhược điểm của phương pháp. Trong bài này chúng ta sẽ được tìm hiểu các thuật toán được áp dụng rộng rãi trong lĩnh vực khai phá dữ liệu (data mining). Đây cũng có thể là tiền đề cho các chương trình chuẩn đoán các loại bệnh khác. 1. Cơ sở lý thuyết 1.1. Thu ật toán K-Mean Nói đơn giản K-mean là một thuật toán để phân loại hay nhóm các đối tượng dựa vào thuộc tính hay đặc điểm vào K nhóm khác nhau. K là một số nguyên dương. Ví dụ: giả sử ta có 4 đối tượng, mỗi đối tượng có 2 thuộc tính Đối tượng TT1(X): weight index TT2(Y): pH Medicine A 1 1 Medicine B 2 1 Medicine C 4 3 Medicine D 5 4 Trước khi thực hiện phân chia các đối tượng thành 2 nhóm, ta phải giải quyết việc xác định đối tượng nào sẽ thuộc về nhóm 1, đối tượng nào thuộc về nhóm 2. Tư tưởng của thuật toán K-mean có thể tóm tắt như sau: Coi mỗi nhóm có một giá trị “trọng tâm”. Sau đó với mỗi một phần tử mới ta sẽ tính tổng bình phương “khoảng cách” giữa phần từ đó với giá trị trọng tâm của mỗi nhóm, phần tử sẽ thuộc về nhóm nào nếu giá trị tính được là nhỏ nhất. Ở đây khoảng cách giữa hai phần tử được tính theo công thức Euclidean () ∑ = −= n k jkikij xxd 1 2 Trong đó x i , x j là các đặc điểm của 2 phần tử i, j. 1.2. Thuật toán di truyền Thuật toán di truyền, cũng như các thuật toán tiến hóa nói chung, hình thành dựa trên quan niệm cho rằng, quá trình tiến hóa tự nhiên là hoàn hảo nhất, hợp lý nhất và tự nó đã mang tính tối ưu. Quan niệm này có thể được xem như là một tiên đề đúng, không chứng minh được, nhưng phù hợp với thực tế khách quan. Quá trình tiến hóa thể hiển tính tối ưu ở chỗ, thế hệ sau bao giờ cũng tốt hơn, phát triển hơn, hoàn thiện hơn thế hệ trước. Tiến hóa tự nhiên được duy trì nhờ hai quá trình cơ bản: sinh sản và chọn lọc tự nhiên. Xuyên suốt quá trình tiến hóa tự nhiên, các thế hệ mới luôn - 41 - được sinh ra để bổ sung và thay thế thế hệ cũ. Cá thể nào phát triển hơn, thích ứng hơn với môi trường sẽ tồn tại, cá thể nào không thích ứng với môi trường sẽ bị đào thải. Sự thay đổi môi trường là động lực thúc đẩy quá trình tiến hóa. Ngược lại, tiến hóa cũng tác động trở lại góp phần làm thay đổi môi trường. Thuật toán chung của thuật giải di truyền 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 thoả) 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) υ Q(t) υ R(t) υ P(t); Hết lặp Kết thúc. 1.3. Mạng neural (Neural Network) Mạng neural là tên gọi của một mạng nối các phần tử lại với nhau. Các phần tử này gọi là các neural do chúng được sáng tạo bắt nguồn từ việc nghiên cứu hệ thống thần kinh sinh vật. Nói cách khác, mạng neural là một sự cố gắng nhằm tạo ra các máy móc hoạt động giống với cách hoạt động của bộ não con người bằng cách sử dụng các phần tử ho ạt động giống như các dây thần kinh sinh vật. Trong mạng neural, Perceptron là loại mạng được biết đến nhiều nhất và dễ hiểu nhất, nhưng nó chỉ giải quyết được lớp các bài toán đơn giản, lớp các bài toán phân tách tuyến tính. Để giải quyết các bài toán phức tạp hơn thì chúng ta sử dụng Perceptron đa tầng, thông thường dùng đến ba tầng: tầng vào, tầng ẩn, tầng ra. 2. Đề xuất ph ương án Bài toán của chúng tôi là từ một cơ sở dữ liệu các bệnh nhân được khám nghiệm từ trước tới nay, bây giờ có một bệnh nhân mới chúng ta phải chuẩn đoán xem bệnh nhân đó liệu có mắc bệnh hay không? Công việc này có thể đơn thuần áp dụng một trong hai thuật toán K-mean hoặc là mạng neural. Cả hai thuật toán này sẽ được “tập luyện” với các dữ liệu có sẵn để có thể đáp ứng, đưa ra chuẩn đoán với dữ liệu vào mới. Công việc “tập luyện” ở đây chính là quá trình học của hệ thống. Thuật toán K-mean đại diện cho phương pháp học “không giám sát”. Mạng neural đại diện cho phương pháp học giám sát. Tuy nhiên trong thực tế áp dụng thì hai phương pháp này không hiểu quả, do vậy trong bài này tôi đưa ra một phương pháp mới kết hợp sức mạnh của hai thuật toán mạng neural và thu ật toán di truyền để nâng cao hiệu quả trong quá trình chuẩn đoán. Có nhiều cách để áp dụng thuật toán di truyền vào mạng neural, nhưng trong bài tôi chọn theo hướng sử dụng thuật toán di truyền để xác định số neural trong lớp ẩn của mạng neural. Với cách này chúng ta sẽ thấy kết quả được cải thiện rất đáng kể. 3. Kết luận Trong bài này tôi chỉ đưa ra cách áp dụng thuật toán di truyền vào mạ ng neural bằng cách xác định số neural trong lớp ẩn của mạng. Tuy nhiên chúng ta có thể áp dụng thuật toán di truyền để xác định trọng số cho mạng, hay xác định cấu trúc của mạng, hoặc xác định tỉ lệ “học” của mạng. Mỗi cách áp dụng đều có những điểm yếu điểm mạnh riêng. Bên cạnh đó để quá trình chuẩn đoán bệnh hiệu quả thì dữ liệu để cho hệ thống “học” cũng khá quan trọng, do vậy cũng cần có sự kết hợp chặt chẽ giữa công nghệ thông tin và sinh học. Tài liệu tham khảo [1] Richard O. Duda, Peter E. Hart, David G. Stock, Pattern Classification , Wiley [2] Mitchell Melanie, An Introduction to Genetic Algorithms , MIT Press [3] Jame A. Freeman, David M. Skapura, Neural Networks - Algorithms Applications Programming , Addison Wesley. . hai thu t toán mạng neural và thu ật toán di truyền để nâng cao hiệu quả trong quá trình chuẩn đoán. Có nhiều cách để áp dụng thu t toán di truyền vào mạng. - 40 - NÂNG CAO HIỂU QUẢ MẠNG NEURAL BẰNG THU T TOÁN DI TRUYỀN TRONG HỆ THỐNG CHUẨN ĐOÁN BỆNH UNG THƯ Sinh viên: Vũ Quốc Huy

Ngày đăng: 06/10/2013, 19:20

Từ khóa liên quan

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

Tài liệu liên quan