Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 80 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
80
Dung lượng
1,08 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 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn ĐẠ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 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn LỜI CAM ĐOAN Tên tơi : 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ơi 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 nhƣ nội dung đề cƣơng yêu cầu thầy giáo hƣớng dẫn Nếu sai tơi xin hồn tồ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 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn LỜI CẢM ƠN Trong trình làm luận văn vừa qua, dƣới 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 tơi đƣợc hồ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 nhƣng thời gian khả hạn chế nên luận văn khó tránh khỏi thiếu sót Để hồ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 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 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 iii DANH MỤC CÁC HÌNH ẢNH iv PHẦN MỞ ĐẦU Chƣơng 1: LÝ THUYẾT CHUNG VỀ TẬP MỜ VÀ LÝ THUYẾT ĐẠI SỐ GIA TƢ̉ 1.1 Lý thuyết chung tập mờ 1.2 Lôgic mờ 1.3 Biến ngôn ngữ 14 1.4 Một số khái niệm Đại số gia tử 15 1.4.1 Đại số gia tử 17 1.4.2 Định nghĩa đại số gia tử 18 Chƣơng 2: LUẬT KẾT HỢP TRONG KHAI PHÁ DỮ LIỆU 33 2.1 Bài toán kinh điển dẫn đến việc khai phá luật kết hợp 33 2.2 Khai phá luật kết hợp mờ: 39 Chƣơng 3: ỨNG DỤNG ĐẠI SỐ GIA TỬ GIẢI BÀI TOÁN KHAI PHÁ DỮ LIỆU 41 3.1 Ứng dụng đại số gia tử khai phá liệu 41 3.1.1.Tiếp cận Đại số gia tử khai phá liệu: 41 3.1.2.Thuật tốn trích xuất luật kết hợp từ sở liệu: 43 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn ii 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ử 51 3.2 Bài toán 51 3.3 Xác định đầu vào, đầu toán 52 3.3.1 Thuật toán giải 52 3.3.2.Chƣơng trình thử nghiệm 52 3.3.3 Cài đặt chƣơng trình 52 3.3.4.Giao diện chƣơng trình 53 KẾT LUẬN 55 TÀI LIÊU THAM KHẢO 56 PHẦN PHỤ LỤC 58 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn iii DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT Các kí hiệu, Ý nghĩa chữ viết tắt ĐSGT Đại số gia tử α Tổng độ đo tính mờ gia tử âm β Tổng độ tính mờ gia tử dƣơng AX, AT Đại số gia tử AX Đại số gia tử tuyến tính đầy đủ W Phần tử trung hịa đại số gia tử Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn iv DANH MỤC CÁC HÌNH ẢNH Hình Mơ tả Hình Đồ thị biểu diễn hàm thuộc tập mờ già (old) Hình Biểu diễn Hình Độ đo tính mờ biến TRUTH Hình Giao diện chƣơng trình Hình Kết thực chƣơng trình thử nghiệm Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn PHẦN MỞ ĐẦU Trong năm gần đây, việc nắm bắt đƣợc thông tin đƣợc coi sở hoạt động sản xuất, kinh doanh Cá nhân tổ chức thu thập hiểu đƣợc thông tin, hành động dựa thông tin đƣợc kết xuất từ thơng tin có đạt đƣợc 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 tố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ó đƣợc thơng tin có ích để tác động lại q 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 đƣợc tri thức hữu dụng từ CSDL (lớn) đƣợc 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ừ tốn nghiên cứu số liệu bán hàng siêu thị Ở toán này, số liệu đƣợc biểu diễn dƣới dạng bảng hai chiều, cột thể loại mặt hàng (item), hàng thể giao dịch (transactions) đƣợc tiến hành, số cho thấy mặt hàng đƣợc 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 đƣợc quy luật giúp cho quản lý, kiểu nhƣ "Nếu ngƣời mua bánh mỳ Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn bơ, khả ngƣời mua giăm bơng cao" Luật có dạng nhƣ 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 nhƣ 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 đƣợc 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 nhƣng 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 nhƣng 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ị nhƣ 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ờ đƣợc 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 nhƣng dễ chấp nhận mặt trực quan đƣợc 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 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 58 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(); Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 59 /** Creates new form Luatkethop */ 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(); Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 60 jtfSuppTheta = new javax.swing.JTextField(); jLabel4 = new javax.swing.JLabel(); 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); Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 61 jButton1.setText("Lấy liệu mặc định"); jButton1.addActionListener(new java.awt.event.ActionListener() { 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); } }); Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 62 jtfConfTheta.setText("0.9"); jLabel3.setText("Nhập độ tin cậy"); 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); } }); Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 63 javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( 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) Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 64 addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.REL ATED) addComponent(jtfSC, javax.swing.GroupLayout.DEFAULT_SIZE, 68, Short.MAX_VALUE) addGap(18, 18, 18) 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)) Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 65 addGap(18, 18, 18) addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Align ment.TRAILING) addGroup(layout.createSequentialGroup() addComponent(jLabel3) 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) Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 66 addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Align ment.BASELINE) addComponent(jButton1) addComponent(jButton2) addComponent(jButton3) addComponent(jLabel1) addComponent(jLabel2) 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, Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 67 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)) 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 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 68 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 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()); Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 69 for(int i=0;i