1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tiểu luận khai phá dữ liệu: SỬ DỤNG WEKA KHAI PHÁ DỮ LIỆU vowel.arff

21 672 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Tiểu luận khai phá dữ liệu: Sử dụng Weka khai phá dữ liệu vowel.arff
Chuyên ngành Khai phá dữ liệu
Thể loại Tiểu luận
Định dạng
Số trang 21
Dung lượng 0,91 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Mục lục 1. Bài toán 2 1.1. Mô tả tập dữ liệu (Dataset) 2 1.1.1. Nguồn gốc (UCI ARFF Repository) 2 1.1.2. Thuộc tính và ý nghĩa các thuộc tính 2 1.2. Bài toán phân lớp (Classification Problem) trên tập dữ liệu đã cho 4 2. Xây dựng mô hình huấn luyện cho bộ phân lớp (classifier) 5 2.1. Tiền xử lý dữ liệu cho tập dữ liệu vowel.arff 6 2.1.1. Vấn đề loại bỏ các thuộc tính không có liên quan đến thuộc tính phân lớp 6 2.1.2. Vấn đề phân chia mẫu dữ liệu huấn luyện và dữ liệu kiểm tra từ tập dữ liệu gốc 8 2.2. Các bộ phân lớp 9 2.2.1. Phân lớp bằng mô hình mạng Neural nhiều tầng (Multilayer Perceptron) 10 3. Thực nghiệm - Sử dụng bộ công cụ Weka 3.7.5 để thực hiện bài toán phân lớp trên tập dữ liệu vowel.arff 12 3.1. Xây dựng mô hình phân lớp 14 3.2. Kết quả phân lớp thực nghiệm 19 Tài liệu tham khảo 21 1. Bài toán 1.1. Mô tả tập dữ liệu (Dataset) 1.1.1. Nguồn gốc (UCI ARFF Repository) Link download từ Intrenet: http://repository.seasr.org/Datasets/UCI/arff/ Gordon Peterson và Harold Barney đã tiến hành một điều tra chi tiết về các nguyên âm Anh - Mỹ trong bài báo [1]. Công trình này đưa ra một độ đo âm thanh của tần số gốc (Fundalmental frequency – F0) và 9 tần số đặc trưng tiếp theo (formant frequencies – là những tần số trong âm thanh có được do cộng hưởng của các tần số bậc thấp hơn) đối với một tập các từ chứa các nguyên âm khác nhau. Cụ thể, đối với mỗi nguyên âm, các tác giả đặt trong những từ khác nhau, bắt đầu bằng âm h và kết thúc bằng âm d (Ví dụ: heed /hi:d/, hid/hId/…) và ghi nhận lại các tần số âm thanh phát ra theo 10 đặc trưng nêu trên. Bảng 1 cho thấy dữ liệu trong thực nghiệm này:

Trang 1

Mục lục

Mục lục 1

1.Bài toán 2

1.1.Mô tả tập dữ liệu (Dataset) 2

1.1.1.Nguồn gốc (UCI ARFF Repository) 2

1.1.2.Thuộc tính và ý nghĩa các thuộc tính 2

1.2.Bài toán phân lớp (Classification Problem) trên tập dữ liệu đã cho 4

2.Xây dựng mô hình huấn luyện cho bộ phân lớp (classifier) 5

2.1.Tiền xử lý dữ liệu cho tập dữ liệu vowel.arff 6

2.1.1.Vấn đề loại bỏ các thuộc tính không có liên quan đến thuộc tính phân lớp 6

2.1.2.Vấn đề phân chia mẫu dữ liệu huấn luyện và dữ liệu kiểm tra từ tập dữ liệu gốc 8

2.2.Các bộ phân lớp 9

2.2.1.Phân lớp bằng mô hình mạng Neural nhiều tầng (Multilayer Perceptron) 10

3.Thực nghiệm - Sử dụng bộ công cụ Weka 3.7.5 để thực hiện bài toán phân lớp trên tập dữ liệu vowel.arff 12

3.1.Xây dựng mô hình phân lớp 14

3.2.Kết quả phân lớp thực nghiệm 19

Tài liệu tham khảo 21

Trang 2

1 Bài toán

1.1 Mô tả tập dữ liệu (Dataset)

1.1.1 Nguồn gốc (UCI ARFF Repository)

Link download từ Intrenet: http://repository.seasr.org/Datasets/UCI/arff/

Gordon Peterson và Harold Barney đã tiến hành một điều tra chi tiết về các nguyên âm Anh - Mỹ trong bài báo [1] Công trình này đưa ra một độ đo âm thanh của tần số gốc (Fundalmental frequency – F0) và 9 tần số đặc trưng tiếp theo (formant frequencies – là những tần số trong âm thanh có được do cộng hưởng của các tần số bậc thấp hơn) đối với một tập các

từ chứa các nguyên âm khác nhau Cụ thể, đối với mỗi nguyên âm, các tác giả đặt trong những

từ khác nhau, bắt đầu bằng âm h và kết thúc bằng âm d (Ví dụ: heed /hi:d/, hid/hId/…) và ghi nhận lại các tần số âm thanh phát ra theo 10 đặc trưng nêu trên Bảng 1 cho thấy dữ liệu trong thực nghiệm này:

Raymond Watrous [2] đã tiến hành sắp xếp lại dữ liệu tổ chức trong [1] sử dụng tại trường đại học University of Pennsylvania Sau một thời gian được chỉnh sửa và hoàn thiện, dữ liệu được công bố bằng định dạng arff của weka, tên là pbvowel và biến thể khác là vowel (hiện tại được cung cấp tại repository của uci)

1.1.2 Thuộc tính và ý nghĩa các thuộc tính

Vào những năm 50 của thế kỷ trước, Gunnar Fant đã có một đóng góp quan trọng trong việc phát triển lý thuyết về giọng nói Trong nghiên cứu này của ông, sóng âm được xem xét

Trang 3

thông qua phản ứng của hệ thống lọc âm tần đối với một hoặc một vài nguồn âm khác nhau

Đó là nguyên lý cơ bản của những mô hình lọc âm trong quy trình điều chế giọng nói Trong quy trình xây dựng bộ dữ liệu Vowel, các tác giả quan tâm đến đặc trưng tần số của âm thanh,

cụ thể là tần số gốc F0 và tần số hòa âm Fn

Fundamental frequency (F0) Tần số gốc:

Khi một nguyên âm được phát ra, dây thanh quản rung lên theo một tốc độ nhất định và gọi là tần số gốc (tần số cơ bản) hay là F0 Trong thực nghiệm, F0 không phải lúc nào cũng như nhau và thay đổi một cách có chủ đích hoặc không có chủ đích Giá trị trung bình của tần

số F0 của trẻ em thường cao hơn so với người trưởng thành, và của nữ thường cao hơn nam Điều này có thể được kiểm chứng trong dữ liệu vowel (trong dữ liệu này có quan tâm đến giới tính của người được tham khảo)

Liên quan đến tần số gốc, có một khái niệm tương đương là cao độ của âm thanh (pitch) Trong công nghệ thông tin nói riêng và trong kỹ thuật xử lý tín hiệu số nói chung, tần số gốc F0 là một thông số cực kỳ quan trọng và là dữ liệu đầu vào bắt buộc cho mọi bài toán liên quan đến xử lý giọng nói

Trong tập dữ liệu vowel, tần số F0 được ghi nhận trong thuộc tính F0 F0 được mô hình hóa theo kiểu real (dữ liệu miền liên tục)

Formants (Tần số hòa âm):

Khác với tần số gốc F0 được tạo ra bởi nguồn âm (sự rung động của các dây thanh quản), thì các tần số hòa âm được tạo ra bởi sự cộng hưởng âm thanh do va đập của sóng âm với khoang miệng, môi, răng và lưỡi Tùy thuộc vào các dạng hình khác nhau của những yếu tố này, ta phát ra những phổ âm thanh khác nhau (âm có tần số khác nhau)

Trong tập dữ liệu vowel, người ta đã khảo sát và chia các âm này theo các tần số khác nhau (Từ F1 đến F9) Mỗi tần số được mô hình hóa kiểu real (miền dữ liệu liên tục)

Tập nguyên âm mẫu:

Trong tập dữ liệu vowel, mỗi nguyên âm /X/ được coi là một thành phần của một từ nào đó có dạng /hXd/ Các từ này được trình bày trong bảng 1 Tập các nguyên âm được đưa vào thuộc

tính Class (thuộc tính được chỉ định dùng để phân lớp) Thuộc tính Class được cấu trúc thành dạng tập hợp 11 thành phần (tương ứng với 11 nguyên âm tiếng Anh) như sau:

@attribute 'Class' { hid, hId, hEd, hAd, hYd, had, hOd, hod, hUd, hud, hed}

Trang 4

1.2 Bài toán phân lớp (Classification Problem) trên tập dữ liệu đã cho

- Dùng tập dữ liệu đã cho huấn luyện một bộ phân lớp có khả năng phân biệt các nguyên âm tiếng Anh

- Ngoài ra, dựa trên tập dữ liệu huấn luyện, kiểm nghiệm những nguyên lý vật lý cơ bản về giọng nói như: Sự phụ thuộc của tần số âm hòa âm vào tần số gốc, các nguyên âm được phát ra có được phân biệt bởi các thuộc tính hòa âm hay không

Trang 5

2 Xây dựng mô hình huấn luyện cho bộ phân lớp (classifier)

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ọ

Điều kiện tiên quyết để xây dựng một bộ phân lớp hiệu quả là việc xử lý dữ liệu huấn luyện Điều này được thể hiện rõ trên hai khía cạnh Thứ nhất, việc xử lý dữ liệu làm dữ liệu huấn luyện ổn định, hạn chế sai sót (xử lý oulier), hạn chế tình trạng mất mát dữ liệu Từ đó

mà bộ phân lớp trở nên ổn định hơn Thứ hai, việc xử lý dữ liệu bao gồm cả việc lựa chọn các thuộc tính có liên quan, loại bỏ các thuộc tính ít liên quan trong quá trình phân lớp Điều này làm giảm các trường dữ liệu gây nhiễu cho quá trình huấn luyện bộ phân lớp

Sau khi có được tập mẫu huấn luyện, ta sử dụng các thuật toán khác nhau để tạo ra những

bộ phân lớp khác nhau Như vậy, có thể coi mỗi thuật toán thực hiện phân lớp là đại diện của một bộ phân lớp khác nhau Đầu vào của các bộ phân lớp này là một bản ghi hoặc một tập các bản ghi mới, và đầu ra là lớp mà dữ liệu đó thuộc về Trong trường hợp mẫu dữ liệu chưa từng xuất hiện trong tập huấn luyện (unseen data), ta thấy bộ phân lớp có khả năng dự đoán (predicating)

Cuối cùng, mỗi bộ phân lớp có các chỉ số để xem xét độ chính xác, tính tin cậy của nó Vì vậy, việc xây dựng một bộ dữ liệu để kiểm chứng là điều vô cùng cần thiết Các vấn đề gặp phải trong việc xử lý dữ liệu này cũng giống như đối với dữ liệu huấn luyện (vấn đề sai sót dữ liệu và vấn đề lựa chọn thuộc tính) Do tính chất như vậy, trong thực tế, khi dữ liệu thu thập đủ lớn thì người ta thường sử dụng một phần để làm dữ liệu huấn luyện, phần còn lại để làm dữ liệu kiểm chứng Điều này đảm bảo tính đồng nhất và liên tục trong dữ liệu Điều này là vô cùng quan trọng, đặc biệt đối với những mẫu dữ liệu thường xuyên thay đổi theo thời gian.Hình sau mô tả qui trình xây dựng mô hình phân lớp các đối tượng

Trang 6

2.1 Tiền xử lý dữ liệu cho tập dữ liệu vowel.arff

Trong tập dữ liệu cĩ xuất hiện các thuộc tính tần số (F0 … F9) là kiểu số thực, tức là miền giá trị liên tục Một số thuật tốn phân lớp địi hỏi sử dụng các giá trị miền rời rạc (ID3, …) sẽ khơng thực thi được Tuy nhiên, việc sử dụng biến thể C4.5 (J48), multilayer-perceptron và Nạve Bayes cho phép chúng ta bỏ qua việc rời tạc hĩa dữ liệu cho các thuộc tính miền liên tục

Xem xét ở khía cạnh khác, việc xử lý dữ liệu cịn bao gồm lọc bỏ các giá trị khơng mấy liên quan đến thuộc tính phân lớp và phân chia tập dữ liệu huấn luyện/kiểm tra cho hợp lý và hiệu quả Những vấn đề này được xem xét cụ thể như sau

2.1.1 Vấn đề loại bỏ các thuộc tính khơng cĩ liên quan đến thuộc tính phân lớp

a Dựa vào nhận xét chủ quan đối với bộ dữ liệu đang xét

Dựa trên kiến thức vật lý (chủ quan của sinh viên) về âm thanh và giọng nĩi, mỗi nguyên

âm (vowel) được phát ra sẽ cĩ một tập các phổ tần số khác nhau, là kết quả của tần số cơ bản F0 và các tần số hịa âm F1…F9 Tuy nhiên – cũng theo nhận thức của sinh viên – thì âm của nguyên âm cĩ năng lượng tập trung ở các dải âm tần tương thấp (tức là tập trung chủ yếu vào các tần số F0, F1, F2, F3) Thực tế thì trong mẫu dữ liệu gốc của vowel.arff là pbvowel.arff cũng chỉ quan tâm đến các tần số F0, F1, F2, F3 Vậy, khi tách lớp, ta cĩ thể loại bỏ các thuộc tính âm tần bậc cao (F7, F8, F9)

Training set

Learn classifier

Test set

Model

Trang 7

Weka cung cấp cho người sử dụng một phương thức rất đơn giản để loại bỏ các thuộc tính không cần thiết bằng tay (chọn các thuộc tính muốn xóa rồi nhấn Remove)

b Dựa vào đánh giá khách quan theo các thuật toán đo độ tương quan

Các luồng ý kiến khác cho rằng việc nhận xét về một tập dữ liệu nào đó sử dụng tri thức đã

có để tiến hành chọn các thuộc tính liên quan là không thỏa đáng Những người ủng hộ luồng ý kiến này cho rằng số liệu thống kê và số đo độ tương quan giữa các thuộc tính là yếu tố quyết định xem một thuộc tính là quan trọng hay không quan trọng đối với thuộc tính khác (ở đây là thuộc tính phân lớp) Xem xét này có thể đúng với một số trường hợp, tuy nhiên với những dữ

liệu thực tế thì lại thường không hiệu quả, nhất là những mẫu dữ liệu “chưa đủ lớn – chưa

đầy đủ, chưa đủ chuẩn hóa và chưa đủ ổn định” Lấy ví dụ, việc sử dụng các thuật toán đo

độ tương quan giữa thuộc tính “số con cái” và thuộc tính “kế hoạch sinh con” trong điều tra về

http://archive.ics.uci.edu/ml/datasets/Contraceptive+Method+Choice) có thể sai nếu số liệu về

số con cái chưa được khảo sát đầy đủ (dữ liệu khuyết thiếu)

*) Những nhận định và phương pháp loại bỏ thuộc tính trên sẽ được thực nghiệm trên tập

dữ liệu vowel.arff, sử dụng weka Tuy nhiên, do những hạn chế ở mỗi phương pháp tiếp cận trên, việc phối hợp linh hoạt giữa tri thức người và đo lường của máy là điều kiện cần để có một bộ dữ liệu huấn luyện tốt

Trang 8

2.1.2 Vấn đề phân chia mẫu dữ liệu huấn luyện và dữ liệu kiểm tra từ tập dữ liệu

gốc

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)

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)

Trang 9

Tính tốn lỗi cho bộ phân lớp

Như đã đề cập ở trên, mỗi bộ phân lớp được đại diện bởi một thuật tốn huấn luyện Các thuật tốn được sinh viên sử dụng trong bài tập này là: Nạve Bayes, J48(hay C4.5) và mạng noron nhiều tầng (Multilayer Perceptron) Trong phạm vi bài tập lớn, sinh viên xin giới thiệu thuật tốn huấn luyện multilayer perceptron như là thuật tốn đại diện

Trang 10

2.2.1 Phân lớp bằng mô hình mạng Neural nhiều tầng (Multilayer Perceptron)

Phỏng theo liên kết giữa các neural thần kinh trong não bộ con người, thuật toán mạng neural là một trong những thuật toán được ứng dụng nhiều nhất trong các nghiên cứu học máy, đặc biệt là trong các bài toán nhận dạng Như đã đề cập ở trước, một bộ phân lớp có khả năng nhận dạng, rất thích hợp để cài đặt thuật toán mạng neural lên đó Thuật toán này dựa trên việc học và tinh chỉnh các thông số của các nút mạng (perceptron), dựa trên giải thuật lan truyền ngược như sau:

Initialize the weights in the network (often randomly)

Do

For each example e in the training set

O = neural-net-output(network, e) ; forward pass

T = teacher output for e

Calculate error (T - O) at the output units

Compute delta_wh for all weights from hidden layer to output layer ; backward pass Compute delta_wi for all weights from input layer to hidden layer ; backward pass continued

Update the weights in the network

Until all examples classified correctly or stopping criterion satisfied

Return the network

Mã giả phân loại dữ liệu với mạng neural

Trang 11

Thực hiện phân lớp dữ liệu với mạng Neural:

Trang 12

3 Thực nghiệm - Sử dụng bộ cơng cụ Weka 3.7.5 để thực hiện bài tốn phân lớp trên tập dữ liệu vowel.arff

Weka (Waikako Environment for Knowledge Analysis), được các nhĩm nghiên cứu Máy học, trường đại học Waikako, Phần Lan phát triển thành một trong những cơng cụ khai phá dữ liệu tốt nhất hiện nay (bên cạnh MSSQL Server 2008, SPSS, IBM DB2, Matlab …) Weka cung cấp nhiều thuật tốn và mơ hình khai phá dữ liệu lớn Theo đĩ, weka cũng cung cấp một

số lượng lớn các thuật tốn dùng để phân lớp cũng như huấn luyện phân lớp Một số bộ phân lớp mà Weka hỗ trợ được liệt kê sau đây:

Lớp thuật tốn Thuật tốn Câu lệnh sử dụng (trong Weka API)

Bayes

Naive Bayes Nạve Bayes Miltinominal Nạve Bayes Updateable

Functions

Logistic Multilayer Perceptron SGD

Simple Logistic SMO

Lazy

IBk Kstar LWL AdaBoostM1

Trang 13

Bagging FilteredClassifier LogitBoots

SerialzedClassifier

Jrip OneR ZeroR

LMT DecisionStump RandomTree

Bên cạnh đó, Weka còn hỗ trợ xây dựng mô hình khai phá tri thức một cách trực quan bằng cách sử dụng công cụ Knowledge Flow Để hiện thực hóa và so sánh một vài bộ phân lớp khác nhau, sinh viên sử dụng công cụ Knowledge Flow để thể hiện một cách trực quan Đồng thời, sinh viên xin đưa ra các giải thích cho từng bước cài đặt để thể hiện quy trình khai phá dữ liệu một cách cụ thể nhất

Trang 14

3.1 Xây dựng mô hình phân lớp

Bước 1: Load dữ liệu (định dạng arff), sử dụng ArffLoader (Category: Datasource)

Thiết lập đường dẫn đến file dữ liệu

Bước 2: Chỉ định thuộc tính phân lớp

Trang 15

Nhất thiết phải là thuộc tính rời rạc (dạng nominal) – vì các thuộc tính phân lớp bắt buộc phải biết trước các lớp muc tiêu.

Bước 3: Tiền xử lý dữ liệu – Chọn lựa thuộc tính có liên quan

Bước 3.1: Loại bỏ các thuộc tính dựa vào kinh nghiệm chủ quan

Bước 3.2: Loại bỏ một số thuộc tính liên quan ít đến thuộc tính phân lớp

Trang 16

Kịch bản 1: Loại bỏ các F6… F9

Thiết lập tham số: Attribute Indices = 1, 2, 10, 11, 12, 13 (Để loại bỏ 1.2 luôn, 10, 11, 12, 13

để dâ)

Kịch bản 2: Sử dụng bộ lọc, chọn

Trang 17

Lượng giá độ tương quan (correlation) WrapperSubsetEval sử dụng thuật tốn Nạve Bayes với chiến thuật tìm kiếm theo hạng (Ranker) Số lượng thuộc tính cần xếp hạng numToSelect được thiết lập bằng 5 – nghĩa là sẽ chọn 5 thuộc tính cĩ tương quan lớn nhất đối với thuộc tính phân lớp đang xét

Bước 4: Tiền xử lý dữ liệu – Chọn phương thức huấn luyện và kiểm tra bộ phân lớp

Như đã giới thiệu ở trên, ví dụ sử dụng phương thức cross-validation để huấn luyện và kiểm tra bộ phân lớp Sử dụng bộ cơng cụ CrossValidationFoldMaker với các thiết lập số fold

= 10 (giá trị này đã được chứng minh là tối ưu theo GJ, McLachlan; K.A Do, C Ambroise

(2004) Analyzing microarray gene expression data Wiley)

Bước 5: Chọn lựa thuật tốn phân lớp

Các thuật tốn được thử nghiệm:

- Nạve Bayes – (Category: Classifier.NaiveBayes )

- J48 (C4.5) – (Category: trees)

- Multilayer Perceptron – (Category: function - MultilayerPerceptron)

Ngày đăng: 16/12/2013, 15:06

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w