Đề tài đã giới thiệu một cách tiếp cận mới là áp dụng lý thuyết Tập thô và kỹ thuật Bayes của lĩnh vực Khoa học máy tính vào giải quyết vấn đề điển hình trong marketing là
phân tích đặc trưng khách hàng. Tuy còn gặp nhiều khó khăn, nhưng mô hình phân tích đặc
trưng khách hàng G(m,n) đã chứng minh được tính hiệu quả của mình, làm nền tảng bước
đầu cho việc phát triển mô hình:
- Trong tương lai, việc áp dụng lý thuyết tập mờ (fuzzy set) vào trong biểu diễn giá trị các thuộc tính sẽ có thể ít nhiều gia tăng tính chính xác của mô hình về sau. - Bài toán rút gọn thuộc tính luôn là bài toán nan giải trong lý thuyết tập thô. Tìm ra
phương pháp rút gọn thuộc tính hữu hiệu sẽ góp phần không nhỏ vào việc hoàn thiện mô hình G(m,n).
- Hiện tại, vẫn chưa có cách nào để tìm kiếm phương án tối ưu cho các mẫu khách
hàng không xác định (Unknown Patterns). Phát hiện ra phương án tốt cho các khách hàng loại này sẽ là một bước tiến lớn của mô hình phân tích đặc trưng.
- Mô hình G(m,n) gồm nhiều bộ phận cấu thành. Trong đó, có một số bộ phận và tác vụ có thểđược xửlý đồng thời mà không cần quan tâm đến kết quả của các bộ
phận khác. Do vậy, hoàn toàn có thể phát triển mô hình G(m,n) trên các hệ thống
tính toán song song, đem lại tốc độ xử lý cao hơn và hiệu quảhơn.
- Đặc trưng (characteristics) không phải là nhân tố duy nhất tác động lên thị hiếu và lựa chọn của khách hàng[9]. Mối liên hệ phức tạp giữa các hành vi, tâm lý, kinh nghiệm của khách hàng,xu hướng tiêu dùng[6][8], cũng như tác động của chất
lượng sản phẩm[14] làm cho những quyết định của khách hàng ngày càng khó
đoán biết được. Doanh nghiệp sẽ gặp nhiều trở ngại trong việc đưa ra các chiến
lược và chính sách phù hợp. Phát triển mô hình hiện tại trên các nhân tố khác tác
động lên khách hàng sẽ góp phần không nhỏ vào việc hoạch định các chính sách và hạn chế rủi ro cho doanh nghiệp.
- Cuối cùng, việc tăng cường thử nghiệm nhiều hơn nữa mô hình G(m,n) trên các
ứng dụng thực tế sẽ tạo một cơ sở rất vững chắc cho việc kiểm chứng mức độ
Khóa luận tốt nghiệp Cử nhân tài năng 02 – Khoa học máy tính Trang 63
Phụ lục A: Mô hình phân tích đặc trưng Paul E. Green
Tóm tắt những điểm chính yếu bài báo Bayesian Classification Procedures in Analyzing Customer Characteristics (1964) của tác giả Paul E. Green [23]:
Giả sử một chương trình quảng cáo các sản phẩm nội thất. Doanh nghiệp quan tâm
đến việc xây dựng một danh sách các khách hàng tiềm năng dựa trên các đặc trưng của họđể
gửi cho họ tập giới thiệu sản phẩm.
Xác định 3 đặc trưng (thuộc tính) khách hàng sau:
: có khảnăng đặt mua dài hạn hai hay nhiều “tạp chí gia đình”
: có khảnăng thu nhập lớn hơn $8,000 một năm
: khảnăng sở hữu một căn nhà
Giả sử các khách hàng trong quá khứ có thể phân thành hai lớp:
: khách hàng tiềm năng : khách hàng không tiềm năng Thuộc tính khách hàng Xác suất có điều kiện ( | ) ( | ) ( | ) 1 1 1 1 .262 .045 2 1 1 0 .200 .067 3 1 0 1 .169 .112 4 1 0 0 .092 .180 5 0 1 1 .108 .169 6 0 1 0 .077 .101 7 0 0 1 .062 .135 8 0 0 0 .030 .191 1.000 1.000
Bảng A.1: Các mẫu thuộc tính cho 3 đặc trưng khách hàng và các xác suất có điều kiện Mỗi vector ( , , ) đại diện cho một khách hàng. = 1 là khách hàng có thuộc tính này, = 0 là khách hàng không có thuộc tính này
( | )là các ước lượng dựa trên những tỉ lệ quan sát được từ các phân tích dữ liệu bán hàng trong quá khứ.
Khóa luận tốt nghiệp Cử nhân tài năng 02 – Khoa học máy tính Trang 64
Cũng dựa trên dữ liệu từ quá khứ, có thể tính được các xác suất tiên nghiệm (prior probabilities): ( ) = .7 ( ) = .3 Phương án – khách hàng tiềm năng (j) – khách hàng không tiềm năng – Gửi giới thiệu (i) 0 $3 – Không gửi giới thiệu $1 0
Bảng A.2: Bảng Opportunity Losses
Trong đó, là thiệt hại cơ hội của phương án i khi khách hàng thuộc loại j. Đây
cũng chính là số tiền thiệt hại khi không chọn được phương án tối ưu.
Expected Opportunity Loss:
( ) = .
Thông thường, người ta thường chọn phương án có EOL nhỏ nhất làm phương án tối
ưu (không xét tới các thông tin về thuộc tính khách hàng)
( ) = 0.7∗0 + 0.3∗3 = $0.9
( ) = 0.7∗1 + 0.3∗0 = $0.7
Chọn phương án A – Không gửi giới thiệu
Có thể cải tiến việc lựa chọn phương án dựa trên các thuộc tính khách hàng
Công thức Bayes:
= . ( | )
Khóa luận tốt nghiệp Cử nhân tài năng 02 – Khoa học máy tính Trang 65
Khách hàng Xác suất hậu nghiệm (Posterior probabilities)
( | ) ( | ) 1 .931 .069 2 .874 .126 3 .779 .221 4 .544 .456 5 .599 .401 6 .640 .359 7 .517 .483 8 .268 .732 Bảng A.3: Các xác suất hậu nghiệm của khách hàng
Để xác định phương án áp dụng cho các khách hàng, Paul E. Green giới thiệu hai chỉ
số Critical probability và Likelihood ratio:
a. Critical probability ∗ = ( )
( ) ( )
( ) = $1 là số tiền bị thiệt hại do thực hiện phương án khi khách hàng thuộc loại
( ) = $3 là số tiền bị thiệt hại do thực hiện phương án khi khách hàng thuộc loại ∗ = = .75 ( | ) > ∗ → ( | ) < ∗ → ( | ) = ∗ → b. Likelihood ratio ( ) = ( | ) ( | ) Critical ratio ∗ = ( ). ( ) ( ). ( )= . ∗ . ∗ = 1.29 ( ) > ∗ → ( ) < ∗ → ( ) = ∗ →
Khóa luận tốt nghiệp Cử nhân tài năng 02 – Khoa học máy tính Trang 66
Critical Probability ∗ = .75 Critical Ratio ∗ = 1.29 ( | ) Phương án ( ) Phương án 1 .931 5.822 2 .874 2.985 3 .779 1.509 4 .544 .511 5 .599 .639 6 .640 .762 7 .517 .459 8 .268 .157
Bảng A.4: Các giá trị Critical Probability và Likelihood ratio
Chọn phương án đối với mẫu , ,
Chọn phương án đối với mẫu , , , ,
Kiểm chứng tối ưu bằng cách tính Expected Opportunity Loss:
( ) = ( ∩ ). ( ) = ( ). ( | ). ( )
( ) = ( ∩ ). ( ) = ( ). ( | ). ( )
= ( ) + ( )
Phương án
Xác suất đồng thời
(Joint probabilities) Expected opportunity loss
( ). ( | ) ( ). ( | ) 1 .1834 .0135 .0405 2 .1400 .0201 .0603 3 .1183 .0336 .1008 4 .0644 .0540 .0644 5 .0756 .0507 .0756 6 .0539 .0303 .0539 7 .0434 .0405 .0434 8 .0210 .0573 .0210 Tổng: .4599
Khóa luận tốt nghiệp Cử nhân tài năng 02 – Khoa học máy tính Trang 67
.4599 < .7 việc lựa chọn phương án dựa trên thuộc tính của khách hàng cho ra kết quả tối ưu hơn so với cách cũ.
Sốlượng thuộc tính tối ưu cho việc tính toán
Để việc phân tích được dễ kiểm soát, hai giả thiết được thành lập:
- Xác suất có điều kiện của từng thuộc tính ứng với trạng thái là như nhau
( | ) = 0.7 ( | ) = 0.3
- Xác suất có điều kiện này độc lập với các thuộc tính khác (trong cùng một đối
tượng)
( | ) = 1− ( | ) = 0.3 ( | ) = 1− ( | ) = 0.7
Một số thông sốđược thiết lập:
( ) = 0.8
( ) = 0.2
( ) = $2
( ) = $2
Chi phí tính toán một thuộc tính : Measurement Cost = $0.03.
Cho = 0,∞ ứng với số lượng thuộc tính (number of attributes) cần xem xét. Ta dựa vào các tính toán ởtrên đểtính được các giá trị EOL tương ứng cho từng giá trị k.
Hình A.1 (trang sau) biểu diễn xu hướng của giá trị EOL và Measurement Cost. Ta thấy mức chi phí tổng cộng (total cost) $0.338 là thấp nhất ứng với k=5 (5 thuộc tính). Như
Khóa luận tốt nghiệp Cử nhân tài năng 02 – Khoa học máy tính Trang 68
Khóa luận tốt nghiệp Cử nhân tài năng 02 – Khoa học máy tính Trang 69
Phục lục B: Các lớp bài toán P và NP
Bài toán quyết định (decision problems):là bài toán mà đầu ra chỉ có thể là câu trả
lời ‘yes’ hoặc ‘no’(đúng/sai; 1/0).
Giải thuật tất định (deterministic algorithm): là giải thuật ở mỗi bước chỉ có một việc duy nhất được thực hiện kế tiếp. Phần lớn các giải thuật hiện nay là giải thuật tất định.
Giải thuật không tất định (nondeterministic algorithm): là các giải thuật khi gặp một sự lựa chọn giữa nhiều khảnăng, nó có thể đoán biết để chọn ra khảnăng thích đáng.
Lớp bài toán P (polynomial): là một lớp các bài toán quyết định có thể giải được trong thời gian đa thức (polynomial time) bằng các thuật toán tất định (deterministic algorithms).
Ví dụ: Bài toán tìm cây khung nhỏ nhất giải được nhờ thuật toán Prim với thời gian O(n2) thuộc lớp bài toán P.
Lớp bài toán NP (nondeterministic polynomial): là lớp bài toán quyết định có thể được giải bằng các giải thuật không tất định (nondeterministic algorithms) trong thời gian đa
thức. Nói cách khác, NP là lớp các bài toán quyết định mà để xác định câu trả lời của nó chúng ta có thểđưa ra các bằng chứng ngắn gọn dễ kiểm tra trong thời gian đa thức.
Ví dụ: Bài toán kiểm tra tính hợp số: “Có phải n là hợp số không?” là một bài toán lớp NP. Để xác nhận câu trả lời ‘yes’ cho đầu vào n ta có thể đưa ra một ước số b (1<b<n)
của n. Để kiểm tra xem b có phải là ước số của n hay không ta có thể thực hiện phép chia n
cho b sau thời gian đa thức. Trong ví dụ này dễ thấy b là bằng chứng ngắn gọn (b<n) và dễ
kiểm tra (có thuật toán thời gian tính đa thức để kiểm tra xem b có là ước số của n).
Tính khả thu giảm đa thức (polynomial reducibility): Một bài toán quyết định D1
được gọi là thu giảm đa thức về bài toán quyết định D2 nếu tồn tại một hàm t có thể chuyển đổi bài toán D1 sang D2 sao cho:
1. Kết quả đầu ra của D1 chính bằng kết quả đầu ra của D2.
2. hàm t có thể được tính bằng một giải thuật có thời gian đa thức (polynomial-time algorithm).
Lớp bài toán NP-đầy đủ (NP-Complete): Một bài toán quyết định D gọi là NP-đầy đủ nếu:
Khóa luận tốt nghiệp Cử nhân tài năng 02 – Khoa học máy tính Trang 70
1. Nó thuộc về lớp NP.
2. Tất cả các bài toán trong lớp NP đều có thể thu giảm đa thức về D.
Lớp bài toán NP-khó (NP-hard): là lớp bài toán NP không có thuật toán tất định để
giải nó theo thời gian đa thức mà chỉ có những thuật toán giải trong thời gian hàm mũ.
Một số bài toán NP-khó:
Bài toán du lịch (Travelling salesman problem): cho một tập các thành phố và khoảng
cách giữa mỗi cặp thành phố, tìm một lộ trình đi qua tất cả mọi thành phố sao cho tổng
khoảng cách của lộ trình nhỏ hơn M.
Bài toán tìm chu trình Hamilton: cho một đồ thị, tìm một chu trình đơn đi qua tất cả các đỉnh.
Bài toán rút gọn một hàm đại số bool.
Hình B.1: Mô hình các lớp bài toán (nguồn: http://en.wikipedia.org/wiki/File:P_np_np-complete_np-hard.svg) complete_np-hard.svg)
Khóa luận tốt nghiệp Cử nhân tài năng 02 – Khoa học máy tính Trang 71
Hầu hết các bài toán quyết định đều thuộc lớp NP. Hiển nhiên, một bài toán quyết định thuộc lớp P (có thể giải được bằng các giải thuật tất định) thì sẽ thuộc lớp NP (có thể
giải được bằng các giải thuật không tất định).
P ⊆NP
Hiện nay, vấn đề P có bằng NP hay không vẫn là một câu hỏi chưa có lời giải. Nếu P
= NP thì có nghĩa là tất cả các bài toán lớp NP đều có thể giải được bằng các thuật toán tất định theo thời gian đa thức. Khi đó các bài toán này chính là lớp NP-Complete (P = NP = NP-Complete) [20].
Khóa luận tốt nghiệp Cử nhân tài năng 02 – Khoa học máy tính Trang 72
Phụ lục C: Tập hợp tối đại ngẫu nhiên ưu tiên trong rút gọn thuộc tính
Tóm tắt những điểm chính yếu bài báo A Bit-Chain Based Algorithm for Problem of Attribute Reduction [2]:
I. Tập hợp tối đại ngẫu nhiên ưu tiên
Nhược điểm thường gặp của các giải thuật rút gọn thuộc tính là độ phức tạp rất lớn
thường ở mức NP-khó. Điều này gây khó khăn trong việc triển khai các phương pháp rút
gọn thuộc tính vào thực tế. Trong một nghiên cứu gần đây, một kỹ thuật rút gọn thuộc tính dựa trên chuỗi bit đã được giới thiệu. Giải thuật đề xuất chỉ cố độ phức tạp mức tuyến tính
đem lại nhiều thuận lợi trong việc áp dụng vào thực tế.
1. Không gian toán học
- Chuỗi bit (bit-chain): là dạng < a1a2 ... am > (với ai ∈ {0,1})
- Phép toán giao (⩃): là một phép toán 2 ngôi
< a1a2 ... am >⩃< b1b2 ... bm > = < c1c2 ... cm >, ai, bi ∈ {0,1}, ci = min(ai, bi)
- Phép toán phủ (): Một chuỗi bit Ađược gọi là phủ chuỗi bit B khi và chỉ khi mỗi vịtrí bit 1 được bật ởB, Acó đều có tương ứng một bit 1 được bật lên.
A = < a1a2 ... am >, B = < b1b2 ... bm >, (∀bi=1..m | (bi = 1) → (ai = 1)) ⇒ A B
Hệ quả 1: Mọi chuỗi nhị phân là kết quả khác 0 của một phép giao luôn bị phủ bởi hai chuỗi tạo ra nó.
- Dạng tối đại ngẫu nhiên ưu tiên (maximal random prior form -S): Dạng tối địa ngẫu nhiên ưu tiên của một tập hợp S các chuỗi bit, ký hiệu là, là một chuỗi bit thỏa mãn 4 tiêu chí:
o Bị phủ nhiều nhất bởi các phần tử trong S
o Bị phủ bởi phần tửđầu tiên trong S
o Có sốlượng bit 1 được bật lên nhiều nhất có thể
o Nếu có nhiều hơn 1 chuỗi bit thỏa 3 tiêu chí trên thì ưu tiên chọn chuỗi bit phủ nhiều phần tửđầu tiên trong S nhất.
Khóa luận tốt nghiệp Cử nhân tài năng 02 – Khoa học máy tính Trang 73 Xem xét ví dụ sau: a b c d S = { (1 0 1 1); (0 0 1 1); (1 1 0 0); (1 0 1 0); } Ta thấy các chuỗi nhị phân:
<0011>: có hai bits 1 được bật lên nhưng chỉ bị phủ bởi hai chuỗi đầu tiên của S. <1000>: có một bit 1 được bật lên và bị phủ bởi ba chuỗi nhị phân trong S. <0010>: có một bit 1 được bật lên và bị phủ bởi ba chuỗi nhị phân trong S.
Trong hai chuỗi <1000> và <0010>, chuỗi <0010> bị phủ bởi hai phần tử đầu tiên
trong S. Ta ưu tiên chọn <0010> là dạng δ − S.
- Các phần tử tối đại ngẫu nhiên ưu tiên (maximal random prior elemens) trong tập hợp các chuỗi nhị phân S là các phần tử có dạng sau:
Phần tử thứ 1 (p1): là dạng δ − S Phần tử thứ 2 (p2): là dạng δ − S\{ x∈S |x p1 } Phần tử thứ 3 (p3): là dạng δ − S\({ x∈S |x p1 } ∪ { x∈S |x p2 }) … Phần tử thứ k (pk): là dạng δ − S\({ x∈S |x p1 } ∪ { x∈S |x p2 }∪…∪{ x∈S |x pk-1 }) và S = { x∈S |x p1 } ∪ { x∈S |x p2 }∪…∪{ x∈S |x pk}
- Tập hợp P các phần tử tối đại ngẫu nhiên ưu tiên của tập hợp các chuỗi nhị phân S gọi là tập hợp tối đại ngẫu nhiên ưu tiên (maximal random prior set) của S.
Hệ quả 2: Các phần tử trong tập tối đại ngẫu nhiên ưu tiên P luôn không có chung vị
trí bit 1 được bật lên.
Hệ quả 3: Khi tập S được sắp xếp theo thứ tự khác nhau sẽ tạo ra các tập P không giống nhau.
Khóa luận tốt nghiệp Cử nhân tài năng 02 – Khoa học máy tính Trang 74
2. Thuật toán đề xuất:
a. Ý tưởng:
Xét một hàm phân biệt f có n biểu thức giao với nhau (∧). Mỗi biểu thức trong f chứa các biến , , … , đại diện cho m thuộc tính hợp (∨) với nhau.
Do tính chất giao hoán của đại số bool, ta có thể sắp xếp n biểu thức theo dạng sau:
= ∧ ∧…∧ Trong đó: = ⋀ ( ∨… ) = ⋀ ( ∨… ) không chứa = ⋀ ( ∨… ) không chứa , … = ⋀ ( ∨… ) không chứa , , … , ∀ = 1. . ; 0≤ ≤ | + +⋯+ = ; ∀ ≠ 0; 1 ≤ ≤ | = ∨ ; là biểu thức logic. Vậy = ⋀ = ⋀( ∨ ) = (⋀ )∨(⋀ ) Ta bỏ qua không xét (⋀ ). Còn lại (⋀ ) chính là một rút gọn của hàm f.
Để xây dựng tập tối đại ngẫu nhiên ưu tiên P của tập hợp các chuỗi nhị phân S, ta lần
lượt thực hiện phép giao từng phần tử trong S với (các) phần tử trong P. Nếu P rỗng thì thêm phần tử Sđang xét vào P. Nếu kết quả phép giao khác 0, thêm chuỗi kết quả vừa nhận được vào P. Nếu tất cả phép giao đều trả về chuỗi các bit nhị phân 0 thì thêm phần tửS vừa thực