Bài toán: Tic Tắc Toe 1. Mô tả tập dữ liệu a. Nguồn gốc Bộ dữ liệu được David W. Aha tạo ra gồm 958 thế cờ trên bàn cờ 3*3 Các bài báo liên quan đến bộ dữ liệu này [1][2][3] b. Cấu trúc Tic-tac-toe là một trò chơi phổ biến dùng viết trên bàn cờ giấy có chín ô, 3x3. Hai người chơi, người dùng ký hiệu O, người kia dùng ký hiệu X, lần lượt điền ký hiệu của mình vào các ô. Người thắng là người thể tạo được đầu tiên một dãy ba ký hiệu của mình, ngang dọc hay chéo đều được. Các thuộc tính của tập dữ liệu: 1. top-left-square: {x,o,b} 2. top-middle-square: {x,o,b} 3. top-right-square: {x,o,b} 4. middle-left-square: {x,o,b} 5. middle-middle-square: {x,o,b} 6. middle-right-square: {x,o,b} 7. bottom-left-square: {x,o,b} 8. bottom-middle-square: {x,o,b} 9. bottom-right-square: {x,o,b} 10. Class: {positive,negative} Trong đó : - x là quân x đánh - o là quân o đánh
Bài toán: Tic Tắc Toe 1. Mô tả tập dữ liệu a. Nguồn gốc Bộ dữ liệu được David W. Aha tạo ra gồm 958 thế cờ trên bàn cờ 3*3 Các bài báo liên quan đến bộ dữ liệu này [1][2][3] b. Cấu trúc Tic-tac-toe là một trò chơi phổ biến dùng viết trên bàn cờ giấy có chín ô, 3x3. Hai người chơi, người dùng ký hiệu O, người kia dùng ký hiệu X, lần lượt điền ký hiệu của mình vào các ô. Người thắng là người thể tạo được đầu tiên một dãy ba ký hiệu của mình, ngang dọc hay chéo đều được. Các thuộc tính của tập dữ liệu: 1. top-left-square: {x,o,b} 2. top-middle-square: {x,o,b} 3. top-right-square: {x,o,b} 4. middle-left-square: {x,o,b} 5. middle-middle-square: {x,o,b} 6. middle-right-square: {x,o,b} 7. bottom-left-square: {x,o,b} 8. bottom-middle-square: {x,o,b} 9. bottom-right-square: {x,o,b} 10. Class: {positive,negative} Trong đó : - x là quân x đánh - o là quân o đánh - b là ô trống - positive là thuật lợi - negative là bất lợi Các thuộc tính của tập dữ liệu đều có kiểu dữ liệu là rời rạc 2. Bài toán phân lớp - Phân lớp theo tình trạng của nước cờ, trong đó có 2 trạng thái Positive (thuận lợi) và Negative( bất lợi) 3. Giải quyết bài toán sử dụng các bộ phân lớp Xử lý dữ liệu đầu vào: Tất cả các thuộc tính đầu vào này là thuộc tính rời rạc do vậy nó phù hợp với hầu hết các thuật toán liên quan đến việc phân lớp Các mô hình huấn luyện cho bài toán phân lớp Trong lĩnh vực máy học (machine Learning) và nhận dạng mẫu (pattern recognition), bài toán phân lớp (classification) đề cập đến các thuật toán (algorithms) nhằm xác định lớp (class) của đối tượng đã cho sẽ thuộc về lớp nào trong các lớp đã cho trước (given categories). Khác với bài toán phân cụm (clustering), dữ liệu dùng để xây dựng mô hình (Training Data) trong bài toán phân lớp phải được xác định lớp trước (pre- Labeled). Ví dụ, xác định một email thuộc “spam” hoặc “non-spam”, hay xác định loại bệnh của bệnh nhân dựa vào các triệu chứng của họ. Training set Learn classifier Test set Model M ột thuật toán thực hiện việc phân lớp được gọi là một bộ phân lớp (classifier). Hình sau mô tả qui trình xây dựng mô hình phân lớp các đối tượng. Quy trình thực hiện huấn luyện bộ phân lớp với mẫu dữ liệu Tic Tac Toe.arff Dữ liệu xây dựng mô hình Dữ liệu để xây dựng mô hình: dữ liệu gốc (original dataset), dữ liệu này phải có thuộc tính phân lớp (categorical attribute). Dữ liệu gốc sẽ được chia thành 2 phần là Training Set (để xây dựng model) và Test Set (để kiểm định mẫu - Model). Cuối cùng là tính toán lỗi để đánh giá mô hình phân lớp (classification model). Chia nhỏ tập dữ liệu theo phương pháp CV (Cross-Validation) trong quá trình huấn luyện và kiểm lỗi mô hình phân lớp Đây là kỹ thuật chủ yếu được sử dụng trong xây dựng predictive Model. Trong đó dữ liệu gốc sẽ được chia thành n phần bằng nhau (n-fold), và quá trình Train/Test Model thực hiện lặp lại n lần. Tại mỗi lần Train/Test Model, 1 phần dữ liệu dùng để Test và (n-1) phần còn lại dùng để Train. (Người ta đã chứng minh 10-fold Cross –Validation là giá trị tối ưu - theo GJ, McLachlan; K.A. Do, C. Ambroise (2004). Analyzing microarray gene expression data. Wiley) Tính toán lỗi cho bộ phân lớp Kết quả nhận được là những bộ phân lớp Các bộ phân lớp được weka hỗ trợ : Bayes: NavieBayes NavieBayesMiltinominal NavieBayesUpdateable Functions: Logistic MultilayerProceptron SGD SimpleLogistic SMO Lazy: IBk Kstar LWL Meta: AdaBoostM1 Bagging FilteredClassifier LogitBoots Misc InputmappedClassifier SerialzedClassifier Rules DecisionTable JRip OneR ZeroR Trees J48 LMT DecisionStump RandomTree REPTree RandomForest 4. Thực nghiệm Dữ liệu sẽ được chia làm 10 Folds và quá trình Train/Test Model thực hiện lặp lại 10 lần. Tại mỗi lần Train/Test Model, 1 phần dữ liệu dùng để Test và 9 phần còn lại dùng để Train. Sử dụng công cụ KnowledgeFlow Xác định nguồn và định dạng dữ liệu (DataSources): chọn ArffLoader để load nạp dữ liệu từ file tic tac toe.arff Chọn tab Evaluation và chọn ClassAssigner để xác định thuộc tính phân lớp (Category variable) của mô hình. Để nạp dữ kiệu từ dataset vào mô hình bấm phải chuột vào TicTacToe Dataset và chọn dataset rồi kéo và thẻ đến ClassAssigner Chọn kỹ thuật Train và Test Mô hình (ở đây sử dụng kỹ thuật CV – CrossValidation). Trong Tab Evaluation chọn CrossValidation FoldMaker. Nạp dữ liệu vào CV giống như nạp dữ liệu từ Tic Tac Toe Dataset vào ClassAssigner Chọn Tab Classifiers và chọn các thuật toán để xây dựng mô hình (trước tiên chọn thuật toán J48). Sau đó nạp dữ liệu để train và Test mô hình, bấm phải chuột vào CrossValidation FoldMaker chọn TrainingSet nối với J48, sau đó chọn TestSet (chú ý là phải chọn TraningSet trước) Hiệu chỉnh tham số của thuật toán bằng cách double click và thuật toán Chọn Tab Evaluation chọn ClassifierPerformanceEvaluator để đánh giá hiệu quả của mô hình phân lớp Chọn Tab: Visualization và chọn Text Viewer hoặc GraphViewer để xem kết quả của mô hình dưới dạng Text hay dưới dạng trực quan quan bằng hình ảnh Làm tương tự với thuật toán Naviebayes ta được mô hình như sau: Sau đây là kết quả thực nghiệm: Scheme: NaiveBayes Correctly Classified Instances 667 69.6242 % Incorrectly Classified Instances 291 30.3758 % . lớp với mẫu dữ liệu Tic Tac Toe. arff Dữ liệu xây dựng mô hình Dữ liệu để xây dựng mô hình: dữ liệu gốc (original dataset), dữ liệu này phải có thuộc. toán: Tic Tắc Toe 1. Mô tả tập dữ liệu a. Nguồn gốc Bộ dữ liệu được David W. Aha tạo ra gồm 958 thế cờ trên bàn cờ 3*3 Các bài báo liên quan đến bộ dữ liệu