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.
• 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ô
= 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
<
≥
=
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:
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
Artificial Intelligence
là 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
• 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 đố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 {
private int n = 0;
double []array;
public void setN(int n) {
this.n = n;
}
public int getN() {
return this.n;
}
public void setArray(int n, double arr[]) {
Page 14
Artificial Intelligence
this.n = n;
this.array = new double[n];
System.arraycopy(arr, 0, this.array, 0, n);
}
}
2. Lớp ra – OutputClass
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ì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
Page 16
Artificial Intelligence
Phần 3: Kết quả đạt đượ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 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
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 đượ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