Phát hiện gian lận tài chính financial fraud: gian lận thẻ tỉn dụng 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ậ
Trang 1M c l c ục lục ục lục
Phần 1: Đặt vấn đề 3
1 Mạng nơron – Neural Networks 3
1.1 Mô hình một nơron sinh học: 4
1.2 Cấu trúc và mô hình của một nơron nhân tạo: 5
1.3 Mạng nơron nhân tạo: 8
2 Mạng nơron tự tổ chức theo luật học Kohonen 9
2.1 Kiến trúc mạng SOM 9
2.2 Giải thuật học của mạng tư tổ chức SOM 10
2.3 Ý nghĩa của mạng nơron tự tổ chức 11
3 Đặt vấn đề 12
Phần 2: Giải quyết vấn đề 14
1 Lớp vào – InputClass 14
2 Lớp ra – OutputClass 15
Phần 3: Kết quả đạt được 17
Phần 4: Kết luận 21
Trang 2M đ u ở đầu ầ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ácbài toán này
Trang 3Ph n 1: Đ t v n đ ầu ặt vấn đề ấn đề ề
1 M ng n ron – Neural Networks ạng nơron – Neural Networks ơ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 χ = {(x1, y1),…, (x m,
y m)} gồm các cặp (x, y) trong đó x là dữ liệu đầu vào và y là nhãn củachúng Với mỗi dữ liệu đầu vào x thì sẽ quy định việc học máy theonhãn y tương ứng của nó
Học không có giám sát - supervised learning: tập dữ liệu χ = {x1,…, x m
} không hề có nhãn, thay vào đó thao tác học được định nghĩa bởingườ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 thaotá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êctrích, chọn đặc trưng hay thậm chí nén dữ liệu nếu ta gặp trường hợptậ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:
Trang 4 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 ∈R Chẳng hạn, bài toán lọc nhiềutí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ố ứngdụ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) …
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 …
Trang 5 Phát hiện gian lận tài chính (financial fraud): gian lận thẻ tỉn dụng
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: ột nơron sinh học: ơron – Neural Networks ọ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à
Hình 1: M t n ron sinh h c ột nơron sinh học ơron sinh học ọc
Trang 61.2 C u trúc và mô hình c a m t n ron nhân t o: ấn đề ủa một nơron nhân tạo: ột nơron sinh học: ơron – Neural Networks ạng nơron – Neural Networks
Để 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 ỏng tế bào thần kinh trong máy tính ế bào thần kinh trong máy tính ần kinh trong máy tính
Bộ tổng (Hàm tổng): Thường dùng để tính tổng của tích các đầu vàovớ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ủahàm truyền
Trang 7 Hàm truyền: Hàm này dùng để giới hạn phạm vi đầu ra của mỗinơron Nó nhận đầu vào là kết quả của hàm tổng và ngưỡng đã cho.Các hàm truyền rất đa dạng, có thể là các hàm tuyến tính hoặc phituyến Việc lựa chọn hàm truyền tùy thuộc vào từng bài toán và kinhnghiệ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 đamộ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 kinhnhư sau:
y = f(x.w + b)
trong đó: x1, x2, …xm là các tín hiệu đầu vào, còn w1, w2,…,wm là cáctrọ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ínhiệ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ínhiệ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áctí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)
Trang 8y= e −1
e 2 x+1
Hàm logistic:
y= 11+e−βxx
với β > 0
Hàm tanh-signmoid:
y= e 2 βxx−1
e 2 βxx+1 với β > 0
1.3 M ng n ron nhân t o: ạng nơron – Neural Networks ơron – Neural Networks ạng nơron – Neural Networks
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
Trang 92 M ng n ron t t ch c theo lu t h c Kohonen ạng nơron – Neural Networks ơron – Neural Networks ự tổ chức theo luật học Kohonen ổ chức theo luật học Kohonen ức theo luật học Kohonen ật học Kohonen ọc:
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 χ = {x1,…, x m} với x i ∈
R 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 ến trúc mạng SOM ạng nơron – Neural Networks
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 C ij để 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 C ij = x w ij với w ij ∈ R n, đồ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
Trang 10Hình 3: Ki n trúc m ng n ron t t ch c SOM ế bào thần kinh trong máy tính ạng nơron tự tổ chức SOM ơron sinh học ự tổ chức SOM ổ chức SOM ức SOM
2.2 Gi i thu t h c c a m ng t t ch c SOM ải thuật học của mạng tư tổ chức SOM ật học Kohonen ọc: ủa một nơron nhân tạo: ạng nơron – Neural Networks ư tổ chức SOM ổ chức theo luật học Kohonen ức theo luật học Kohonen
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ố w ij, có thể lấy ngẫu nhiên chính H×C 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 ||w ij - 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ơronnà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:
σ (t )=σ0.exp(−t
λ )
Trang 11Với: t = 1, 2, 3…là bước lặp
σ0 là bán kính ban đầu, σ0=max ( H , C)/2
λ là hằng số theo vòng lặp,
λ=T /log(σ0) 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 σ (t) đươ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:
w ij t +1=w ij t+L(t )(x−w ij t)
Trong đó: L(t) = L0.exp (−t
λ ), với giá trị khởi tạo L0=0.1 Rõ ràng là
w ij t +1 đã 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 ủa một nơron nhân tạo: ạng nơron – Neural Networks ơron – Neural Networks ự tổ chức theo luật học Kohonen ổ chức theo luật học Kohonen ức theo luật học Kohonen
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 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
Trang 12Kế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 vấn đề ấn đề ề
Tự tổ chức trong mạng nơron là một trong những chủ đề cuốn hút trong mạngnơ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ôngqua 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 đốitượng đầu vào tương đương nhau
Trang 13Trong phần tiếp theo, chúng ta có thể xây dựng nên 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ệcthi 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ạngnơron Kohonen
Trang 14Ph n 2: Gi i quy t v n đ ầu ải thuật học của mạng tư tổ chức SOM ến trúc mạng SOM ấ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 để phân cụm dữ liệu đầu 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 ớ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 đối tượng
do lớp này tạo ra chỉ chứa thông tin của dữ liệu đầu vào, 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ó
public class InputClass {
Trang 152 L p ra – OutputClass ớp vào – InputClass
OutputClas là lớp thự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ìnhthự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 4) và cập nhật trọng số nếu nằm trong bán kính quy
định(bước 5) Vì vậy cần phải co thêm 3 phương thức này ở lớp ra
public double tinhKhoangCachDauVao(InputClass ipc){
Trang 17Ph n 3: K t qu đ t đ ầu ến trúc mạng SOM ải thuật học của mạng tư tổ chức SOM ạng nơron – Neural Networks ư tổ chức SOMợ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ênchươ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
Trang 18 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 và lưu vào 2 file input.txt và 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
Trang 19Nhậ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
Trang 21Ph n 4: K t lu n ầu ến trúc mạng SOM ật học Kohonen
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ơronKohonen
Nắm được cách xây dựng nên một chương trình cụ thể minh họa mạngnơ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ựcquan bằng màu sắc để nhận biết toàn bô quá trình học theo luậtKohonen của mạng nơron
Chương trình phân cụm dữ liệu với 100% dữ liệu đầu vào bất kỳ
Hướng phát triển nghiên cứ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ờigian 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 R n
Trang 22Tài li u tham kh o ệu tham khảo ải thuật học của mạng tư tổ chức SOM
1 Teuvo Kohonen,Self-Organizing Maps, Third Edition, Springer, Heidelberg,
2001
2 V Rao and H Rao, C++ Neural Networks and Fuzzy Logic, Second Edition,
MIS Press, NewYork, 1995
3 http://vi.wikipedia.org/wiki/Học_máy
4 kohonen-hay-mang-noron-tu-to-chuc-som-.1301716.html
http://tailieu.vn/xem-tai-lieu/luan-van-tot-nghiep-tim-hieu-ve-mang-noron-5 W Frawley and G Piatetsky-Shapiro and C Matheus, KnowledgeDiscovery in Databases: An Overview AI Magazine, Fall 1992, pages 213-228