Để bắt đầu q trình huấn luyện mơ hình mạng, các trọng số được gán giá trị ngẫu nhiên trong khoảng [-3, 3]. Sau đó hiệu chỉnh các trọng số cho phù hợp với mẫu huấn luyện để làm giảm sai số giữa y(k) và d(k)
Các bước tiến hành:
Xác định ngẫu nhiên bộ trọng số.
– Tính giá trị y(k) theo cơng thức
– Xác định sai số i tại nơ-ron i: i = di yi, trong đó di là giá trị đầu ra quan sát được và yi là giá trị đầu ra tính tốn tại nơ-ron thứ i
– Tính wij là số gia của trọng số wij (trọng số liên kết giữa đầu vào j
tới nơ-ron i) theo công thức wij = ixj trong đó là tốc độ huấn luyện (0< <1).
– Hiệu chỉnh wij(t+1) = wij(t) + wij = wij(t) + i(t)
x(jt) trong đó wij(t+1) là trọng số sau khi điều chỉnh ở lần huấn luyện tại thời điểm t.
Rosenblatt đã chứng minh rằng quá trình huấn luyện của mạng perceptron sẽ hội tụ tới bộ trọng số W , biểu diễn đúng các mẫu học với điều kiện là các mẫu này biểu thị các điểm rời rạc của một hàm khả tách tuyến tính nào đó (f : Rn ! R được gọi là khả tách tuyến tính nếu các tập F 1(xk) với xk thuộc miền giá trị của f, có thể tách được với nhau bởi các siêu phẳng trong không gian Rn).
Năm 1969, Minsky và Papert đã chứng minh một cách chặt chẽ rằng lớp hàm thể hiện sự phụ thuộc giữa đầu vào và đầu ra có thể huấn luyện bởi mạng Perceptron một lớp là lớp hàm khả tách tuyến tính. Khả tách tuyến tính là trường hợp tồn tại một mặt siêu phẳng để phân cách tất cả các đối tượng của một lớp này với một lớp khác, ví dụ một mặt phẳng sẽ phân chia khơng gian ba chiều thành hai vùng riêng biệt. Mở rộng
Pn
ra, nếu có n đầu vào , n > 2 thì cơng thức i=1 wijxj = i tạo nên một siêu phẳng có n 1 chiều trong khơng gian n chiều, nó chia khơng gian đó thành hai nửa. Trong nhiều bài tốn thực tế địi hỏi chia các vùng của các điểm trong một siêu khơng gian thành các lớp riêng biệt. Loại bài tốn này gọi là bài toán phân lớp. Bài toán phân lớp có thể giải quyết bằng cách tìm các tham số thích hợp cho một siêu phẳng để nó có thể chia không gian n chiều thành các vùng riêng biệt. Với tính chất của như đã nêu trên, mạng perceptron một lớp có thể mơ tả các hàm logic như AND, OR và NOT. Tuy nhiên nó khơng thể hiện được hàm XOR. Như vậy chứng tỏ mơ hình perceptron một lớp khơng thể giải quyết bài tốn này. Vấn đề này sẽ được giải quyết bằng mơ hình mạng nơ-ron perceptron nhiều lớp.
2.3.3.2 Mạng Perceptron lan truyền thẳng nhiều lớp
Mạng perceptron nhiều lớp (Multilayer Perceptron –MLP) còn được gọi là mạng truyền thẳng nhiều lớp là sự mở rộng của mơ hình mạng perceptron với sự bổ sung thêm những lớp ẩn và các nơ-ron trong các lớp ẩn này có hàm kích hoạt dạng phi
tuyến. Mạng MLP có một lớp ẩn là mạng nơ-ron nhân tạo được sử dụng phổ biến nhất, nó có thể xấp xỉ các hàm liên tục được định nghĩa trên một miền có giới hạn cũng như những hàm là tập hợp hữu hạn của các điểm rời rạc.
Thuật toán học theo phương pháp lan truyền ngược sai số Thuật toán học
theo phương pháp lan truyền ngược sai số do Rumelhart và các cộng sự [27] đề xuất là một trong số những kết quả nghiên cứu quan trọng nhất đối với sự phát triển của mạng nơ-ron nhân tạo. Thuật toán này được áp dụng cho mạng truyền thẳng nhiều lớp trong đó các nơ-ron có thể sử dụng các hàm chuyển là các hàm liên tục có các dạng khác nhau. Thuật toán sử dụng một tập các mẫu gồm các cặp đầu vào - đầu ra để huấn luyện mạng. Với mỗi cặp đầu vào - đầu ra (x(k); d(k)) thuật toán lan truyền ngược sai số thực hiện hai giai đoạn sau:
Giai đoạn thứ nhất, mẫu đầu vào x(k) được truyền từ lớp vào tới lớp ra, và ta có kết quả đầu ra tính tốn được là y(k)
Giai đoạn tiếp theo, tín hiệu lỗi được tính tốn từ sự khác nhau giữa đầu ra quan sát được d(k) với đầu ra tính tốn y(k) sẽ được lan truyền ngược lại từ lớp ra đến các lớp trước để điều chỉnh các trọng số của mạng. Để làm ví dụ ta xét mạng truyền thẳng có một lớp ẩn dưới đây, đối với các mạng có kích thước lớn hơn thì thao tác cũng tương tự. Mạng nơ-ron được xét có m nơ-ron ở lớp vào, l nơ-ron trong lớp ẩn và n nơ-ron ở lớp ra. Đường kẻ liền thể hiện luồng tín hiệu được truyền từ đầu vào tới đầu ra còn các đường kẻ nét đứt thể hiện luồng tín hiệu lỗi được truyền ngược trở lại từ đầu ra.
Chúng ta xét một cặp đầu vào - đầu ra để huấn luyện mạng (x; d), để đơn giản chúng ta bỏ ký hiệu mũ k thể hiện số thứ tự của cặp mẫu này trong bộ mẫu dùng để huấn luyện mạng. Khi đưa vào đầu vào x, nơ-ron thứ q trong lớp ẩn sẽ nhận tín hiệu vào của mạng là:
Hình 2.7: Lan truyền tín hiệu trong q trình huấn luyện theo phương pháp lan truyền ngược sai số
Do đó tín hiệu vào của nơ-ron thứ i trên lớp sẽ ra là:
l
X
neti =
q=1
Và cuối cùng, đầu ra của nơ-ron i trên lớp ra sẽ là:
yi = g(neti) = g(
Cơng thức trên cho biết q trình lan truyền tín hiệu từ đầu vào qua lớp ẩn tới đầu ra. Tiếp theo chúng ta xét tín hiệu lỗi được lan truyền ngược lại từ lớp ra. Trước hết, đối với mỗi cặp giá trị vào – ra chúng ta xây dựng một hàm giá như sau:
E(w) = 2
1
(2.6) Như vậy với một tập gồm p mẫu huấn luyện, chúng ta lần lượt xây dựng được p hàm giá như vậy. Việc học của mạng hay nhiệm vụ của giải thuật thực chất là tìm
lượt tối thiểu hố các hàm giá như vậy. Điều đáng chú ý là việc tối thiểu hoá được tiến hành liên tiếp nhau và theo chu kỳ đối với các hàm giá. Để tối thiểu hàm giá như vậy, giải thuật lan truyền ngược sai số sử dụng phương pháp giảm Gradient để điều chỉnh các trọng số liên kết giữa các nơ-ron.
2.3.4 SOM
Thuật toán SOM (Self Organizing Map) được giáo sư Teuvo Kohonen phát triển vào những năm 80, là một cơng cụ thích hợp trong khai phá dữ liệu [6, 32]. SOM là một mơ hình mạng nơ-ron nhân tạo, được huấn luyện sử dụng kỹ thuật học không giám sát để biểu diễn dữ liệu với số chiều thấp hơn nhiều (thường là 2 chiều) so với dữ liệu đầu vào đa chiều (thường số chiều lớn). Kết quả của SOM gọi là bản đồ. Mơ hình mạng nơ-ron SOM khác với các mơ hình mạng nơ-ron nhân tạo khác là khơng sử dụng các lớp ẩn mà chỉ sử dụng lớp đầu vào và lớp đầu ra. SOM sử dụng khái niệm lân cận để giữ lại đặc trưng của các dữ liệu đầu vào trên bản đồ (có nghĩa là các mẫu huấn luyện tương tự nhau thì được đặt gần nhau trên bản đồ). Ưu điểm chính của SOM là biểu diễn trực quan dữ liệu đa chiều vào khơng gian ít chiều hơn (thường là 2 chiều) và đặc trưng của dữ liệu đầu vào được giữ lại trên bản đồ.
Hình 2.8: Mơ hình SOM
Kiến trúc của SOM
Lớp đầu ra gồm các nơ-ron được bố trí trên một lưới (bản đồ) kích
thước X Y . Mỗi nơ-ron có vị trí xác định trên lưới, tại mỗi nơ-ron lưu giữ một véc tơ trọng số có số chiều bằng với số chiều của véc tơ đầu vào.
Hình 2.9: Ma trận trọng số
Thuật tốn SOM
Xét một tập dữ liệu là các véc tơ trong không gian n chiều: x = [x1; x2; :::; xn]T 2 Rn
Thông thường SOM gồm n nơ-ron nằm trong một lưới (thường có kích thước 2 chiều). Một nơ-ron thứ i là một véc tơ mẫu có kích thước p:
mi = [mi1; mi2; :::; mip]T 2 Rn
Các nơ-ron trong lưới có liên kết đến các nút lân cận bằng một quan hệ láng giềng. Các láng giềng liền kề là các nơ-ron lận cận tùy theo bán kính lân cận của nơ-ron thứ i.
Ni(d) = j; di;j d, với d là bán kính lân cận.
Các nút lận cận tùy thuộc vào bán kính, được sắp xếp trong lưới theo hình chữ nhật hoặc lục giác. Số các lân cận xác định ma trận trọng tâm của kết quả, có ảnh hưởng đến độ chính xác và khả năng sinh ma trận của SOM.
Trong thuật tốn SOM, các quan hệ hình học và số các nơ-ron là cố định ngay từ đầu. Số lượng nơ-ron thường được chọn đủ lớn nếu có thể, bằng cách điều khiển kích thước cho phù hợp. Nếu kích thước lân cận được lựa chọn là phù hợp thì ma trận khơng bị mất mát thơng tin nhiều ngay cả khi số các nơ-ron vượt quá số các véc tơ đầu vào. Tuy nhiên, nếu kích thước của ma trận tăng, ví dụ đến mười nghìn nơ-ron thì q trình huấn luyện trở nên nặng nề vì việc tính tốn sẽ khơng cịn hợp lý cho phần lớn các ứng dụng.
Trước khi huấn luyện các giá trị ban đầu được đưa ra là các véc tơ trọng số. SOM là thuật tốn khơng phụ thuộc nhiều đối với dữ liệu ban đầu( dữ liệu có thể bị thiếu), nhưng thuật tốn SOM vẫn hội tụ nhanh. Có ba thủ tục khởi tạo điển hình sau:
Khởi tạo ngẫu nhiên: véc tơ trọng số ban đầu được gán giá trị là các giá trị ngẫu nhiên đủ nhỏ.
Khởi tạo ví dụ: véc tơ trọng số ban đầu được gắn với các mẫu ngẫu nhiên rút ra từ tập dữ liệu.
Khởi tạo tuyến tính: véc tơ trọng số ban đầu được gắn trong một khơng gian con tuyến tính bởi hai véc tơ của tập dữ liệu ban đầu. Trong mỗi bước huấn luyện, chọn ngẫu nhiên một véc tơ ví dụ x trong tập dữ liệu ban đầu. Tính tốn khoảng cách giữa x đến tất cả các véc tơ mẫu, trong đó c là đơn vị có mẫu gần x nhất gọi là nơ-ron khớp nhất), được xác định như sau:
kx mck = min fkx mikg với k:k là độ đo khoảng cách.
Sau khi tìm được nơ-ron khớp nhất, véc tơ trọng số của SOM được cập nhập lại. véc tơ trọng số của nơ-ron khớp nhất và các lân cận hình thái của nó di chuyển dần đến véc tơ trong không gian đầu vào. Thủ tục cập nhập này trải dài theo nơ-ron khớp nhất và các hình trạng lân cận của nó về phía véc tơ ví dụ.
SOM cập nhập luật cho vectơ trọng số của đơn vị thứ i là: mi(t + 1) = mi(t) + (t)hci(t) [x mi(t)]
Trong đó: t: là thời gian
x: là véc tơ đầu vào ngẫu nhiên rút ra từ tập dữ liệu đầu vào tại thời điểm t (t): là hệ số tỷ lệ học.
hci(t): là nhân lân cận quanh c tại thời điểm t, là hàm lân cận Gauss.
Hình 2.11: Nút khớp nhất
Nhân lân cận xác định vùng ảnh hưởng mà ví dụ đầu vào có trong SOM. Nhân được thể hiện gồm hai phần: hàm lân cận h(t; d) và hàm tỉ lệ học (t):
hci(t) = h (krc rik ; t) (t) với rc; ri là các vị trí nơron i và c.
Hàm lân cận đơn giản nhất đó là hàm nổi bọt: nó gồm tồn bộ lân cận của đơn vị chiến thắng và bằng khơng nếu ngược lại (Hình 2.12). Ngồi ra,
cịn có hàm lân cận Gauxơ.
Hàm lân cận Gauss cho ra kết quả tốt hơn, nhưng việc tính tốn lại nặng nề hơn. Thường thì ban đầu bán kính lân cận lớn và giảm dần xuống 1 trong suốt quá trình huấn luyện. Tỷ lệ học (t) là một hàm giảm dần theo thời gian. Hai mẫu dùng phổ biến là hàm tuyến tính và hàm nghịch đảo theo thời gian:
A (t) = t + B
với A và B là hằng số.
Việc huấn luyện thường được tiến hành trong hai giai đoạn. Giai đoạn đầu, có liên quan đến việc sử dụng giá trị ban đầu đủ lớn và các bán kính lân cận. Trong giai đoạn sau, giá trị và bán kính lân cận đủ nhỏ ngay từ khi bắt đầu. Thủ tục này phù
Hình 2.12: Hàm lân cận cơ bản
hợp với việc điều chỉnh xấp xỉ ban đầu của SOM trong cùng một không gian giống như dữ liệu đầu vào và sau đó điều chỉnh tốt trên ma trận.
Có nhiều biến thể khác của SOM. Một chủ đề khác của SOM là dùng tỉ lệ học mạng Nơron và các kích thược lân cận. Ngồi ra có thể sử dụng cấu trúc ma trận một cách thích hợp hoặc ngay cả cấu trúc đang phát triển. Mục đích của các biến đổi này là thiết lập SOM theo hình trạng tốt hơn trong khuôn khổ của tập dữ liệu hoặc thực hiện kết quả lượng tử hóa tốt hơn.
Chương 3
Q trình chẩn đốn bệnh tim dựa trên kỹ thuật khai phá dữ
liệu
3.1 Tổng quan q trình chẩn đốn
Làm thế nào để chẩn đốn bệnh Tim? Thực tế cho thấy, khó có thể xác định được bệnh nhân có nguy cơ mắc bệnh tim hay không khi chỉ thông qua một xét nghiệm. Việc chẩn đốn bệnh tim có thể dựa trên các thơng tin lâm sàng (tuổi, giới tính, huyết áp, có hút thuốc lá hay khơng, có bị tiểu đường hay khơng . . . ) và các triệu chứng. Tuy nhiên, việc đánh giá dựa trên những thơng tin lâm sàng khơng hồn tồn chính xác. Do vậy, việc chẩn đốn bệnh tim cịn được thực hiện dựa vào đánh giá và phân tích dữ liệu về sự thay đổi nhịp tim. Đây chính là thuộc tính rất quan trọng trong chẩn đoán bệnh tim mạch [1]. Trong khi các thông tin lâm sàng là dữ liệu tĩnh và rời rạc, thì sự thay đổi nhịp tim trong một giai đoạn thì thay đổi theo thời gian. Dựa vào các thuộc tính khác nhau của yếu tố nguy cơ, quá trình chẩn đốn bệnh tim có thể được chia ra thành hai bước kiểm tra. Bước đầu tiên, các kỹ thuật khai phá dữ liệu cơ bản như cây quyết định, khai phá luật kết hợp . . . có thể được áp dụng trên các thơng tin lâm sàng để nhóm các đối tượng vào các lớp khác nhau theo mức độ của sự rủi ro (có bệnh hoặc khơng). Ở bước sau, dữ liệu về sự biến đổi của nhịp tim sẽ được khai phá theo thời gian thực.
Hình 3.1: Tổng quan hệ thống q trình chẩn đốn bệnh tim đốn đầu tiên thuật toán Apriori được áp dụng để khai phá luật kết hợp cho bệnh tim dựa trên các thông tin lâm sàng của bệnh nhân. Sau bước này, dựa trên kết quả thu được, bác sĩ sẽ quyết định những bệnh nhân nào có nguy cơ mắc bệnh tim mạch cao. Nhóm bệnh nhân này tiếp tục được chuyển qua bước thứ hai của q trình chẩn đốn.
Ởbước thứ hai này, Kỹ thuật Poincaré và thuật toán GNG được áp dụng để chẩn đoán dựa trên sự thay đổi nhịp tim khi bệnh nhân thực hiện các hoạt động hàng ngày.
3.2 Chẩn đoán bệnh Tim mạch dựa trên các thông tin lâm sàng
Trong phần này, chúng tơi sẽ trình bày chi tiết bước đầu tiên của q trình chẩn đốn bệnh tim. Bước chẩn đốn này dựa trên các thông tin lâm sàng của bệnh nhân và sử dụng thuật toán Apriori để khai phá luật kết hợp cho bệnh tim.
Hình 3.2 mơ tả tiến trình chẩn đốn bệnh tim ở bước thứ nhất. Đầu tiên, dữ liệu lâm sàng của bệnh nhân được thu thập. Sau đó, dữ liệu được tiền xử lý cho phù hợp với định dạng đầu vào của thuật toán Apriori. Ở bước này, thuật tốn Apriori được áp
Hình 3.2: Chẩn đốn bệnh tim dựa vào thơng tin lâm sàng của bệnh nhândụng để khai phá luật kết hợp cho tập dữ liệu đã qua tiền xử lý. Kết quả cuối dụng để khai phá luật kết hợp cho tập dữ liệu đã qua tiền xử lý. Kết quả cuối