Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 22 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
22
Dung lượng
457,48 KB
Nội dung
Artificial Intelligence Mục lục Page 1 Artificial Intelligence Mở đầu Học máy, có tài liệu gọi là Máy học(machine learning) là một lĩnh vực của trí tuệ nhân tạo liên quan đến việc phát triển các kĩ thuật cho phép các máy tính có thể "học". Cụ thể hơn, học máy là một phương pháp để tạo ra các chương trình máy tính bằng việc phân tích các tập dữ liệu. Học máy có liên quan lớn đến thống kê, vì cả hai lĩnh vực đều nghiên cứu việc phân tích dữ liệu, nhưng khác với thống kê, học máy tập trung vào sự phức tạp của các giải thuật trong việc thực thi tính toán. Nhiều bài toán suy luận được xếp vào loại bài toán NP-khó, vì thế một phần của học máy là nghiên cứu sự phát triển các giải thuật suy luận xấp xỉ mà có thể xử lí được. Ngày nay, học máy ngày càng thể hiện đươc giá trị to lớn của mình trong các ứng dụng thực tiễn. Một trong số đó chính là mạng nơron mô phỏng theo cách hoạt động của bộ não con người. Cách ứng sử trên mạng nơron nhân tạo giống như bộ não con người, nó chứng tỏ khả năng học, nhớ lại, và tổng quát hóa từ dữ liệu huấn luyện. Mạng nơron nhân tạo là công cụ tốt trong việc giải quyết các bài toán như: hợp và phân lớp đối tượng, xấp xỉ hàm, tối ưu hóa, định lượng vector, phân cụm dữ liệu, Nó thay thế hiệu quả các công cụ tính toán truyền thống để giải quyết các bài toán này. Page 2 Artificial Intelligence Phần 1: Đặt vấn đề 1. Mạng nơron – Neural Networks Học máy là một ngành khoa học nghiên cứu các thuật toán cho phép máy tính có thể học được các khái niệm. Học máy (machine learning) một chương trình máy tính được gọi là học từ tập dữ liệu D để thưc hiện một thao tác học LT – learning task – cho trước. Tập dữ liệu thường được gọi là tập học – training set. Phân loại: Có hai loại phương pháp học máy chính • Học có giám sát – supervised learning: tập dữ liệu = {(, ),…, (, )} gồm các cặp (x, y) trong đó x là dữ liệu đầu vào và y là nhãn của chúng. Với mỗi dữ liệu đầu vào x thì sẽ quy định việc học máy theo nhãn y tương ứng của nó. • Học không có giám sát - supervised learning: tập dữ liệu = {,…, } không hề có nhãn, thay vào đó thao tác học được định nghĩa bởi người lập trình. Người ta gọi bài toán dạng này là bài toán học không giám sát với thao tác học LT thường đươc định nghĩa theo tính chất của bản thân dữ liệu đầu vào x. Đôi khi chúng ta coi các bài toán dạng này giống như viêc trích, chọn đặc trưng hay thậm chí nén dữ liệu nếu ta gặp trường hợp tập dữ liệu đầu vào có kích thước quá lớn. Một số bài toán học máy hay gặp: Page 3 Artificial Intelligence • Phân loại: Bài toán học máy này thược lớp học máy có giám sát, theo đó lớp các nhãn có giá trị rời rạc. • Hồi quy: cũng thuộc bài toán học có giám sát tuy nhiên các nhãn của nó lại là miền giá trị liên tục, hay y ∈. Chẳng hạn, bài toán lọc nhiều tín hiệu số, theo đó giá trị được gán nhãn là tập tín hiệu liên tục. • Phân cụm: Thuộc lớp bài toán học không giám sát, chỉ dựa vào thông tin tập dữ liệu đầu vào không có nhãn, tự động phân thành các cụm có đặc tính giống nhau. • Dữ liệu chuỗi: Ở cả hai dạng có giám sát và không có giám sát, theo đó dữ liệu thường đươc biểu diễn theo chuỗi tuần tự. Ứng dụng: Học máy có ứng dụng rộng khắp trong các ngành khoa học/sản xuất, đặc biệt những ngành cần phân tích khối lượng dữ liệu khổng lồ. Một số ứng dụng thường thấy như: • Xử lý ngôn ngữ tự nhiên: xử lý văn bản, giao tiếp người – máy, … • Nhận dạng: nhận dạng tiếng nói, chữ viết tay, vân tay, thị giác máy (Computer Vision) … • Tìm kiếm • Chẩn đoán trong y tế: phân tích ảnh X-quang, các hệ chuyên gia chẩn đoán tự động. • Tin sinh học: phân loại chuỗi gene, quá trình hình thành gene/protein • Vật lý: phân tích ảnh thiên văn, tác động giữa các hạt … • Phát hiện gian lận tài chính (financial fraud): gian lận thẻ tỉn dụng Page 4 Artificial Intelligence • Phân tích thị trường chứng khoán (stock market analysis) • Chơi trò chơi: tự động chơi cờ, hành động của các nhân vật ảo 1.1 Mô hình một nơron sinh học: Phần tử xử lý cơ bản của một mạng nơron sinh học là một nơron, phần tử này có thể chia làm ba thành phần cơ bản như sau: dendrites, soma, axon, và synapses. • Dendrites: là phần nhận tín hiệu đầu vào. • Soma: là hạt nhân. • Axon: là phần dẫn ra tín hiệu xử lý. Synapses: là đường tín hiệu điện hóa giao tiếp giữa các nơron. Kiến trúc cơ sở này của bộ não con người có một vài đặc tính chung. Một cách tổng quát, thì một nơron sinh học nhận đầu vào từ các nguồn khác nhau, kết hợp chúng tại với nhau, thực thi tổ hợp phi tuyến chúng để cho ra kết quả cuối cùng ở đầu ra. Hình 1.1 chỉ ra mối quan hệ giữa ba phần tử của một nơron sinh học. Hình 1: Một nơron sinh học Page 5 Artificial Intelligence 1.2 Cấu trúc và mô hình của một nơron nhân tạo: Để mô phỏng tế bào thần kinh trong máy tính, người ta thường dùng mô hình chuẩn [MP88] đươc biểu diễn bởi hình số 2: Hình 2: Mô phỏng tế bào thần kinh trong máy tính Giải thích các thành phần cơ bản: • Tập các đầu vào: Là các tín hiệu vào của nơron, các tín hiệu này thường được đưa vào dưới dạng một vector m chiều. • Tập các liên kết (các trọng số): Mỗi liên kết được thể hiện bởi một trọng số (thường được gọi là trọng số liên kết). Trọng số liên kết giữa tín hiệu vào thứ j cho nơron i thường được ký hiệu là w ij . Thông thường các trọng số này được khởi tạo ngẫu nhiên ở thời điểm khởi tạo mạng và được cập nhật liên tục trong quá trình học mạng. • Bộ tổng (Hàm tổng): Thường dùng để tính tổng của tích các đầu vào với trọng số liên kết của nó. • Ngưỡng: Ngưỡng này thường được đưa vào như một thành phần của hàm truyền. • Hàm truyền: Hàm này dùng để giới hạn phạm vi đầu ra của mỗi nơron. Nó nhận đầu vào là kết quả của hàm tổng và ngưỡng đã cho. Page 6 Artificial Intelligence Các hàm truyền rất đa dạng, có thể là các hàm tuyến tính hoặc phi tuyến. Việc lựa chọn hàm truyền tùy thuộc vào từng bài toán và kinh nghiệm của người thiết kế mạng. • Đầu ra: Là tín hiệu đầu ra của một nơron, với mỗi nơron sẽ có tối đa một đầu ra. Về mặt toán học, công thức biểu diễn đầu ra y của một tế bào thần kinh như sau: y = f(x.w + b) trong đó: x 1 , x 2 , …x m là các tín hiệu đầu vào, còn w 1 , w 2 ,…,w m là các trọng số kết nối của nơron thứ i, f là hàm truyền, b là một ngưỡng, y là tín hiệu đầu ra của nơron. Như vậy, tương tự như nơron sinh học, nơron nhân tạo cũng nhận các tín hiệu đầu vào, xử lý (nhân các tín hiệu này với trọng số liên kết, tính tổng các tích thu được rồi gửi kết quả đến hàm truyền), và cho một tín hiệu đầu ra (là kết quả của hàm truyền). Hàm truyền có thể có các dạng sau: • Hàm bước < ≥ = 00 01 xkhi xkhi y • Hàm thuần tuyến tính: y = x • Hàm sigmoid: x− + = e y 1 1 • Hàm tanh: 1 1 2 2 + − = x x e e y Page 7 Artificial Intelligence • Hàm logistic: x β − + = e y 1 1 với β > 0 • Hàm tanh-signmoid: 1 1 2 2 + − = x x β β e e y với β > 0 1.3 Mạng nơron nhân tạo: Theo y học, trong bộ não con người có khoảng 100 tỷ tế bào thần kinh.Chúng liên kết với nhau thành bó, gói và các vùng có chức năng khác nhau. Vậy mạng nơron nhân tạo cũng phải biểu diễn nhiều nơron và liêu kết chúng lại với nhau. Người ta đôi khi gọi các kiểu liên kết này là kiến trúc mạng nơron. Có rất nhiều mạng nơron đặc trưng sau, tuy nhiên chúng ta sẽ chỉ xem xét và minh học mạng nơron sau: • Mạng nơron tự tổ chức theo luật học Kohonen Page 8 Artificial Intelligence 2. Mạng nơron tự tổ chức theo luật học Kohonen Mạng nơron theo luật học Kohonen giúp cho mạng học không giám sát. Theo đó chúng ta sẽ có một tập hợp dữ liệu không có dán nhãn = {,…, } với ∈. Chỉ nhớ luật học tương tác giữa các nơron tương ứng dữ liệu x xuất hiện ở đầu vào, mạng nơron có thể tự tổ chức (Self-Organizing Map – SOM) để học đặc trưng của tập dữ liệu đầu vào. Thông thường người ta có thể dùng mạng SOM trong việc nén dữ liệu, đồng thời lưu trữ thông tin về việc nén dữ liệu bởi các nút đầu ra – tương ứng với các nhóm đặc trưng của dữ liệu đầu vào. Điểm đặc biệt là luật học trực tuyến từng dữ liệu đầu vào cập nhật đơn giản. Ta không cần phải lưu trữ toàn bộ tập dữ liệu đầu vào , các trọng số trong mạng nơron sẽ tự động nhớ dữ liệu đã học vào. 2.1 Kiến trúc mạng SOM Mạng nơron tự tổ chức chỉ bao gồm 2 lớp mạng: • Lớp vào: gồm n nơron đầu ra. • Lớp ra: có số nơron do người sử dụng tự định nghĩa, mỗi nơron sẽ tương ứng với một vùng của không gian vectơ đầu vào Chúng ta sẽ sử dụng kí hiệu để chỉ nơron của lớp đầu ra. Như vậy mỗi nơron đầu ra sẽ là tích vô hướng = x . với , đồng thời i = 1,…, H và j = 1,…, C trong đó H,C lần lượt là số hàng số cột của lớp noron đầu ra. Page 9 Artificial Intelligence Hình 3: Kiến trúc mạng nơron tự tổ chức SOM 2.2 Giải thuật học của mạng tư tổ chức SOM Giải thuật học của mạng tự tổ chức SOM gồm 6 bước cơ bản sau: 1. Khởi tạo giá trị các trọng số , có thể lấy ngẫu nhiên chính HC dữ liệu thuộc . 2. Lấy tuần tự các giá trị của dữ liệu x trong tập dữ liều đầu vào . 3. Mọi nơron thuộc lớp đầu ra được tính khoảng cách || - x|| xem trọng số nào là gần nhất. 4. Xác định lại các nơron láng giềng của nơron gần nhất này theo bán kính vốn được khởi tạo giá trị từ trước với giá trị lớn. 5. Các trọng số của nơron hàng xóng nơron gần nhất cũng được cập nhật sao cho nó giống với vectơ đầu vào x. 6. Quay lại bước 2. Riêng bước 4 trong giải thuật trên được chia làm 2 bước nhỏ hơn như sau: 1. Để xác định lại các nơron hàng xóm của nơron gần nhất vừa chọn, chúng ta dùng hàm sau để xác định bán kính hàng xóm tính từ nơron này. Nghĩa là chỉ có nơron nằm trong bán kính này thì trong số mới được cập nhật: .exp Với: t = 1, 2, 3…là bước lặp là bán kính ban đầu, Page 10 [...]... Tự tổ chức trong mạng nơron là một trong những chủ đề cuốn hút trong mạng nơron Một mạng nơron như vậy có thể tự tìm ra các quy luật và các tương quan, các giá trị nhập vào và dự đoán các kết quả tiếp theo Các nơron của mạng thông qua quá trình áp dụng luật học Kohonen có thể nhận ra, tách ra một nhóm các đối tượng đầu vào tương đương nhau Page 12 Artificial Intelligence Trong phần tiếp theo, chúng... Kiến thức đã tìm hiểu được Nắm được kiến thức cơ bản của mạng nơron nhân tạo và mạng nơron Kohonen Nắm được cách xây dựng nên một chương trình cụ thể minh họa mạng nơron tự học theo luât Kohonen Phát triển thành công chương trình minh họa sử dụng hình ảnh trực quan bằng màu sắc để nhận biết toàn bô quá trình học theo luật Kohonen của mạng nơron Chương trình phân cụm dữ liệu với 100% dữ liệu đầu... hằng số theo vòng lặp, với T là tổng số vòng lặp 2 Các hàng xóm trong vùng bán kính đươc cập nhật trong số sao cho giống với vectơ đầu vào x hơn theo công thức: Trong đó: L(t) = , với giá trị khởi tạo Rõ ràng là đã tiến gần x theo một tỉ lệ là L(t) 2.3 Ý nghĩa của mạng nơron tự tổ chức Nhờ luật học Kohonen, mạng nơron đã tự tổ chức phân thành các khu có trọng số tương tự nhau trong không gian nơron. .. một ứng dụng cụ thể để minh họa khả năng phân cụm dữ liệu đầu vào bằng mạng nơron Kohonen Việc thi hành mạng nơron Kohonen có thể được thay thế bởi một thuật toán tương ứng mà dễ dàng thi hành, và luôn luôn được sử dụng trong các ứng dụng của mạng nơron Kohonen Page 13 Artificial Intelligence Phần 2: Giải quyết vấn đề Trong phần này sẽ nói rõ quá trình mô phỏng một chương trình thi hành luật học Kohonen.. . vào, có thể minh họa bằng hình ảnh trực quan sinh động Mạng nơron tự tổ chức chỉ bao gồm 2 lớp mạng: • • Lớp vào: gồm n nơron đầu ra Lớp ra: có số nơron do người sử dụng tự định nghĩa, mỗi nơron sẽ tương ứng với một vùng của không gian vectơ đầu vào Vì vậy chúng ta sẽ xây dựng nên cả hai lớp mạng: lớp vào và lớp ra 1 Lớp vào – InputClass InputClas là lớp thực thi lớp đầu vào của mạng Kohonen, vì vậy các... thi lớp đầu ra của mạng Kohonen, vì vậy các đối tượng do lớp này tạo ra chứa thông tin của dữ liệu đầu ra, bao gồm thông tin về số chiều dữ liệu đầu vào và dữ liệu cụ thể của nó Ngoài ra, các nơron lớp ra trong quá trình thực thi luật học Kohonen sẽ tương tác với các nơron lớp vào để xác định khoảng cách(bước 3), tương tác với các nơron trong cùng lớp ra tính bán kính của nó với nơron gần nhất(bước... được Trong khoảng thời gian qua, sau quá trình phân tích, tìm hiểu và xây dựng nên chương trình mô phỏng quá trình phân cụm dữ liệu bằng hình ảnh, dựa vào luật học Kohonen, thì em đã hoàn thành một phần mềm nhỏ thỏa mãn yêu cầu trên • Giao diện khi bắt đầu chạy chương trình Page 17 Artificial Intelligence • Khởi tạo các giá trị lớp vào và lớp ra ban đầu Các giá trị lớp vào và lớp ra ban đầu được khởi tạo. .. ứng dụng của mạng nơron tự tổ chức giúp phân chia thị trường đóng tàu thế giới thành các nhóm nước Page 11 Artificial Intelligence Kết quả sử dụng SOM để phân tích bảng dữ liệu trên hình chỉ ra rằng, thị trường đóng tàu thế giới được chia thành sáu nhóm Trong đó, ba quốc gia đang dẫn đầu thị trường đóng tàu thế giới là Hàn Quốc, Nhật Bản và Trung Quốc được nhóm thành ba nhóm gần nhau 3 Đặt vấn đề Tự. .. output.txt trong cùng thư mục của chương trình • Quá trình thực thi việc mô phỏng Page 18 Artificial Intelligence Nhập dữ liệu đầu vào và đầu ra: Chạy chương trình mô phỏng: Kết quả thu được sau khi chạy chương trình: dữ liêu đầu ra đươc phân cụm và thể hiện trên hình ảnh bằng màu sắc sáng tối khác nhau Page 19 Artificial Intelligence Page 20 Artificial Intelligence Phần 4: Kết luận • Kiến thức đã tìm hiểu. .. Đề tài có thể phát triển cho việc phân loại dữ liệu đầu vào, hoặc trích rút các đặc trưng cơ bản của dữ liêu đầu vào thể hiện trên bộ dữ liêu đầu ra Tuy nhiên để làm được điều này phải là cả một quá trình tìm hiểu và nghiên cứu lâu dài Do thời gian có hạn nên đề tài mới chỉ trình bày ở mức độ đơn giản đó là phân cụm các dữ liệu đầu vào trong không gian Page 21 Artificial Intelligence Tài liệu tham khảo . học mạng nơron sau: • Mạng nơron tự tổ chức theo luật học Kohonen Page 8 Artificial Intelligence 2. Mạng nơron tự tổ chức theo luật học Kohonen Mạng nơron theo luật học Kohonen giúp cho mạng học. của mạng nơron tự tổ chức Nhờ luật học Kohonen, mạng nơron đã tự tổ chức phân thành các khu có trọng số tương tự nhau trong không gian nơron thuôc lớp đầu ra. Dưới đâu là một ví dụ về ứng dụng. hút trong mạng nơron. Một mạng nơron như vậy có thể tự tìm ra các quy luật và các tương quan, các giá trị nhập vào và dự đoán các kết quả tiếp theo. Các nơron của mạng thông qua quá trình áp dụng