Tải bản đầy đủ (.pdf) (36 trang)

các kỹ thuật khai phá dữ liệu ứng dụng trong phân tích dữ liệu công thức dược phẩm

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.38 MB, 36 trang )

BỘ Y TẾ
ĐẠI HỌC Y DƯỢC TP. HỒ CHÍ MINH

BÁO CÁO TỔNG KẾT

ĐỀ TÀI KHOA HỌC VÀ CÔNG NGHỆ CẤP TRƯỜNG

CÁC KỸ THUẬT KHAI PHÁ DỮ LIỆU ỨNG DỤNG TRONG
PHÂN TÍCH DỮ LIỆU CƠNG THỨC DƯỢC PHẨM

Mã số: 43/2016/HĐ-NCKH

Chủ nhiệm đề tài: ThS. Hà Siu

Tp. Hồ Chí Minh, Tháng 3/Năm 2018


BỘ Y TẾ
ĐẠI HỌC Y DƯỢC TP. HỒ CHÍ MINH

BÁO CÁO TỔNG KẾT

ĐỀ TÀI KHOA HỌC VÀ CÔNG NGHỆ CẤP TRƯỜNG

CÁC KỸ THUẬT KHAI PHÁ DỮ LIỆU ỨNG DỤNG TRONG
PHÂN TÍCH DỮ LIỆU CƠNG THỨC DƯỢC PHẨM

Mã số: 43/2016/HĐ-NCKH

Chủ nhiệm đề tài:


Hà Siu

Tp. Hồ Chí Minh, Tháng 3/Năm 2018


THÔNG TIN KẾT QUẢ NGHIÊN CỨU
ĐỀ TÀI KHOA HỌC VÀ CƠNG NGHỆ CẤP TRƯỜNG
1. Thơng tin chung:
- Tên đề tài: CÁC KỸ THUẬT KHAI PHÁ DỮ LIỆU ỨNG DỤNG TRONG
PHÂN TÍCH DỮ LIỆU CƠNG THỨC DƯỢC PHẨM
- Mã số: 43/2016/HĐ-NCKH
- Chủ nhiệm đề tài: Hà Siu Điện thoại: 090 825 0123 Email:
- Đơn vị quản lý về chuyên môn (Khoa, Tổ bộ môn): Bộ môn Vật lý, Khoa Khoa học
cơ bản.
- Thời gian thực hiện: tháng 6/2016 đến tháng 6/2018.
2. Mục tiêu: Nghiên cứu các kỹ thuật khai phá dữ liệu ứng dụng trong phân tích dữ
liệu cơng thức dược phẩm.
3. Nội dung chính: Nghiên cứu các kỹ thuật phân cụm dữ liệu và luật kết hợp cho
bài toán khai phá dữ liệu ứng dụng trong phân tích dữ liệu công thức dược phẩm. Xây
dựng công cụ tương ứng với từng kỹ thuật. Đánh giá phần mềm với dữ liệu cơng thức
dược phẩm thực nghiệm. Phân tích điểm mạnh và điểm yếu của từng kỹ thuật khai
phá dữ liệu được ứng dụng. Đưa ra một số đề xuất giúp cải thiện độ chính xác của
q trình khai phá dữ liệu.
4. Kết quả chính đạt được (khoa học, đào tạo, kinh tế-xã hội, ứng dụng, ...): Có thể
ứng dụng thực tế tại Bộ môn Bào chế, Khoa Dược Đại học Y Dược Thành phố Hồ
Chí Minh nhằm tìm ra những thiếu sót và có những bổ sung cho phù hợp cho việc
giải quyết bài tốn thực tế. Có thể ứng dụng thêm nguồn dữ liệu từ thực phẩm. Đề tài
này có thể mở rộng, nâng cấp với các chức năng mới như tối ưu hóa cơng thức dược
phẩm, tiên đốn cơng thức dược phẩm, tối ưu quy trình chiết xuất dược liệu, tối ưu
môi trường nuôi cấy vi sinh… Xây dựng một công cụ hỗ trợ cho các nghiên cứu, đặc

biệt là luận văn sinh viên Đại học tại Khoa Dược. Bên cạnh đó phần mềm hồn tồn
có thể nâng cấp thêm một số kỹ thuật khác như kỹ thuật tọa độ song song tích hợp
vào phần mềm cho phép hỗ trợ nhà bào chế dễ dàng khảo sát mối liên quan nhân-quả.


Danh sách những thành viên tham gia nghiên cứu đề tài
và đơn vị phối hợp chính
Thành viên:
1. Chủ nhiệm đề tài: Hà Siu
Đơn vị phối hợp chính:
1. Bộ mơn vật lý, Đại học Y Dược Tp.HCM.
2. Bộ môn Công nghệ thông tin – Dược, Đại học Y Dược Tp.HCM.


Mục lục

Thứ tự

Nội dung

Trang

1.

Mở đầu

6

2.


Đối tượng-phương pháp nghiên cứu

8

3.

Kết quả và bàn luận

22

4.

Nhận xét và kết luận

34

5.

Tài liệu tham khảo

36


1. MỞ ĐẦU
Q trình thành lập cơng thức dược phẩm là quá trình bắt đầu bằng một vài thành
phần ban đầu đã được biết trước và kết thúc bằng một hoặc vài công thức dược phẩm
thỏa mãn yêu cầu đặt ra ban đầu. Công thức dược phẩm bao gồm một dãy các mối
quan hệ với nhau như thành phần, liều lượng, tỉ trọng và kinh nghiệm của người bào
chế giữa các chất, do đó kết quả có thể tạo ra công thức dược phẩm chứa đựng những
mâu thuẫn tiềm tàng trong cơng thức được thiết lập. Do đó rất cần kiểm tra và phân

tích lại mối quan hệ giữa các thành phần đó trong cơng thức dược phẩm.
Đầu tiên phải kể đến thành công của việc ứng dụng hệ chuyên gia trong phân tích
cơng thức dược phẩm. Tuy nhiên hệ chuyên gia chỉ thật sự hoạt động tốt khi được
cung cấp các tri thức đúng đắn và biết trước. Trên thực tế, không phải tri thức nào
cũng được biết trước và có sẵn, tình trạng này gọi là trạng thái “thắt cổ chai”.
Khó khăn sẽ lớn hơn nếu chúng ta khơng biết tồn bộ các tri thức hoặc một phần
của tri thức mà chỉ được cung cấp một tập hợp các bản ghi (record). Dựa vào các bản
ghi này, chúng ta cần rút ra các luật mà các thuộc tính có liên quan với nhau. Trường
hợp này thường xảy ra đối với các dược phẩm mới, thông thường chứa các công thức
mới.
Độ phức tạp và cơ sở dữ liệu lớn làm cho nhiệm vụ phân tích cơng thức thêm khó
khăn. Nhiệm vụ của chúng ta là cần tìm ra các tri thức ẩn dưới các lớp dữ liệu.
Trường hợp này chúng ta hay gọi là “giàu dữ liệu nhưng nghèo tri thức” (“data rich
but knowledge poor”).
Về nguyên tắc, khai phá dữ liệu có thể dùng mơ hình và luật. Chúng ta có thể xây
dựng mơ hình khai phá dữ liệu dựa trên tập số liệu thực nghiệm và từ đó tiên đốn
cơng thức mới. Tuy nhiên nếu sử dụng mơ hình tiên đốn sẽ gặp khó khăn nếu thay
đổi thành phần và điều kiện cho trước của bài toán.
Bài toán khai phá dữ liệu ứng dụng trong phân tích dữ liệu cơng thức dược phẩm
hiện vẫn cịn khá mới mẻ tại Việt Nam. Bằng các kiến thức trong lĩnh vực khoa học
máy tính và cơng nghệ thơng tin, chúng ta có thể giúp cho các dược sĩ Việt Nam có
thể giảm thiểu các sai sót đáng tiếc trong q trình bào chế dược phẩm.
Khai phá dữ liệu là một đề tài rộng, do đó đề tài này giới hạn lại tập trung chủ yếu
trong vấn đề chính đó là phân cụm dữ liệu và luật kết hợp ứng dụng trong phân tích


dữ liệu cơng thức dược phẩm để tìm ra mối liên quan giữa các thành phần dược chất
khác nhau trong công thức.
Cơ sở dữ liệu cho đề tài này được lấy từ các tạp chí khoa học chuyên ngành Y
Dược và thực nghiệm. Đề tài sẽ tiến hành so sánh các ưu điểm và nhược điểm của

các kỹ thuật phân cụm dữ liệu và luật kết hợp để tìm ra giải pháp tối ưu cho việc tìm
mối quan hệ trong phân tích cơng thức dữ liệu dược phẩm.


2. ĐỐI TƯỢNG-PHƯƠNG PHÁP NGHIÊN CỨU
Đối tượng nghiên cứu
Đối tượng nghiên cứu là công thức dược phẩm cho dữ liệu động sử dụng công cụ
phân cụm dữ liệu và luật kết hợp cho các dạng dữ liệu công thức dược phẩm khác
nhau.
Phương pháp nghiên cứu
Từ cơ sở lý thuyết, chúng tôi tiến hành phân cụm dữ liệu cho các dạng dữ liệu
công thức dược phẩm khác nhau. Cách thức tiến hành là chúng tơi sử dụng một cơng
cụ có sẵn trên thị trường, đồng thời tự viết một chương trình ứng dụng. Từ đó đánh
giá, so sánh ưu và nhược điểm của các phương pháp và phần mềm khác nhau. Sau khi
phân cụm dữ liệu, chúng tôi tiến hành rút luật kết hợp để tìm ra mối quan hệ nhânquả giữa các thành phần dược phẩm. Chúng tôi tiến hành so sánh việc rút luật kết hợp
trước và sau khi phân cụm dữ liệu để so sánh quá trình nào ưu việt hơn.
Phân cụm dữ liệu
Phân cụm dữ liệu là kỹ thuật rất quan trọng trong khai phá dữ liệu, nó thuộc lớp
các phương pháp học khơng giám sát trong Máy học. Có rất nhiều định nghĩa khác
nhau về kỹ thuật này, nhưng về bản chất ta có thể hiểu phân cụm là các quy trình tìm
cách nhóm các đối tượng đã cho vào các cụm (clusters), sao cho các đối tượng trong
cùng một cụm tương tự nhau và các đối tượng khác cụm thì khơng tương tự nhau.
Mục đích của phân cụm là tìm ra bản chất bên trong các nhóm của dữ liệu. Các
thuật tốn phân cụm đều sinh ra các cụm. Tuy nhiên, khơng có tiêu chí nào được xem
là tốt nhất để đánh giá hiệu quả của phân tích phân cụm, điều này phụ thuộc vào mục
đích của phân cụm như: giảm dữ liệu (data reduction), “cụm tự nhiên” (“natural
clusters”), cụm “có ích” (“useful” clusters), phát hiện phần tử ngoại lai (outlier
detection).
Độ đo khoảng cách
Độ đo khoảng cách thường dùng để xác định sự khác nhau hay giống nhau giữa

hai đối tượng khi tiến hành phân cụm dữ liệu.
a. Khoảng cách Minkowski
Cơng thức tính khoảng cách Minkowski:
𝑞

𝑞

𝑞

d(i, j) = √|𝑥𝑖1 − 𝑥𝑗1 | + |𝑥𝑖2 − 𝑥𝑗2 | + … + |𝑥𝑖𝑝 − 𝑥𝑗𝑝 |

𝑞

(1)


với i = (xi1, xi2,…, xip) và j = (xj1, xj2,…, xjp): hai đối tượng p-chiều và q là số nguyên
dương.
b. Khoảng cách Manhattan
Trong công thức (1), nếu q = 1, d là khoảng cách Manhattan:
d(i, j) = |𝑥𝑖1 − 𝑥𝑗1 | + |𝑥𝑖2 − 𝑥𝑗2 | + … + |𝑥𝑖𝑝 − 𝑥𝑗𝑝 |

(2)

c. Khoảng cách Euclide
Trong công thức (1), nếu q = 2, d là khoảng cách Euclide:
2

2


d(i, j) = √|𝑥𝑖1 − 𝑥𝑗1 | + |𝑥𝑖2 − 𝑥𝑗2 | + … + |𝑥𝑖𝑝 − 𝑥𝑗𝑝 |

2

(3)

d. Tính chất của độ đo khoảng cách
Độ đo khoảng cách có các tính chất sau:
-

d(i, j) ≥ 0.

-

d(i, i) = 0.

-

d(i, j) = d(j, i).

-

d(i, j) ≤ d(i, k) + d(k, j).

Thuật toán k-means
K-means là thuật toán rất quan trọng và được sử dụng phổ biến trong kỹ thuật
phân cụm dữ liệu. Ý tưởng chính của thuật tốn k-means là tìm cách phân nhóm các
đối tượng (objects) đã cho vào k cụm (k là số các cụm được xác định trước, k là số
nguyên dương) sao cho tổng bình phương khoảng cách giữa các đối tượng đến tâm
nhóm (centroid) là nhỏ nhất.

Thuật tốn k-means áp dụng cho các đối tượng được biểu diễn bởi các điểm trong
không gian vectơ d chiều U = {xi | i = 1, … , N}, với xi ∈ ℜ biểu thị đối tượng (hay
điểm dữ liệu) thứ i.
Thuật tốn k-means gom cụm tồn bộ các điểm dữ liệu trong U thành k cụm C =
{C1, C2,…, Ck} sao cho mỗi điểm dữ liệu xi nằm trong một cụm duy nhất. Để biết
điểm dữ liệu thuộc cụm nào người ta gán cho nó một mã cụm. Các điểm có cùng mã
cụm thì ở cùng cụm, trong khi các điểm khác mã cụm thì ở trong các cụm khác nhau.
Một cụm có thể biểu thị bằng vectơ liên thuộc cụm v có độ dài N, với vi là mã cụm
của xi. Giá trị k là đầu vào của thuật toán. Giá trị k dựa trên tiêu chuẩn tri thức trước
đó.


Trong các thuật tốn gom cụm, các điểm được nhóm theo khái niệm “độ gần” hay
“độ tương tự”. Với k-means, phép đo mặc định cho “độ tương tự” là khoảng cách
Euclide. Đặc biệt, có thể thấy k-means cố gắng cực tiểu hóa hàm giá trị khơng âm
sau:
n



Cost   arg min j || x i  c j ||22
j1



(4)

Thuật toán k-means thực hiện qua các bước chính sau:
1. Chọn ngẫu nhiên k tâm (centroid) cho k cụm (cluster). Mỗi cụm được đại diện
bằng các tâm của cụm.

2. Tính khoảng cách giữa các đối tượng (objects) đến k tâm (thường dùng
khoảng cách Euclide).
3. Nhóm các đối tượng vào nhóm gần nhất.
4. Xác định lại tâm mới cho các nhóm.
5. Thực hiện lại bước 2 cho đến khi khơng có sự thay đổi nhóm nào của các đối
tượng.
Thuật tốn k-means được phát triển bởi nhiều nhà nghiên cứu khác nhau, điển
hình là Lloyd (1957), Forgey (1965), Friedman (1967), Rubin (1967), McQueen
(1967).


Giải thuật k-means

Hình 1: Lưu đồ thuật tốn k-means

Thuật tốn k-means
Đầu vào: Tập dữ liệu D, số cụm k.
Đầu ra:
Tập thể hiện các cụm C, vectơ liên thuộc cụm m.
Chọn ngẫu nhiên k điểm dữ liệu từ D.
Xem k điểm này là tập khởi tạo các thể hiện cụm C.
repeat
Gán lại các điểm trong D cho trung bình cụm gần
nhất.
Cập nhật m sao cho mi là mã cụm của điểm thứ i trong
D.
Cập nhật C sao cho cj là trung bình các điểm trong
cụm j.
until hội tụ hàm mục tiêu:
n




Cost   arg min j || x i  c j ||22
j1



Hình 2: Giải thuật k-means

Chất lượng của thuật tốn k-means phụ thuộc nhiều vào các tham số đầu vào như:
số cụm k và k trọng tâm khởi tạo ban đầu. Trong trường hợp các trọng tâm khởi tạo
ban đầu mà quá lệch so với các trọng tâm cụm tự nhiên thì kết quả phân cụm của k-


means là rất thấp, nghĩa là các cụm dữ liệu được khám phá rất lệch so với các cụm
trong thực tế. Trên thực tế, chưa có một giải pháp nào để chọn tham số đầu vào, giải
pháp thường được sử dụng nhất là thử nghiệm với các giá trị đầu vào k khác nhau rồi
sau đó chọn giải pháp tốt nhất.
Weka
Weka là một công cụ phần mềm viết bằng Java phục vụ cho lĩnh vực máy học và
khai phá dữ liệu được phát triển bởi các nhà khoa học thuộc Đại học Waikato, New
Zealand với phiên bản đầu tiên được phát hành vào năm 1994. Đến năm 1997 Weka
được xây dựng lại bằng Java và hoàn thiện 100% Java vào năm 1999. Đây là một
phần mềm mã nguồn mở tích hợp các thuật toán máy học và khai phá dữ liệu với giao
diện trực quan, dễ sử dụng và có thể chạy trên mọi hệ điều hành.
Logic mờ
Logic cổ điển (crisp logic) đã được dùng cách đây khoảng 3000 năm. Năm 1965,
logic mờ (fuzzy logic) mới được giới thiệu dựa trên lý thuyết tổ hợp mờ bởi Giáo sư
Lotfi A. Zadeh (Đại học California, Berkeley). Mặc dù logic mờ được phát minh ở

Mỹ, nhưng nó đã được ứng dụng đầu tiên ở Nhật và sau đó được phổ cập ở Mỹ và
các nước thuộc Châu Âu.
Ngày nay, logic mờ được ứng dụng rộng rãi cho nhiều mục đích khác nhau: kiểm
soát tự động (cổng đập thủy điện, xe con, máy chụp ảnh, lị nung, máy tẩy chân
khơng, máy bay lên thẳng, xe điện ngầm...); tối ưu hóa (quy trình sản xuất, thời biểu
xe bt, cơng thức...); dự đốn (động đất, bệnh ung thư, thị trường chứng khoán...);
nhận dạng (chữ viết, giọng nói, hình ảnh...); kiểm tra (chất lượng giấy...)...
Trong logic cổ điển (Hình 3a) hàm thành viên chỉ có một trong hai giá trị là 1
(Đúng) hay 0 (Sai). Điều này không phản ánh đầy đủ thế giới khách quan, vì giữa hai
màu “trắng” và “đen” cịn có màu “xám”. Trong logic mờ (Hình 3b), hàm thành viên
có thể cho các giá trị ở giữa 0 và 1. Hàm thành viên càng tiến đến 1 thì giá trị của nó
càng gần Đúng. Nhờ đó, logic mờ có tính hiện thực hơn logic cổ điển.


(a)

(b)

Hình 3: Minh họa khái niệm logic cổ điển (a) và logic mờ (b)

Q trình xử lí dùng cơng cụ logic mờ có thể được tóm tắt như Hình 4.

Hình 4: Minh họa q trình xử lí của logic mờ

a. Ưu điểm
Logic mờ được áp dụng rộng rãi, đặc biệt cho những vấn đề nan giải đối với các
phương pháp thơng thường; có tính mềm dẻo, cho phép xem xét tất cả các khả năng
khơng mong đợi; khơng địi hỏi tính chính xác cao của dữ liệu đầu vào; khơng cần
phải có mơ hình tốn học; cho phép khảo sát ngay cả sự liên quan khơng tuyến tính;
áp dụng dễ dàng, xử lí nhanh chóng...

b. Hạn chế
Mặc dù logic mờ giải quyết tốt cho các dạng bài toán biểu diễn tri thức (tuyến tính
lẫn phi tuyến), thời gian xử lí thấp, nhưng logic mờ cịn những hạn chế là khơng có
khả năng học các dữ liệu đầu vào cũng như khả năng tối ưu dữ liệu đầu vào kém.
Vì vậy, cần kết hợp logic mờ và các kỹ thuật chẳng hạn như phân cụm dữ liệu, luật
kết hợp, cây quyết định, mạng nơron, thuật toán di truyền hay hệ chuyên gia khác
nhằm khắc phục hạn chế trên.


Luật kết hợp
a. Định nghĩa
Luật kết hợp được giới thiệu từ năm 1993, là một lĩnh vực quan trọng trong khai
phá dữ liệu, nó giúp chúng ta tìm được các mối liên hệ giữa các mục dữ liệu của cơ
sở dữ liệu, từ đó đến nay các bài tốn khai phá luật kết hợp nhận được rất nhiều sự
quan tâm của rất nhiều nhà khoa học.
Nội dung cơ bản của luật kết hợp được tóm tắt như sau:
Cho cơ sở dữ liệu T gồm các giao dịch: t1, t2, …, tn.
T = {t1, t2,…, tn}. T được gọi là cơ sở dữ liệu giao dịch.
Mỗi giao dịch ti bao gồm tập các đối tượng I (được gọi là itemset).
I = {i1, i2,…, in}. Một itemset gồm k items được gọi là k-itemset.
Mục đích chính của luật kết hợp là tìm ra sự kết hợp hay tính tương quan giữa các
items, có dạng 𝑋 → 𝑌.
Độ hỗ trợ (support) và độ tin cậy (confidence) là hai tham số dùng để đo lường luật
kết hợp.
-

Độ hỗ trợ (support) của luật kết hợp 𝑋 → 𝑌 là tần suất của giao dịch chứa tất
cả các items trong cả 2 tập X và Y.
Công thức tính độ hỗ trợ 𝑋 → 𝑌:
support(X → Y) = P(X ∪ Y) =


n(X ∪ Y)
N

(5)

Trong đó: N là tổng số giao dịch.
-

Độ tin cậy (confidence) của luật kết hợp 𝑋 → 𝑌 là xác suất xảy ra Y khi biết
X.
Cơng thức tính độ tin cậy 𝑋 → 𝑌:
confidence(X → Y) = P(Y|X) =

support(X ∪ Y)
support(X)

(6)

Trong đó: support(X) là số giao dịch chứa X.
Để thu được các luật kết hợp, ta thường áp dụng 2 tiêu chí: minimum support
(min_sup) và minimum confidence (min_conf).
Các luật có support và confidence thỏa mãn cả min_sup và min_conf được gọi là
các luật mạnh (strong rule).


Min_sup và min_conf là các giá trị ngưỡng và phải được xác định trước khi sinh ra
các luật kết hợp.
b. Ý nghĩa của luật kết hợp
Cho trước một cơ sở dữ liệu D là tập các giao tác, trong đó mỗi giao tác T ∈ D là

tập các item, khi đó 𝑋 ⇒ 𝑌 diễn đạt ý nghĩa: bất cứ khi nào giao tác T có chứa X thì
chắc chắn T có chứa Y. Độ tin cậy của luật (rule confidence) có thể được hiểu như
xác suất điều kiện p(Y ⊆ T | X ⊆ T).
Ý tưởng của việc khai thác các luật kết hợp có nguồn gốc từ việc phân tích dữ liệu
mua hàng của khách hàng và nhận ra rằng: “Một khách hàng mua mặt hàng x1 và x2
thì cũng sẽ mua mặt hàng x3 với xác suất là y%”. Ứng dụng trực tiếp của các luật này
trong các bài tốn kinh doanh cùng với tính dễ hiểu của chúng khiến cho luật kết hợp
trở thành một trong những phương pháp khai thác mẫu phổ biến nhất trong việc khám
phá tri thức và khai thác dữ liệu.
c. Một số tính chất
Với một luật kết hợp 𝑋 ⇒ 𝑌 phải giả sử rằng X có thể rỗng, Y phải ln khác rỗng
và 𝑋 ≠ 𝑌, nếu khơng thì:
confidence(X ⇒ Y) =
-

support(X ∪ Y)
=1
support(X)

(7)

Nếu 𝑋 ⇒ 𝑍 và 𝑌 ⇒ 𝑍 là thỏa trên D, thì 𝑋 ∪ 𝑌 ⇒ 𝑍 là không nhất thiết.
Trong trường hợp 𝑋 ∩ 𝑌 = ∅ và các giao dịch trên D hỗ trợ Z nếu và chỉ nếu
chúng hỗ trợ X hoặc hỗ trợ Y. Khi đó, 𝑠𝑢𝑝𝑝𝑜𝑟𝑡 (𝑋 ∪ 𝑌) = 0 và
𝑐𝑜𝑛𝑓𝑖𝑑𝑒𝑛𝑐𝑒(𝑋 ∪ 𝑌) = 0.

-

Tương tự: Nếu 𝑋 ⇒ 𝑌 và 𝑋 ⇒ 𝑍 không thể suy ra 𝑋 ⇒ 𝑌 ∪ 𝑍.


-

Nếu luật 𝑋 ∪ 𝑌 ⇒ 𝑍 là thỏa trên D thì 𝑋 ⇒ 𝑍 và 𝑌 ⇒ 𝑍 có thể khơng thỏa trên
D.

-

Nếu 𝑋 ⇒ 𝑌 và 𝑌 ⇒ 𝑍 là thỏa trên D thì khơng thể khẳng định rằng 𝑋 ⇒ 𝑍
cũng thỏa trên D.

-

Nếu luật 𝐴 ⇒ (𝐿 − 𝐴) khơng có confidence tối thiểu thì cũng khơng có luật
nào trong các luật 𝐵 ⇒ (𝐿 − 𝐵) có confidence tối thiểu trong đó 𝐿 − 𝐴, 𝐵 là
các itemset và 𝐵 ⊆ 𝐴.

-

Tương tự, nếu luật (𝐿 − 𝐶) ⇒ 𝐶 là thỏa trên D, thì các luật (𝐿 − 𝐾) ⇒ 𝐾 với
𝐾 ⊆ 𝐶 và 𝐾 ≠ ∅ cũng thỏa trên D.


Thuật toán Apriori khai phá luật kết hợp
a. Giới thiệu
Một trong những thuật toán phổ biến trong hướng tiếp cận khai phá dữ liệu là tìm
các tập phổ biến trong cơ sở dữ liệu và dẫn xuất ra luật kết hợp. Tìm tập phổ biến là
một cơng việc khơng tầm thường vì nó bùng nổ theo hàm mũ. Khi các tập phổ biến
đã tìm được, nó trực tiếp tìm ra các luật kết hợp thỏa min_conf.
Apriori là thuật toán nền tảng để tìm các tập phổ biến sử dụng phương pháp sinh
ứng viên. Nó có đặc điểm là tìm kiếm theo chiều rộng sử dụng tính chất Apriori. Tư

tưởng chính của thuật tốn Apriori như sau:
-

Tìm tất cả các frequent itemsets (những itemsets có tần suất xuất hiện của nó
lớn hơn hoặc bằng độ hỗ trợ nhỏ nhất).

-

Từ frequent itemsets sinh ra các luật kết hợp mạnh (thỏa mãn cả 2 tham số
min_sup và min_conf).

b. Thuật toán Apriori
Thuật toán Apriori
-

Bước 1: Duyệt toàn bộ cơ sở dữ liệu giao dịch, tìm các
1-itemsets có số lần xuất hiện thỏa mãn độ hỗ trợ nhỏ
nhất, ta sẽ được các tập frequent itemsets L1.

-

Bước 2: Sử dụng Lk-1 ∪ Lk-1 để sinh ra candidate k-itemset.
Loại bỏ các itemsets không phải là frequent itemsets ta
sẽ thu được k-itemset.

-

Bước 3: Duyệt cơ sở dữ liệu giao dịch để có được độ hỗ
trợ của mỗi candidate k-itemset, so sánh với min_sup để
thu được các tập frequent k-itemset (Lk).


-

Bước 4: Lặp lại từ bước 2 cho đến khi khơng tìm thấy
frequent itemsets (candidate set(C) trống).

-

Bước 5: Với mỗi frequent itemset I, sinh tất cả các tập
con s không rỗng của I.

-

Bước 6: Với mỗi tập con s không rỗng của I, sinh ra các
luật 𝑠 ⇒ (𝐼 − 𝑠) nếu độ tin cậy của nó lớn hơn hoặc bằng
min_conf.
Hình 5: Giải thuật Apriori


c. Sơ đồ thuật giải
Bắt đầu

Tìm các tập
frequent items

Sinh ra các
candidate itemset

Tìm các tập
frequent items


Tập tao ra
rỗng?

khơng


Tạo ra các luật mạnh

Hình 6: Sơ đồ thuật giải Apriori

Chương trình ứng dụng
Chương trình ứng dụng gồm bốn module chính:
a. Module 1: Dữ liệu

Hình 7: Giao diện module 1 – Dữ liệu


Ở module 1 – Dữ liệu, chương trình ứng dụng cho phép người dùng chọn file dữ
liệu excel, chọn sheet dữ liệu cụ thể. Ngồi ra người dùng cịn có thể thêm, xóa, sửa,
lưu dữ liệu.
b. Module 2: Phân cụm dữ liệu với thuật tốn k-means

Hình 8: Giao diện module 2 – Phân cụm dữ liệu với thuật toán k-means

Ở module 2 – Phân cụm dữ liệu với thuật toán k-means, chương trình ứng dụng
cho phép người dùng chọn sheet dữ liệu muốn phân cụm. Đặc biệt chương trình ứng
dụng cho người dùng định nghĩa biến độc lập và biến phụ thuộc nhằm tăng tính chính
xác khi tiến hành phân cụm dữ liệu. Sau khi lưu cấu hình, người dùng nhập số cụm
muốn phân cụm và tiến hành phân cụm. Đặc trưng của công thức dược phẩm là các

biến độc lập có mối quan hệ nhân-quả với từng biến phụ thuộc riêng lẻ và các biến
phụ thuộc khơng có mối quan hệ nhân-quả với nhau. Do đó hệ thống tiến hành phân
cụm dữ liệu cho từng biến phụ thuộc khác nhau.
c. Module 3: Sinh luật kết hợp với thuật toán C4.5
Ở module 3 – Sinh luật kết hợp với thuật tốn C4.5, chương trình ứng dụng sử
dụng kết quả phân cụm dữ liệu trước đó ở module 2 để tiến hành sinh luật kết hợp
bằng cây quyết định với thuật tốn C4.5. Mỗi bộ cơng thức dược phẩm đều có một
chỉ tiêu kiểm nghiệm riêng, những chỉ tiêu kiểm nghiệm này được lưu trong file excel
định nghĩa các quy định, các tiêu chuẩn kiểm nghiệm đó. Các kết quả thực nghiệm
thường là các số thực R có biên độ dao động rất rộng, tuy nhiên trong thực tế các
dược sĩ chỉ quan tâm đến ba mức độ dược chất khác nhau, các dược sĩ gọi là “dược
chất có hàm lượng thấp”, “dược chất có hàm lượng trung bình”, “dược chất có hàm


lượng cao”. Do đó chúng ta tiến hành mờ hóa các dữ liệu thực nghiệm về ba mức
“thấp”, “trung bình”, “cao” để bài toán gần gũi hơn với thao tác bào chế của dược sĩ.
Nút (button) “Chuẩn hóa dữ liệu” sẽ chuyển đổi các số liệu thực nghiệm với kết quả
số thực về dạng dữ liệu được mờ hóa về ba mức độ “thấp”, “trung bình”, “cao”. Sau
đó chúng ta tiến hành sinh luật kết hợp với thuật toán C4.5 và người dùng có thể lưu
lại luật kết hợp này dưới định dạng *.txt của notepad.
Một trường hợp đặc biệt cũng thường hay gặp trong thực tế đó là các dược sĩ bào
chế muốn nghiên cứu các dược chất (các biến độc lập x) ở các mức chính xác cố
định, ví dụ như nồng độ CaCl2 ở mức 5%, 10%, 15% thì chương trình ứng dụng sẽ
khơng mờ hóa các dữ liệu này về ba mức độ “thấp”, “trung bình”, “cao” mà vẫn sẽ
hiển thị kết quả ở mức 5%, 10%, 15% mà dược sĩ mong muốn. Có thể nói chương
trình ứng dụng này hướng đến sự thoải mái cho dược sĩ trong quá trình bào chế và
kiểm tra, phân tích kết quả cơng thức dữ liệu dược phẩm.

Hình 9: Giao diện module 3 – Sinh luật kết hợp với thuật toán C4.5


d. Module 4: Sinh luật kết hợp với thuật toán Apriori
Ở module 4 – Sinh luật kết hợp với thuật tốn Apriori, chương trình ứng dụng sẽ
khơng sử dụng kết quả phân cụm dữ liệu trước đó ở module 2 để tiến hành sinh luật
kết hợp bằng thuật toán Apriori. Học viên mong muốn kiểm tra, đánh giá, so sánh các
kết quả dữ liệu áp dụng bởi các kỹ thuật khác nhau, để từ đó có thể đề xuất một
phương pháp sinh luật kết hợp tốt hơn ứng dụng trong thực tế. Người dùng có thể
điều chỉnh các tham số MinSupp và MinConf tùy ý. Tuy nhiên nhằm sinh ra các luật
kết hợp mạnh, chương trình ứng dụng khuyến nghị sử dụng tham số MinConf  70% .


Cũng giống như module 3, trong module 4 này người dùng vẫn sẽ chọn file excel
để định nghĩa các quy định, các tiêu chuẩn kiểm nghiệm. Sau đó người dùng sẽ tiến
hành mờ hóa dữ liệu bằng cách nhấn vào nút (button) “Chuẩn hóa dữ liệu” sẽ chuyển
đổi các số liệu thực nghiệm với kết quả số thực về dạng dữ liệu được mờ hóa về ba
mức độ “thấp”, “trung bình”, “cao”.
Nếu dược sĩ bào chế muốn nghiên cứu các dược chất (các biến độc lập x) ở các
mức chính xác cố định, ví dụ như nồng độ CaCl2 ở mức 5%, 10%, 15% thì chương
trình ứng dụng sẽ khơng mờ hóa các dữ liệu này về ba mức độ “thấp”, “trung bình”,
“cao” mà vẫn sẽ hiển thị kết quả ở mức 5%, 10%, 15% mà dược sĩ mong muốn như
đã trình bày ở module 2.
Sau đó chúng ta tiến hành sinh luật kết hợp với thuật toán Apriori và người dùng
có thể lưu lại luật kết hợp này dưới định dạng *.txt của notepad.

Hình 10: Giao diện module 4 – Sinh luật kết hợp với thuật toán Apriori

Thử nghiệm và đánh giá phần mềm bằng dữ liệu thực nghiệm ở quy mơ phịng
thí nghiệm và so sánh với phần mềm hiện có
Số liệu trong đề tài này và phần mềm được thử nghiệm và đánh giá bằng các dữ
liệu được lấy từ các dữ liệu nghiên cứu đã công bố (hồi cứu) và có so sánh, đối chiếu
kết quả với các phần mềm hiện có.

Sau đây là danh sách dữ liệu từ nghiên cứu đã công bố (hồi cứu) được sử dụng để
đánh giá phần mềm.


Bảng 1: Dữ liệu thực nghiệm công thức dược phẩm được sử dụng để đánh giá phần mềm

STT

Dữ liệu

1

Bodea, A., Leucuta, S.E.. Optimization of hydrophilic matrix tablets using a
D-optimal design, Int. J. Pharm. 153, 247-255, 1997.

2

Gohel, M.C., Amin, A.F.. Formulation optimization of controlled release
diclofenac sodium microspheres using factorial design. J. Controlled
Release 51, 115-122, 1998.

3

Amani, A., York, P., Chrystyn, H., Clark, B.J., Do D.Q.. Determination of
factors controlling the particle size in nanoemulsions using Artificial Neural
Networks. Eur. J. Pharm. Sc. 3 5 (2008) 42–51.

4

Nguyễn Thụy Việt Phương. Xây dựng công thức và quy trình bào chế viên

nén rã nhanh chứa Loratadin 10 mg. Luận văn Thạc sĩ Dược học, Khoa
Dược – Đại học Y Dược Thành phố Hồ Chí Minh, 2008.

5

Nguyễn Minh Hiếu. Thiết kế và tối ưu hóa cơng thức và điều kiện điều chế
viên nén Paracetamol 325 mg. Khóa luận Đại học, Khoa Dược – Đại học Y
Dược Thành phố Hồ Chí Minh, 2002.

Chúng tơi chỉ sử dụng số liệu và cơng trình của Bodea, A., Leucuta, S.E..
Optimization of hydrophilic matrix tablets using a D-optimal design, Int. J. Pharm.
153, 247-255, 1997 để minh họa cụ thể cho đề tài báo cáo này.


3. KẾT QUẢ-BÀN LUẬN
Thống kê
Bảng 2: Kết quả thống kê các thông số của các biến độc lập x và các biến phụ thuộc y

x1

x2

x3

y1

y2

y3


0,2

0

0,34

0,052

0,352

0,672

0,66

0,46

0,66

0,152

0,683

0,992

0,373692

0,154769

0,471154


0,103769

0,520692

0,843538

Giá trị
nhỏ
nhất
Giá trị
lớn
nhất
Trung
bình
Độ
chính

0,0177825 0,0193429 0,011648 0,000854024 0,00723929 0,0100212

xác
Độ
lệch

0,133351

0,139079

0,107926

0,0292237


0,085084

0,100106

chuẩn
Kết quả phân cụm dữ liệu bằng phần mềm Weka
Bảng 3: Kết quả phân cụm dữ liệu bằng phần mềm Weka

-

Thuộc tính

Dữ liệu ban đầu

Cụm 1

Cụm 2

Cụm 3

x1

0.3737

0.2

0.393

0.3872


x2

0.1548

0.14

0

0.1872

x3

0.4712

0.66

0.6065

0.4252

y1

0.1038

0.112

0.15

0.0937


y2

0.5207

0.612

0.634

0.4889

y3

0.8435

0.986

0.929

0.8122

Tổng số thực thể

13

1

2

10


Tỉ lệ

100%

8%

15%

77%

Nhận xét: Weka phân cụm dữ liệu theo cách thơng thường của thuật tốn kmeans. Tuy nhiên, thực tế trong lĩnh vực dược phẩm chúng ta tiến hành phân
cụm dữ liệu theo các biến phụ thuộc y nhằm tách biệt các biến phụ thuộc y ra


theo từng trường hợp riêng để khảo sát mối liên quan nhân-quả giữa các biến
độc lập x lên từng biến phụ thuộc y đó. Vì ln xảy ra mối quan hệ nhân-quả
giữa các biến độc lập lên biến phụ thuộc y, và khơng cần thiết phân tích mối
quan hệ nhân-quả giữa các biến phụ thuộc y với nhau nên cách phân cụm dữ
liệu của Weka không phù hợp với một bài toán phân cụm dữ liệu ứng dụng
trong việc phân tích cơng thức dữ liệu dược phẩm.
Kết quả phân cụm dữ liệu bằng phần mềm ứng dụng
a. Phân cụm dữ liệu đối với biến phụ thuộc y1
Bảng 4: Phân cụm dữ liệu đối với biến phụ thuộc y1

Cụm trọng
tâm
Cụm 1

Cụm 2


Cụm 3

Record

x1

x2

x3

y1

y2

y3

1

0,34

0

0,66

0,152

0,683

0,992


5

0,446

0

0,553

0,148

0,585

0,866

13

0,553

0

0,446

0,143

0,518

0,792

2


0,2

0,46

0,34

0,104

0,545

0,902

3

0,2

0,14

0,66

0,112

0,612

0,986

4

0,66


0

0,34

0,122

0,448

0,712

7

0,2

0,353

0,446

0,098

0,576

0,925

6

0,506

0,153


0,34

0,074

0,388

0,68

8

0,35

0,15

0,5

0,084

0,512

0,856

9

0,35

0,15

0,5


0,087

0,518

0,862

10

0,35

0,15

0,5

0,084

0,507

0,851

11

0,35

0,15

0,5

0,089


0,525

0,87

12

0,353

0,306

0,34

0,052

0,352

0,672


b. Phân cụm dữ liệu đối với biến phụ thuộc y2
Bảng 5: Phân cụm dữ liệu đối với biến phụ thuộc y2

Cụm trọng
tâm
Cụm 1

Cụm 2

Cụm 3


Record

x1

x2

x3

y1

y2

y3

1

0,34

0

0,66

0,152

0,683

0,992

2


0,2

0,46

0,34

0,104

0,545

0,902

3

0,2

0,14

0,66

0,112

0,612

0,986

5

0,446


0

0,553

0,148

0,585

0,866

7

0,2

0,353

0,446

0,098

0,576

0,925

4

0,66

0


0,34

0,122

0,448

0,712

6

0,506

0,153

0,34

0,074

0,388

0,68

8

0,35

0,15

0,5


0,084

0,512

0,856

9

0,35

0,15

0,5

0,087

0,518

0,862

10

0,35

0,15

0,5

0,084


0,507

0,851

11

0,35

0,15

0,5

0,089

0,525

0,87

12

0,353

0,306

0,34

0,052

0,352


0,672

13

0,553

0

0,446

0,143

0,518

0,792


c. Phân cụm dữ liệu đối với biến phụ thuộc y3
Bảng 6: Phân cụm dữ liệu đối với biến phụ thuộc y3

Cụm trọng
tâm

Cụm 1

Cụm 2

Cụm 3
-


Record

x1

x2

x3

y1

y2

y3

1

0,34

0

0,66

0,152

0,683

0,992

2


0,2

0,46

0,34

0,104

0,545

0,902

3

0,2

0,14

0,66

0,112

0,612

0,986

7

0,2


0,353

0,446

0,098

0,576

0,925

4

0,66

0

0,34

0,122

0,448

0,712

5

0,446

0


0,553

0,148

0,585

0,866

8

0,35

0,15

0,5

0,084

0,512

0,856

9

0,35

0,15

0,5


0,087

0,518

0,862

10

0,35

0,15

0,5

0,084

0,507

0,851

12

0,353

0,306

0,34

0,052


0,352

0,672

13

0,553

0

0,446

0,143

0,518

0,792

6

0,506

0,153

0,34

0,074

0,388


0,68

11

0,35

0,15

0,5

0,089

0,525

0,87

Nhận xét: Phần mềm ứng dụng tiến hành phân cụm dữ liệu theo từng biến phụ
thuộc y, điều này là cần thiết và phù hợp đối với bài toán trong ngành Dược.

Kết quả rút luật kết hợp bằng phần mềm Weka
Bảng 7: Kết quả rút luật kết hợp bằng phần mềm Weka

Luật

Luật kết hợp mạnh

Độ tin cậy

1


y3=Medium 6 ==> x2=Low 6

<conf:(1)>

2

y1=Medium 5 ==> x1=Low 5

<conf:(1)>

3

x3=Medium 5 ==> x2=Low 5

<conf:(1)>

4

x3=Medium 5 ==> y3=Medium 5

<conf:(1)>

5

x3=Medium y3=Medium 5 ==> x2=Low 5

<conf:(1)>

6


x2=Low x3=Medium 5 ==> y3=Medium 5

<conf:(1)>

7

x3=Medium 5 ==> x2=Low y3=Medium 5

<conf:(1)>

8

y2=Medium y3=Medium 5 ==> x2=Low 5

<conf:(1)>

9

x2=Low y2=Medium 5 ==> y3=Medium 5

<conf:(1)>

10

y2=Medium 6 ==> x1=Low 5

<conf:(0.83)>



×