1. Trang chủ
  2. » Công Nghệ Thông Tin

Khai phá luật kết hợp mờ dựa trên đại số gia tử

75 344 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 75
Dung lượng 1,01 MB

Nội dung

ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG LÊ THỊ BÍCH THẢO KHAI PHÁ LUẬT KẾT HỢP MỜ DỰA TRÊN ĐẠI SỐ GIA TỬ LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Thái Nguyên - 2013 ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG LÊ THỊ BÍCH THẢO KHAI PHÁ LUẬT KẾT HỢP MỜ DỰA TRÊN ĐẠI SỐ GIA TỬ Chuyên ngành: Khoa học máy tính Mã số: 60.48.01 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH NGƯỜI HƯỚNG DẪN KHOA HỌC TS.Trần Thái Sơn Thái Nguyên - 2012 LỜI CAM ĐOAN Tên : Lê Thị Bích Thảo Sinh ngày 02 tháng năm 1983 Học viên cao học lớp: K9B- trường Đại học CNTT&TT Thái Nguyên Xin cam đoan : Đề tài luận văn“Khai phá luật kết hợp mờ dựa đại số gia tử” TS.Trần Thái Sơn hướng dẫn công trình nghiên cứu riêng Tất tài liệu tham khảo có nguồn gốc, xuất xứ rõ ràng Tôi xin cam đoan tất nội dung luận văn nội dung đề cương yêu cầu thầy giáo hướng dẫn Nếu sai xin hoàn toàn chịu trách nhiệm trước Hội đồng khoa học trước pháp luật Thái Nguyên, tháng 01 năm 2013 Người cam đoan Lê Thị Bích Thảo LỜI CẢM ƠN Trong trình làm luận văn vừa qua, giúp đỡ bảo nhiệt tình TS Trần Thái Sơn – Viện Công nghệ thông tin – Viện khoa học Việt Nam, luận văn hoàn thành Mặc dù cố gắng không ngừng với tận tâm thầy hướng dẫn thời gian khả hạn chế nên luận văn khó tránh khỏi thiếu sót Để hoàn thành luận văn này, em xin bày tỏ lòng biết ơn sâu sắc đến TS Trần Thái Sơn – Người thầy tận tình giúp đỡ em suốt trình làm luận văn Em xin bày tỏ lòng biết ơn đến ban lãnh đạo thầy giáo, cô giáo Trường Đại học Công Nghệ Thông Tin & Truyền Thông Đại Học Thái Nguyên giúp đỡ, tạo điều kiện tốt cho em học tập thực luận văn Thái Nguyên, tháng 01 năm 2013 Tác giả Lê Thị Bích Thảo i MỤC LỤC LỜI CAM ĐOAN iii LỜI CẢM ƠN .iv DANH MỤC CÁC KÝ HIỆU, CÁC CHỮVIẾT TẮT .ii DANH MỤC CÁC HÌNH ẢNH iii .iii PHẦN MỞĐẦU Chương LÝ THUYẾT CHUNG VÊTẬP MỜVA LÝ THUYẾT ĐAI SÔGIA TƯ 1.1 Ly thuyêt chung tập mờ .4 1.2 Lôgic mờ 1.3 Biên ngôn ngữ .13 1.4 Một số khái niệm Đại số gia tử 15 1.4.1 Đại số gia tử 16 1.4.2 Định nghĩa đại số gia tử .17 Chương 31 LUẬT KẾT HỢP TRONG KHAI PHÁ DỮLIỆU 31 2.1 Bài toán kinh điển dẫn đên việc khai phá luật kêt hợp .31 2.2 Khai phá luật kêt hợp mờ: 36 Chương 38 ƯNG DỤNG ĐAI SÔGIA TƯGIẢI BAI TOÁN KHAI PHÁ DỮLIỆU 38 3.1 Ưng dung đại số gia tử khai phá liệu 38 3.1.1.Tiếp cận Đại số gia tử khai phá liệu: .38 3.1.2.Thuật toán trích xuất luật kết hợp từ sở liệu: 40 *Ví du minh họa: 42 3.1.3.Thuật toán giải toán khai phá luật kết hợp mờ dựa đại số gia tử 48 3.2 Bài toán 48 3.3 Xác định đầu vào, đầu toán 49 3.3.1 Thuật toán giải .49 3.3.2.Chương trình thử nghiệm .49 3.3.3 Cài đặt chương trình 49 3.3.4.Giao diện chương trình 50 KẾT LUẬN 52 TAI LIÊU THAM KHẢO 53 PHẦN PHỤLỤC 55 ii DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT Các kí hiệu, chữ viết tắt ĐSGT α β AX, AT AX W Ý nghĩa Đại số gia tử Tổng độ đo tính mờ gia tử âm Tổng độ tính mờ gia tử dương Đại số gia tử Đại số gia tử tuyến tính đầy đủ Phần tử trung hòa đại số gia tử iii DANH MỤC CÁC HÌNH ẢNH Hình Hình Hình Hình Hình Hình Mô tả Đồ thị biểu diễn hàm thuộc tập mờ già (old) Biểu diễn Độ đo tính mờ biến TRUTH Giao diện chương trình Kết thực chương trình thử nghiệm PHẦN MỞ ĐẦU Trong năm gần đây, việc nắm bắt thông tin coi sở hoạt động sản xuất, kinh doanh Cá nhân tổ chức thu thập hiểu thông tin, hành động dựa thông tin kết xuất từ thông tin có đạt thành công hoạt động Chính lý đó, việc tạo thông tin, tổ chức lưu trữ khai thác ngày trở nên quan trọng gia tăng không ngừng Sự tăng trưởng vượt bậc sở liệu (CSDL) sống như: thương mại, quản lý khoa học làm nảy sinh thúc đẩy phát triển kỹ thuật thu thập, lưu trữ, phân tích khai phá liệu… không phép toán đơn giản thông thường như: phép đếm, thống kê… mà đòi hỏi cách xử lý thông minh hơn, hiệu Từ nhà quản lý có thông tin có ích để tác động lại trình sản xuất, kinh doanh mình… tri thức Các kỹ thuật cho phép ta khai thác tri thức hữu dụng từ CSDL (lớn) gọi kỹ thuật khai phá liệu (DM – Data Mining) Khai phá luật kết hợp nội dung quan trọng khai phá liệu Luận văn trình bày số vấn đề phát tri thức, khai phá liệu, tập trung vào vấn đề khai phá luật kết hợp ứng dụng lý thuyết Đại số gia tử khai phá luật kết hợp CSDL Khai phá liệu, cụ thể trích xuất luật kết hợp từ sở liệu, có xuất phát điểm từ toán nghiên cứu số liệu bán hàng siêu thị Ở toán này, số liệu biểu diễn dạng bảng hai chiều, cột thể loại mặt hàng (item), hàng thể giao dịch (transactions) tiến hành, số cho thấy mặt hàng mua, số điều ngược lại Từ bảng liệu lớn này, người ta mong muốn rút quy luật giúp cho quản lý, kiểu "Nếu người mua bánh mỳ bơ, khả người mua giăm cao" Luật có dạng gọi luật kết hợp hướng nghiên cứu quan trọng lĩnh vực khai phá liệu Về sau, người ta thấy không đầy đủ xem xét sở liệu bao gồm phần tử Chẳng hạn, CSDL nhân quan có mục tuổi, thu nhập có giá trị miền số thực rộng Để trích xuất luật kết hợp, phương pháp thường sử dụng chuyển số liệu CSDL cho CSDL chứa giá trị 0, áp dụng kết có Thí dụ, mục "tuổi", chia miền "trẻ", "trung niên" "già" với miền giá trị tương ứng [0,35], [36,55], [56,80] giá trị CSDL ban đầu rơi vào miền giá trị ta ghi cho vị trí tương ứng CSDL chuyển đổi, ngược lại gán giá trị Phương pháp đơn giản mặt thực thi gây băn khoăn ranh giới cứng mà người ta đưa tiến hành chuyển đổi Chẳng hạn hai người tuổi 35 36 gần mặt tuổi tác lại thuộc hai lớp khác "trẻ" "trung niên", dẫn tới việc đưa luật kết hợp thiếu tính xác Và người ta sử dụng cách tiếp cận mờ để khắc phục điều này, theo đó, giá trị CSDL ban đầu không chuyển đổi giá trị mà chuyển tập giá trị thực thuộc đoạn [0,1], độ thuộc giá trị cho vào tập mờ xác định trước Thí dụ, người tuổi 35 ví dụ trên, CSDL chuyển đổi nhận tập giá trị (trẻ, 0,8), (trung niên, 0,6), (già, 0,1) Phương pháp này, dẫn tới việc xử lý phức tạp dễ chấp nhận mặt trực quan nhiều nhà nghiên cứu quan tâm Mặc dù vậy, theo ý chúng tôi, phương pháp trích xuất luật kết hợp mờ có số điểm yếu cần khắc phục Đó phụ thuộc chủ quan lớn vào việc lựa chọn hàm thuộc cho tập mờ dẫn đến việc xử lý vừa phức tạp vừa thiếu xác Trong báo trình bày việc giải toán trích xuất luật kết hợp mờ theo cách tiếp cận Đại số gia tử, giá trị độ thuộc mờ nhận thông qua giá trị định lượng ngữ nghĩa, xác định dựa kết nghiên cứu lý thuyết ĐSGT có từ trước Luận văn có bố cục sau: Chương 1: Lý thuyết chung về tập mờ và lý thuyết đại số gia tư Trong chương trình bày kiến thức lý thuyết tập mờ, số khái niệm đại số gia tử Chương 2: Khai phá luật kết hợp mờ dựa đại số gia tư Trong chương trình bày luật kết hợp mờ, thuật toán khai phá luật kết hợp mờ dựa đại số gia tử Chương : Ứng dụng ĐSGT giải toán khai phá liệu Trong chương trình bày toán, thuật toán cách giải toán khái phá luật kết hợp mờ dựa đại số gia tử cách sử dụng giá trị định lượng ngữ nghĩa hạng từ đại số gia tử 54 Method of Approximate Reasoning in Medical Expert Systems”, Tạp chí Tin học Điều khiển, Tập18,(3),Tr 237-252 [10] Van Hung Le, Cat Ho Nguyen, Fei Liu, Semantics and Aggregation of Linguistic Information Based on Hedge Algebras, The Third International Conference on Knowledge, Information and Creativity Support Systems, KICSS 2008, Hanoi, Vietnam, Dec 22-23, 2008, 128135 [11] Van Nam Huynh, Cat Ho Nguyen, Yoshiteru Nakamori, MEDM in General Multi-granular Hierarchical Linguistic Contexts Based on The 2-Tuples Linguistic Model, In Proc of IEEE Int Conf on Granular Computing, pages 482–487, 2005 [12] F Herrera and L Martinez, A Model Based on Linguistic 2-Tuples for Dealing with Multigranular Hierachical Linguistic Contexts in MultiExpert Decision-Making, IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS, Vol.31, No.2 (2001), 227-234 [13] M Delgado, F Herrera, E Herrera-Viedma, L Martinez (1998), “Combining numerical and linguistic information in group decision making Journal of Information Sciences 107”, tr 177-194 [14] Didier Dubois, Henri Prade (2000), Fuzzy Sets and Fuzzy InformationGranulation Theory: Key selected papers by Lotfi A Zadeh: Da Ruan and Chongfu Huang (Eds.), Beijing Normal University Press, Beijing, 2000, 360pp., ISBN 7-303-05326-1 55 PHẦN PHỤ LỤC Mã nguồn chương trình: import javax.swing.DefaultListModel; import javax.swing.table.DefaultTableModel; import javax.swing.table.JTableHeader; import javax.swing.table.TableColumn; import javax.swing.table.TableColumnModel; /* * To change this template, choose Tools | Templates * and open the template in the editor */ /* * Luatkethop.java * * Created on Jul 25, 2012, 9:44:13 PM */ /** * * @author Admin */ public class Luatkethop extends javax.swing.JFrame { HAAssociationRules ascRules = new HAAssociationRules(); /** Creates new form Luatkethop */ 56 public Luatkethop() { initComponents(); } /** This method is called from within the constructor to * initialize the form * WARNING: Do NOT modify this code The content of this method is * always regenerated by the Form Editor */ @SuppressWarnings("unchecked") // //GENBEGIN:initComponents private void initComponents() { tblData = new javax.swing.JScrollPane(); jTable1 = new javax.swing.JTable(); jButton1 = new javax.swing.JButton(); jButton2 = new javax.swing.JButton(); jLabel1 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); jtfSH = new javax.swing.JTextField(); jtfSC = new javax.swing.JTextField(); jButton4 = new javax.swing.JButton(); jtfConfTheta = new javax.swing.JTextField(); jLabel3 = new javax.swing.JLabel(); jtfSuppTheta = new javax.swing.JTextField(); jLabel4 = new javax.swing.JLabel(); 57 jButton5 = new javax.swing.JButton(); jScrollPane1 = new javax.swing.JScrollPane(); lstItemset = new javax.swing.JList(); jScrollPane2 = new javax.swing.JScrollPane(); lstRules = new javax.swing.JList(); jButton3 = new javax.swing.JButton(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_C LOSE); setTitle("Khai phá luật kết hợp"); jTable1.setModel(new javax.swing.table.DefaultTableModel( new Object [][] { {null, null, null, null}, {null, null, null, null}, {null, null, null, null}, {null, null, null, null} }, new String [] { "Title 1", "Title 2", "Title 3", "Title 4" } )); tblData.setViewportView(jTable1); jButton1.setText("Lấy liệu mặc định"); jButton1.addActionListener(new java.awt.event.ActionListener() { 58 public void actionPerformed(java.awt.event.ActionEvent evt) { jButton1ActionPerformed(evt); } }); jButton2.setText("Lấy liệu ngẫu nhiên"); jButton2.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton2ActionPerformed(evt); } }); jLabel1.setText("Nhập số hàng:"); jLabel2.setText("Nhập số cột:"); jButton4.setText("Sinh tập phổ biến"); jButton4.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton4ActionPerformed(evt); } }); jtfConfTheta.setText("0.9"); jLabel3.setText("Nhập độ tin cậy"); 59 jtfSuppTheta.setText("0.5"); jLabel4.setText("Nhập độ hỗ trợ"); jButton5.setText("Sinh tập luật kết hợp"); jButton5.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton5ActionPerformed(evt); } }); jScrollPane1.setViewportView(lstItemset); jScrollPane2.setViewportView(lstRules); jButton3.setText("Nhập tay"); jButton3.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton3ActionPerformed(evt); } }); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( 60 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEAD ING) addGroup(layout.createSequentialGroup() addContainerGap() addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Align ment.LEADING) addComponent(tblData, javax.swing.GroupLayout.DEFAULT_SIZE, 765, Short.MAX_VALUE) addGroup(layout.createSequentialGroup() addComponent(jButton1) addGap(90, 90, 90) addComponent(jLabel1) addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.REL ATED) addComponent(jtfSH, javax.swing.GroupLayout.DEFAULT_SIZE, 67, Short.MAX_VALUE) addGap(18, 18, 18) addComponent(jLabel2) addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.REL ATED) addComponent(jtfSC, javax.swing.GroupLayout.DEFAULT_SIZE, 68, Short.MAX_VALUE) addGap(18, 18, 18) 61 addComponent(jButton3) addGap(18, 18, 18) addComponent(jButton2)) addGroup(layout.createSequentialGroup() addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Align ment.LEADING) addGroup(layout.createSequentialGroup() addComponent(jLabel4) addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.REL ATED) addComponent(jtfSuppTheta, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE) addGap(18, 18, 18) addComponent(jButton4)) addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 373, javax.swing.GroupLayout.PREFERRED_SIZE)) addGap(18, 18, 18) addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Align ment.TRAILING) addGroup(layout.createSequentialGroup() addComponent(jLabel3) 62 addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.REL ATED) addComponent(jtfConfTheta, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE) addGap(18, 18, 18) addComponent(jButton5)) addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 374, javax.swing.GroupLayout.PREFERRED_SIZE)))) addContainerGap()) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEAD ING) addGroup(layout.createSequentialGroup() addGap(11, 11, 11) addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Align ment.BASELINE) addComponent(jButton1) addComponent(jButton2) addComponent(jButton3) addComponent(jLabel1) addComponent(jLabel2) 63 addComponent(jtfSH, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) addComponent(jtfSC, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.REL ATED) addComponent(tblData, javax.swing.GroupLayout.PREFERRED_SIZE, 248, javax.swing.GroupLayout.PREFERRED_SIZE) addGap(18, 18, 18) addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Align ment.BASELINE) addComponent(jLabel4) addComponent(jtfSuppTheta, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) addComponent(jButton4) addComponent(jLabel3) addComponent(jtfConfTheta, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) addComponent(jButton5)) 64 addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNR ELATED) addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Align ment.LEADING) addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 182, Short.MAX_VALUE) addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 182, Short.MAX_VALUE)) addContainerGap()) ); pack(); }// //GEN-END:initComponents private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed // TODO add your handling code here: ascRules.initDefault(); jtfSH.setText(""+ascRules.data.mSize); jtfSC.setText(""+ascRules.data.mNumAttr); showData(true); }//GEN-LAST:event_jButton1ActionPerformed 65 private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed // TODO add your handling code here: ascRules.initRandom(Integer.parseInt(jtfSH.getText()), Integer.parseInt(jtfSC.getText())); showData(true); }//GEN-LAST:event_jButton2ActionPerformed private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton4ActionPerformed // TODO add your handling code here: ascRules.generateLargeItemset(Float.parseFloat(jtfSuppTheta.getText())); DefaultListModel lm = new DefaultListModel(); lm.addElement("Số tập phổ biến sinh #"+ascRules.largeItemsets.size()); for(int i=0;i

Ngày đăng: 16/04/2017, 17:34

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w