Tải bản đầy đủ (.docx) (17 trang)

Tiểu luận Khoa học dữ liệu UEH Tổng quan phần mềm orange

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (585.99 KB, 17 trang )

PHẦN MỀM ORANGE
Lập trình và thống kê tốn là hai trong nhiều kỹ năng cần có để triển khai xây dựng
các mơ hình phân tích phục vụ cho những nghiên cứu từ đơn giản phức tạp. Tuy
nhiên, những người không biết hay chưa hiểu quá sau vào lập trình vẫn có thể sử
dụng những phần mềm để phân tích và xử lý thông tin ở mức cơ bản mà không mất
quá nhiều thời gian. Điển hình là các phần mềm đã quá quen thuộc như Excel
(Windows), Libre office Calc (Linux), Numbers (Mac OS). Ta có thể làm các
thống kê trên bảng dữ liệu (sum, count, avg, stddev, quantile, etc.), transform dữ
liệu, tải dữ liệu từ nhiều nguồn, visualize bằng các biểu đồ trực quan, thậm chí ta
có thể làm data mining nếu ta cài thêm các plugin cho chúng.

Trong thời đại tự động hố, máy móc có thể thay thế con người, thậm chí là rút
ngắn thời gian thực hiện từ 2 – 3 ngày xuống còn vài giờ, vài phút, nhờ vậy mà con
người có thể tiết kiệm được thời gian, chi phí cũng như cơng sức gấp nhiều lần
trước đây. Orange là một trong những công cụ Data mining nhắm đến mục tiêu tự
động hoá này. Đây là phần mềm dễ sử dụng nhờ có giao diện nhỏ gọn, các toolbox
được sắp xếp ngăn nắp và hợp lý, dễ dàng tải xuống.
Orange làm được gì
Orange cung cấp cho người dùng tập các toolbox tinh gọn nhất giúp ta bắt tay ngay
vào phân tích dữ liệu gồm:
Data: dùng để rút trích, biến đổi, và nạp dữ liệu (ETL process).



Visualize: dùng để biểu diễn biểu đồ (chart) giúp quan sát dữ liệu được tốt hơn.

Model: gồm các hàm machine learning phân lớp dữ liệu, có cả Neural Network
gồm các hyper-parameter cơ bản để bạn xây dựng nhanh Deep learning.




Evaluate: các phương pháp đánh giá mơ hình máy học.


Unsupervised: gồm các hàm machine learing gom nhóm dữ liệu.


Others: các công cụ giúp ghi chú workflow ta đang làm việc.


Add ons: giúp bạn mở rộng các chức năng nâng cao như xử lý Big Data với Spark,
xử lý ảnh với Deep learing, xử lý văn bản, phân tích mạng xã hội, etc. Đây có lẽ là
điểm cộng của Orange vì khi sử dụng Weka phần mềm này không thể xử lý Big
Data và tốc độ huấn luyện khá chậm.



SVM (Support Vector Machines)
Ý nghĩa khoa học và thực tiễn
SVM là một phương pháp phân lớp hiện đại và hiệu quả, nắm chắc phương pháp
này sẽ tạo nền tảng giúp chúng ta trong việc phát triển các giải pháp phân loại và
dự đoán,… xây dựng được những ứng dụng quan trọng trong thực tế.
Ứng dụng phân lớp SVM cho bài toán phân lớp quan điểm là bài toán đã và đang
được nghiên cứu và phát triển rộng rãi và có ý nghĩa cả về học thuật lẫn ứng dụng
trong thực tế.
Giới thiệu
Bài tốn phân lóp (Classification) và dự dốn (Prediction) là hai bài tốn cơ
Bản và có rất nhiều ứng dụng trong tất cả các lĩnh vực như: học máy, nhận dạng,
trí tuệ nhân tạo,…
Phuong phap SVM (Support Vector Machines) được coi là cơng cụ mạnh cho
nhiều bài tốn phân lớp phi tuyén tinh được các tác già Vapnik và Chervonenkis

phát triển mạnh mẽ vào năm 1995. Phương pháp này thực hiện phân lớp dựa trên
nguyên lý Cực tiểu hoá rủi ro có cấu trúc SRM (Structural Risk Minimization),
được xem là một trong các phương pháp phân lớp giám sát không tham số tinh vi
nhất cho đến nay. Các hàm công cụ đa dạng của SVM cho phép tạo không gian
chuyển đổi để xây dựng mặt phẳng phân lớp.
Định nghĩa SVM
Là phương pháp dựa trên nền tảng của lý thuyết thơng kê nên có một nền tảng tốn
học chặt chẽ để đảm bảo rằng kết quả tìm được là chính xác.
Là thuật toán học giám sát (supervied learning) được sử dụng cho phân lớp dữ liệu.
Là 1 phuong pháp thử nghiệm, đưa ra một trong những phương pháp thử nghiệm,
đưa ra một trong những phương pháp mạnh và chính xác nhất trong số các thuật
toán nổi tiếng về phân lớp dữ liệu.


SVM là một phương pháp có tính tổng qt cao nên có thể áp dụng cho nhiều bài
tốn nhận dạng và phân loại.
Ý tưởng của phương pháp
Cho trước một tập huấn luyện, được biểu diễn trong không gian vector, trong đó
mỗi tài liệu là một điểm, phương pháp này tìm ra một siêu phẳng quyết định tốt
nhất có thể chia các điểm trên không gian này thành hai lớp riêng biệt tương ứng là
lóp + và lóp -. Chất lượng của siêu phẳng này được quyết định bởi khoảng cách
(gọi là biên) của điểm dữ liệu gần nhất của mỗi lớp đến mặt phẳng này. Khi đó,
khoảng cách biên càng lớn thì mặt phẳng quyết định càng tốt, đồng thời việc phân
loại càng chính xác.
Mục đích của phương pháp SVM là tìm được khoảng cách biên lớn nhất, điều này
được minh hoạ như sau:

Hình: Siêu phẳng phân chia dữ liệu học thành hai lớp + và – với khoảng cách biên
lớn nhất. Các điểm gần nhất (điểm được khoanh tròn) là các Support Vector.
Các bước chính của phương pháp SVM

Phương pháp SVM yêu cầu dữ liệu được diễn tả như các vector của các số thực.
Nếu dữ liệu đầu vào chưa phải ở dạng số thì ta cần tìm cách chuyển chúng về dạng
số của SVM.


Tiền xử lý dữ liệu: Thực hiện biến đổi dữ liệu phù hợp cho q trình tính tốn,
tránh các số q lớn mơ tả các thuộc tính. Thường nên co giãn (scaling) dữ liệu
chuyển về đoạn [-1, 1] hoặc[O, 1].
Chọn hàm hạt nhân: Lựa chọn hàm hạt nhân phù hợp tương ứng cho từng bài toán
cụ thể để đạt được độ chính xác cao trong q trình phân lớp.
Thực hiện việc kiểm tra chéo để xác định các tham số cho ứng dụng. Điều này
cũng quyết định đến tính chính xác của quá trình phân lớp.
Sử dụng các tham số cho việc huấn luyện với tập mẫu. Trong quá trình huấn luyện
sẽ sử dụng thuật toán tối ưu hoá khoảng cách giữa các siêu phẳng trong quá trình
phân lớp, xác định hàm phân lớp trong không gian đặc trưng nhờ việc ánh xạ dữ
liệu vào không gian đặc trưng bằng cách mô tả hạt nhân, giải quyết cho cả hai
trường hợp dữ liệu là phân tách và không phân tách tuyến tính trong khơng gian
đặc trưng.
Phân lớp dữ liệu
Ngày nay phân lớp dữ liệu (classification) là một trong những hướng nghiên cứu
chính của khai phá dữ liệu. Thực tế đặt ra nhu cầu là từ một cơ sở dữ liệu với nhiều
thông tin ẩn con người có thể trích rút ra các quyết định nghiệp vụ thông minh.
Phân lớp và dự đoán là hai dạng của phân tích dữ liệu nhằm trích rút ra một mô
hình mô tả các lớp dữ liệu quan trọng hay dự đoán xu hướng dữ liệu tương lai.
Phân lớp dự đoán giá trị của những nhãn xác định (categorical label) hay những giá
trị rời rạc (discrete value), có nghĩa là phân lớp thao tác với những đối tượng dữ
liệu mà có bộ giá trị là biết trước. Trong khi đó, dự đoán lại xây dựng mô hình với
các hàm nhận giá trị liên tục. Ví dụ mô hình phân lớp dự báo thời tiết có thể cho
biết thời tiết ngày mai là mưa, hay nắng dựa vào những thông số về độ ẩm, sức gió,
nhiệt độ,... của ngày hôm nay và các ngày trước đó. Hay nhờ các luật về xu hướng

mua hàng của khách hàng trong siêu thị, các nhân viên kinh doanh có thể ra những


quyết sách đúng đắn về lượng mặt hàng cũng như chủng loại bày bán... Một mô
hình dự đoán có thể dự đoán được lượng tiền tiêu dùng của các khách hàng tiềm
năng dựa trên những thông tin về thu nhập và nghề nghiệp của khách hàng. Trong
những năm qua, phân lớp dữ liệu đã thu hút sự quan tâm các nhà nghiên cứu trong
nhiều lĩnh vực khác nhau như học máy (machine learning), hệ chuyên gia (expert
system), thống kê (statistics)... Công nghệ này cũng ứng dụng trong nhiều lĩnh vực
khác nhau như: thương mại, nhà băng, maketing, nghiên cứu thị trường, bảo hiểm,
y tế, giáo dục... Phần lớn các thuật toán ra đời trước đều sử dụng cơ chế dữ liệu cư
trú trong bộ nhớ (memory resident), thường thao tác với lượng dữ liệu nhỏ. Một số
thuật toán ra đời sau này đã sử dụng kỹ thuật cư trú trên đĩa cải thiện đáng kể khả
năng mở rộng của thuật toán với những tập dữ liệu lớn lên tới hàng tỉ bản ghi.
Cây quyết định ứng dụng trong phân lớp dữ liệu
Định nghĩa
Trong nhiều năm qua, nhiều mô hình phân lớp dữ liệu trong các lĩnh vực khác
nhau như mạng notron, mô hình thông kê tuyến tính bậc 2, cây quyết định, mô
hình di truyền đã được các nhà khoa học đề xuất và sử dụng trong các nghiên cứu.
Trong số những mô hình đó, cây quyết định được đánh giá là một công cụ tiềm
năng, được sử dụng rộng rãi và đặc biệt phù hợp cho khai phá dữ liệu nói chung và
phương pháp phân lớp dữ liệu nói riêng. Cây quyết định có những ưu điểm như:
khơng mất nhiều thời gian để xây dựng; gọn gàng, dễ hiểu và sử dụng. Hơn nữa
mơ hình này có thể dễ dàng được chuyển đổi sang các câu lệnh SQL nhằm được sử
dụng để truy nhập cơ sở data sao cho tối ưu nhất. Cuối cùng, việc phân lớp dựa
trên cây quyết định đạt được sự tương tự và đôi khi là chính xác hơn so với các
phương pháp phân lớp khác
Thuật toán K-Means với bài toán phân cụm dữ liệu



1.Giới thiệu về kỹ thuật phân cụm (Clustering Techniques)
Phân cụm là kỹ thuật rất quan trọng trong Data Mining, thuộc lớp các phương
pháp Unsupervised Learning trong Machine Learning. Ta có thể hiểu phân cụm
là các quy trình tìm cách nhóm các đối tượng đã cho vào các cụm (clusters), sao
cho các đối tượng trong cùng 1 cụm tương tự (similar) nhau và các đối tượng khác
cụm thì khơng tương tự (Dissimilar) nhau.
Phân cụm dữ liệu là gì ?
Khái niệm: Là quá trình phân chia một tập data ban đầu thành các cụm nhằm cho
những dữ liệu trong một cụm sẽ “tương tự” (similar) với nhau và các dữ liệu trong
những cụm khác nhau sẽ “khơng tương tự” (dissimilar) với nhau.
Mục đích của phân cụm là tìm ra bản chất bên trong các nhóm của dữ liệu. Các
thuật toán phân cụm (Clustering Algorithms) đều sinh ra các cụm (clusters). Tuy
nhiên, khơng có tiêu chí nào là được xem là tốt nhất để đánh hiệu của của phân tích
phân cụm, điều này phụ thuộc vào mục đích của phân cụm như: data reduction,
“natural clusters”, “useful” clusters, outlier detection 
Kỹ thuật phân cụm có thể áp dụng trong rất nhiều lĩnh vực như:


Marketing: Xác định các nhóm khách hàng (khách hàng tiềm năng, khách
hàng giá trị, phân loại và dự đoán hành vi khách hàng,…) sử dụng sản phẩm
hay dịch vụ của cơng ty để giúp cơng ty có chiến lược kinh doanh hiệu quả
hơn;



Biology: Phận nhóm động vật và thực vật dựa vào các thuộc tính của chúng;



Libraries:  Theo dõi độc giả, sách, dự đoán nhu cầu của độc giả…;




Insurance, Finance: Phân nhóm các đối tượng sử dụng bảo hiểm và các dịch
vụ tài chính, dự đốn xu hướng (trend) của khách hàng, phát hiện gian lận
tài chính (identifying frauds);




WWW:  Phân loại tài liệu (document classification);  phân loại người dùng
web (clustering weblog);…

Những vấn đề còn tồn tại trong phân cụm dữ liệu
- Hiện nay kỹ thuật clustering không thể hiện được hết các đòi hỏi, yêu cầu
một cách đầy đủ
- Giao dịch với số lượng lớn các mẫu và các mẫu tin của data có thể gặp các
vấn đề về thời gian;
- Hiệu quả của phân cụm dữ liệu phụ thuộc vào định nghĩa của “khoảng cách”
(đối với phân cụm dữ liệu dựa trên khoảng cách). Nếu không tồn tại một
thước đo khoảng cách cụ thể thì người thực hiện phải “tự xác định”, cho dù
đây là một điều phức tạp trong không gian đa chiều
- Kết quả của phân cụm dữ liệu có thể được giải thích theo nhiều lối khác
nhau (trong nhiều trường hợp chỉ có thể được giải thích theo ý riêng của mỗi
người.)

Các kỹ thuật phân cụm được phân loại như sau (xem hình)


Thuật Tốn K-Means

K-Means là thuật tốn vơ cùng quan trọng và được sử dụng rộng rãi trong phương
pháp phân cụm dữ liệu. Mục tiêu chính của K-Means là tìm cách phân nhóm đối
tượng (objects) đã được cho vào trong K cụm (K là số các cụm được xác định
trước, số nguyên dương) sao cho tổng bình phương khoảng cách giữa các đối
tượng đến tâm nhóm (centroid) là bé nhất.
Mơ tả thuật toán K-Means như sau

 
 Thuật toán K-Means thực hiện qua các bước chính sau:
1.    Chọn ngẫu nhiên K tâm (centroid) cho K cụm (cluster). Mỗi cụm được đại
diện bằng các tâm của cụm.
2.    Tính khoảng cách giữa các đối tượng đến K tâm (thường dùng khoảng cách
Euclidean)
3.    Nhóm các đối tượng vào nhóm gần nhất


4.    Xác định lại tâm mới cho các nhóm
5.    Thực hiện lại bước 2 cho đến khi khơng có sự thay đổi nhóm nào của các đối
tượng

TÀI LIỆU THAM KHẢO
/>123456789/18298/41_PhamVanSon_CT1201.pdf
/>


×