Kết luận chƣơng 1

Một phần của tài liệu (LUẬN văn THẠC sĩ) ứng dụng mô hình học máy naivebayes trong môi trường spark cho bài toán dự báo khả năng hỏng của đĩa cứng máy tính (Trang 33)

Trong chƣơng này đã nêu tổng quan các khái niệm về học máy, Apache Spark và mơ hình lập trình MapReduce. Các khái niệm đã chỉ ra những vấn đề cốt lõi trong quá trình nghiên cứu về mơ hình lập trình MapReduce trên mơi trƣờng Spark. Với các nghiên cứu mới nhất của các thuật tốn Nạve Bayes cùng với các ngơn ngữ lập trình mới, cơng cụ mới cĩ khả năng đơn giản hĩa quá trình viết mã, tận dụng các thƣ viện cĩ sẵn từ cộng đồng và các nền tảng mới tăng khả năng xử lý, hoạt động linh hoạt trên hệ thống phân tán của Apache Spark sẽ giúp quá trình tiếp cận và khai phá dữ liệu đƣợc đơn giản và tối ƣu hơn. Ngồi ra, Spark cung cấp một thƣ viện học máy chung - MLlib - đƣợc thiết kế để đơn giản hĩa, khả năng mở rộng và tích hợp dễ dàng với các cơng cụ khác. Với khả năng mở rộng, khả năng tƣơng thích ngơn ngữ và tốc độ của Spark, các nhà khoa học dữ liệu cĩ thể giải quyết và lặp lại các vấn đề dữ liệu của họ nhanh hơn. Cĩ thể thấy với sự đa dạng ngày càng tăng của việc sử dụng và số lƣợng lớn các đĩng gĩp của các nhà phát triển, việc chấp nhận thƣ viện học máy MLlib đang tăng lên nhanh chĩng. Chƣơng 1 là tiền đề để việc nghiên cứu sử dụng các thuật tốn Nạve Bayes và áp dụng mơ hình lập trình MapReduce để học máy với dữ liệu lớn trên mơi trƣờng Spark ứng dụng vào việc dự báo khả năng hỏng của đĩa cứng máy tính trong chƣơng 2.

25

CHƢƠNG 2: THUẬT TỐN NẠVE BAYES VÀ BÀI TỐN

DỰ BÁO KHẢ NĂNG HỎNG CỦA ĐĨA CỨNG MÁY TÍNH 2.1 Thuật tốn Nạve Bayes

Trong khai phá dữ liệu lớn và học máy, cĩ nhiều thuật tốn phân loại. Một trong những cách đơn giản và hiệu quả nhất là trình phân loại Nạve Bayes (NBC). Nạve Bayes là một thuật tốn phân loại tuyến tính dựa trên tính tốn xác suất cơ bản và cĩ điều kiện.

2.1.1. Khái niệm

Một phân loại Nạve Bayes dựa trên ý tƣởng là một lớp đƣợc dự đốn bằng các giá trị đặc trƣng cho các thành viên của lớp đĩ. Các đối tƣợng là một nhĩm (group) trong các lớp nếu chúng cĩ cùng điểm đặc trƣng. Cĩ thể cĩ nhiều lớp rời rạc hoặc lớp nhị phân.

Các luật Bayes dựa trên xác suất để dự đốn các đối tƣợng về các lớp cĩ sẵn dựa trên các đặc trƣng đƣợc trích xuất. Trong phân loại Bayes, việc học đƣợc coi nhƣ xây dựng một mơ hình xác suất của các đặc trƣng và sử dụng mơ hình này để dự đốn phân loại cho một ví dụ mới [3].

Biến chƣa biết hay cịn gọi là biến ẩn là một biến xác suất chƣa đƣợc quan sát trƣớc đĩ. Phân loại Bayes sử dụng mơ hình xác suất trong đĩ phân loại là một biến ẩn cĩ liên quan tới các biến đã đƣợc quan sát. Quá trình phân loại lúc này trở thành suy diễn trên mơ hình xác suất.

Trƣờng hợp đơn giản nhất của phân loại Nạve Bayes là tạo ra các giả thiết độc lập về các đặc trƣng đầu vào và độc lập cĩ điều kiện với mỗi một lớp đã cho. Sự độc lập của phân loại Nạve Bayes chính là thể hiện của mơ hình mạng tin cậy (belief network) trong trƣờng hợp đặc biệt, và phân loại là chỉ dựa trên một nút (node) cha duy nhất của mỗi một đặc trƣng đầu vào. Mạng tin cậy này đề cập tới xác suất phân tán P(Y) đối với mỗi một đặc trƣng đích

26

Y và P(Xi|Y) đối với mỗi một đặc trƣng đầu vào Xi. Với mỗi một đối tƣợng, dự đốn bằng cách tính tốn dựa trên các xác suất điều kiện của các đặc trƣng quan sát đƣợc cho mỗi đặc trƣng đầu vào.

Nạve Bayes là một thuật tốn thuộc nhĩm học cĩ giám sát (Supervised Learning) và cĩ 2 giai đoạn riêng biệt:

Giai đoạn 1: Huấn luyện.

Giai đoạn này sử dụng dữ liệu huấn luyện từ một tập hợp các mẫu dữ liệu hữu hạn để xây dựng bộ phân loại (sẽ đƣợc sử dụng trong giai đoạn 2). Đây gọi là phƣơng pháp học cĩ giám sát, dự đốn phân loại đầu ra của một dữ liệu mới dựa trên thơng tin đầu vào của dữ liệu cũ.

Hình 2.1 Giai đoạn Training [3]

Giai đoạn 2: Phân loại

Trong giai đoạn này, chúng ta sẽ sử dụng dữ liệu huấn luyện và định lý Bayes để phân loại dữ liệu mới trong các phân loại đã đƣợc xác định trong giai đoạn 1.

27

2.1.2. Mơ hình phân lớp Nạve Bayes

Một mơ hình phân lớp là một mơ hình học máy dùng để phân loại các vật mẫu dựa trên các đặc tính đã xác định.

Nạve Bayes là một thuật tốn phân lớp đƣợc mơ hình hĩa dựa trên định lý Bayes trong xác suất thống kê:

P(c|X)=P(X|c)P(c)P(X) (1) Trong đĩ:

- P(c|X) gọi là xác suất sau: xác suất của mục tiêu c với điều kiện cĩ đặc trƣng X.

- P(X|c) gọi là khả năng xảy ra: xác suất của đặc trƣng X khi đã biết mục tiêu c.

- P(c) gọi là xác suất sau của mục tiêu c. - P(X) gọi là xác suất sau của đặc trƣng X.

Ở đây, X là vector các đặc trƣng, cĩ thể viết dƣới dạng: X=(x1,x2,x3,…,xn)

Khi đĩ, đẳng thức Bayes trở thành:

P(c|x1,…,xn)=P(x1|c)P(x2|c)…P(xn|c)P(c) P(x1)P(x2)…P(xn) (2) Trong mơ hình Nạve Bayes, cĩ hai giả thiết đƣợc đặt ra:

- Các đặc trƣng đƣa vào mơ hình là độc lập với nhau. Tức là sự thay đổi giá trị của một đặc trƣng khơng ảnh hƣởng đến các đặc trƣng cịn lại.

- Các đặc trƣng đƣa vào mơ hình cĩ ảnh hƣởng ngang nhau đối với đầu ra mục tiêu.

Khi đĩ, kết quả mục tiêu y để P(c|X) đạt cực đại trở thành: c=argmaxyP(c)∏ni=1P(xi|c) (3)

Chính vì hai giả thiết gần nhƣ khơng tồn tại ở thực tế trên, mơ hình này mới đƣợc gọi là Naive (ngây thơ). Tuy nhiên, chính sự đơn giản của nĩ với việc dự đốn rất nhanh kết quả đầu ra khiến nĩ đƣợc sử dụng rất nhiều trong thực tế trên những bộ dữ liệu lớn, đem lại kết quả khả quan.

28

2.1.3. Một số kiểu mơ hình Nạve Bayes Gaussian Nạve Bayes Gaussian Nạve Bayes

Mơ hình này đƣợc sử dụng chủ yếu trong loại dữ liệu mà các thành phần là các biến liên tục.

Với mỗi chiều dữ liệu i và một class y, xi tuân theo một phân phối chuẩn cĩ kỳ vọng c i và phƣơng sai ci2: P(xi|c)=P(xi| c i, ci2 )= 1 √2 ci2 exp(-(xi- ci)2 2 ci2 ) (4) Trong đĩ, bộ tham số ={ c

i, c2i } đƣợc xác định bằng khả năng tối đa:

( c i, c2i )= arg max ci, ci2 ∏ p(xi(n)| c i, c2i) N n=1 (5)

Đây là cách tính của thƣ viện sklearn. Ta cĩ thể đánh giá các tham số bằng MAP nếu biết trƣớc priors của kỳ vọng c

i và phƣơng sai ci2.

Multinomial Nạve Bayes

Mơ hình này chủ yếu đƣợc sử dụng trong phân loại văn bản mà vectors đặc trƣng đƣợc tính bằng tập hợp các từ. Lúc này mỗi văn bản đƣợc biểu diễn bởi một vector cĩ độ dài d chính là số từ trong từ điển. Giá trị của thành phần thứ i trong mỗi vector chính là số lần từ thứ i xuất hiện trong văn bản đĩ.

Khi đĩ, P(xi|c) tỉ lệ với tần suất từ thứ i (hay đặc tính thứ i cho trƣờng hợp tổng quát) xuất hiện trong các văn bản của class c. Giá trị này cĩ thể đƣợc tính bằng cách:

ci=p(xi|c)=Nci

Nc (6)

Trong đĩ:

- Nci là tổng số lần từ thứ i xuất hiện trong các văn bản của class c, nĩ đƣợc tính là tổng của tất cả các thành phần thứ i của các vectors đặc trƣng ứng với class c.

29

- Nc là tổng số từ (kể cả lặp) xuất hiện trong class c. Nĩi cách khác, nĩ bằng tổng độ dài của tồn bộ các văn bản thuộc vào class c. Cĩ thể suy ra rằng Nc=∑di=1Nci, từ đĩ ∑d ci

i=1 =1.

Cách tính này cĩ một hạn chế là nếu cĩ một từ mới chƣa bao giờ xuất hiện trong class c thì biểu thức (6) sẽ bằng 0, điều này dẫn đến vế phải của (3) bằng 0 bất kể các giá trị cịn lại cĩ thể lớn thế nào. Việc này dẫn đến kết quả khơng chính xác.

Để giải quyết việc này, một kỹ thuật đƣợc gọi là làm mịn Laplace (Laplace smoothing) đƣợc áp dụng:

̂ci= Nci+

Nc+d (7)

Với là một số dƣơng, thƣờng bằng 1, để tránh trƣờng hợp tử số bằng 0. Mẫu số đƣợc cộng với d để đảm bảo tổng xác suất ∑d ci

i=1 =1.

Nhƣ vậy, mỗi class y sẽ đƣợc mơ tả bởi tồn bộ các số dƣơng cĩ tổng bằng 1.

Bernoulli Nạve Bayes

Mơ hình này đƣợc áp dụng cho các loại dữ liệu mà mỗi thành phần là một giá trị nhị phân bằng 0 hoặc 1. Ví dụ: cũng với loại văn bản nhƣng thay vì đếm tổng số lần xuất hiện của 1 từ trong văn bản, ta chỉ cần quan tâm từ đĩ cĩ xuất hiện hay khơng.

Khi đĩ, p(xi|c) đƣợc tính bằng:

p(xi|c)=p(i|c)xi(1-p(i|c)1-xi)

Với p(i|c) cĩ thể đƣợc hiểu là xác suất từ thứ i xuất hiện trong các văn bản của class c.

2.1.4. Ứng dụng của thuật tốn

30

- Realtime Prediction: Nạve Bayes Classifier chạy khá nhanh nên nĩ thích hợp áp dụng nhiều vào các ứng dụng chạy thời gian thực, nhƣ hệ thống cảnh báo, các hệ thống trading…

- Multi class Prediction: nhờ vào định lý Bayes mở rộng ta cĩ thể ứng dụng vào các loại ứng dụng đa dự đốn, tức là ứng dụng cĩ thể dự đốn nhiều giả thuyết mục tiêu.

- Text classification/ Spam Filtering/ Sentiment Analysis: Nạve Bayes Classifier cũng rất thích hợp cho các hệ thống phân loại văn bản hay ngơn ngữ tự nhiên vì tính chính xác của nĩ lớn hơn các thuật tốn khác. Ngồi ra các hệ thống chống thƣ rác cũng rất ƣa chuộng thuật tốn này. Và các hệ thống phân tích tâm lý thị trƣờng cũng áp dụng Nạve Bayes Classifier để tiến hành phân tích tâm lý ngƣời dùng ƣa chuộng hay khơng các loại sản phẩm nào từ việc phân tích các thĩi quen và hành động của khách hàng.

- Recommendation System: Nạve Bayes Classifier đƣợc sử dụng rất nhiều để xây dựng cả hệ thống gợi ý, ví dụ nhƣ xuất hiện các quảng cáo mà ngƣời dùng đang quan tâm nhiều nhất từ việc học hỏi thĩi quen tìm kiếm thơng tin trên Google của ngƣời dùng [3].

2.2 Bài tốn dự báo đĩa cứng hỏng

2.2.1 Tổng quan

Ổ đĩa cứng hiện đại là thiết bị đáng tin cậy, tuy nhiên sự hƣ hỏng cĩ thể gây tốn rất nhiều cho ngƣời dùng và tốt nhất nên cĩ một cảnh báo cung cấp cho ngƣời dùng về những vấn đề về sự hƣ hỏng đĩ để họ đủ thời gian sao lƣu dữ liệu của họ. Vấn đề cĩ thể đƣợc mơ tả nhƣ là một trong những phát hiện các sự kiện hiếm gặp từ một chuỗi thời gian của các thuộc tính tiếng ồn và phân phối khơng định lƣợng.

31

Các nhà sản xuất ổ cứng đã phát triển cơng nghệ tự giám sát trong các sản phẩm của họ từ năm 1994, trong nỗ lực dự đốn sớm các khả năng lỗi của ổ đĩa để cho phép ngƣời dùng sao lƣu dữ liệu của họ [10].

2.2.2 Giới thiệu về S.M.A.R.T

Hệ thống giám sát thơng tin nội bộ của ổ đĩa S.M.A.R.T (Self Monitoring, Analysis and Reporting Technology) này sử dụng các thuộc tính đƣợc thu thập trong quá trình hoạt động bình thƣờng (và trong các thử nghiệm ngoại tuyến) để đặt cờ dự đốn lỗi. Cờ S.M.A.R.T là tín hiệu một bit cĩ thể đƣợc đọc bởi hệ điều hành và phần mềm của bên thứ ba để cảnh báo ngƣời dùng về lỗi ổ đĩa sắp xảy ra. Một số thuộc tính đƣợc sử dụng để đƣa ra dự đốn thất bại bao gồm tỷ lệ lỗi đọc thơ, thời gian tăng lên, báo cáo lỗi khơng thể sửa đƣợc, thời gian bật, số chu kỳ tải. Hầu hết các thuộc tính đƣợc giám sát nội bộ là dữ liệu đếm lỗi, ngụ ý các giá trị dữ liệu nguyên dƣơng và mơ hình tăng giá trị thuộc tính (hoặc tốc độ thay đổi của chúng) theo thời gian là dấu hiệu của việc lỗi sắp xảy ra.

Tình trạng hoạt động của đĩa cứng đƣợc giám sát liên tục bằng cách sử dụng nhiều cảm biến. Các giá trị đƣợc đo bằng cách sử dụng các thuật tốn điển hình và sau đĩ, các thuộc tính tƣơng ứng đƣợc tinh chỉnh theo kết quả.

Trong bất kỳ chƣơng trình giám sát nào cũng sẽ sử dụng tất cả các thuộc tính S.M.A.R.T cĩ các trƣờng sau:

Định danh: Định nghĩa của thuộc tính. Nĩ thƣờng cĩ ý nghĩa tiêu

chuẩn và nĩ đƣợc đánh dấu bằng một số từ 1 đến 250 (ví dụ 9 là Số đếm điện). Tuy nhiên, tất cả các cơng cụ kiểm tra đĩa cứng đều cung cấp tên và mơ tả dạng văn bản của thuộc tính.

Ngƣỡng: giá trị tối thiểu cho thuộc tính. Nếu giá trị này đạt đƣợc thì

32

Giá trị: giá trị hiện tại của thuộc tính. Thuật tốn tính tốn số này dựa

trên dữ liệu thơ. Một đĩa cứng mới sẽ cĩ số lƣợng cao, tối đa lý thuyết (100, 200 hoặc 253 tùy thuộc vào nhà sản xuất), sẽ giảm dần trong suốt thời gian tồn tại của ổ đĩa cứng.

Tệ nhất: giá trị nhỏ nhất của thuộc tính đƣợc ghi lại.

Dữ liệu: giá trị đƣợc đo thơ đƣợc cung cấp bởi bộ cảm biến hoặc bộ

đếm. Đây là dữ liệu đƣợc sử dụng bởi thuật tốn đƣợc thiết kế bởi nhà sản xuất HDD. Nội dung của nĩ phụ thuộc vào thuộc tính và nhà sản xuất đĩa cứng.

Cờ: Mục đích của thuộc tính. Điều này thƣờng đƣợc thiết lập bởi nhà

sản xuất và do đĩ sẽ thay đổi từ đĩa vào đĩa. Mỗi thuộc tính đều quan trọng và cĩ thể dự đốn đƣợc sự cố sắp xảy ra (ví dụ ID 5 đƣợc phân bổ lại theo lĩnh vực) hoặc thống kê khơng ảnh hƣởng trực tiếp đến trạng thái (ví dụ số lần mất điện bất ngờ ID 174).

Mỗi nhà sản xuất phát triển và sử dụng tập hợp các thuộc tính và thuật tốn để dự đốn lỗi một cách riêng biệt. Mỗi khi cảnh báo lỗi đƣợc kích hoạt, ổ đĩa cĩ thể đƣợc đƣa trở lại nhà máy để thay thế bảo hành, vì vậy các nhà sản xuất rất quan tâm đến việc giảm tỷ lệ cảnh báo sai trong thuật tốn của họ. Hiện tại, tất cả các nhà sản xuất đều sử dụng thuật tốn ngƣỡng kích hoạt cờ S.M.A.R.T khi bất kỳ thuộc tính đơn lẻ nào vƣợt quá giá trị đƣợc xác định trƣớc. Các ngƣỡng này đƣợc đặt một cách thận trọng để tránh báo động sai với chi phí chính xác dự đốn, với tỷ lệ cảnh báo sai cĩ thể chấp nhận đƣợc ở mức 0,1% mỗi năm (nghĩa là 1 ổ trong 1000 ổ). Cho thuật tốn S.M.A.R.T hiện đƣợc triển khai trong các ổ đĩa, các nhà sản xuất ƣớc tính tỷ lệ phát hiện lỗi là 3-10%. Nghiên cứu trƣớc đây đã chỉ ra rằng bằng cách sử dụng các thử nghiệm thống kê khơng theo tỷ lệ, độ chính xác của các lỗi đƣợc phát hiện

33

chính xác cĩ thể đƣợc cải thiện lên tới 40-60% trong khi duy trì tỷ lệ báo động sai thấp cĩ thể chấp nhận đƣợc [10][9].

2.2.3 Giám sát ổ đĩa cứng

Các chỉ số thất bại: theo dõi các tham số nội bộ của ổ cứng để cải thiện độ tin cậy đƣợc IBM triển khai lần đầu tiên vào năm 1992. IBM đã đặt tên cho hệ thống này là Phân tích dự đốn lỗi. Năm 1995, Seagate tạo ra một phiên bản mới nhằm tƣơng thích với các nhà sản xuất phần cứng khác. Do đĩ, IBM, Quantum, Western Digital và Seagate đã hợp tác để phát triển một hệ thống giám sát ổ cứng mới dựa trên Phân tích Lỗi của IntelliSafe và Dự đốn. Kết quả của sự hợp tác này là Cơng nghệ tự giám sát, phân tích và báo cáo (S.M.A.R.T.). Cơng nghệ này hiện nay đƣợc sử dụng nhƣ một hệ thống giám sát trong hầu hết các ổ cứng và các máy chủ. Một số thơng số và hoạt động bên trong, ví dụ: Tổng số vịng quay, thời gian quay và số lần thử lại hiệu chỉnh ổ đĩa, đƣợc lƣu trữ trong thời gian chạy. Ngày nay, hầu hết các nhà sản xuất ổ đĩa đều bao gồm S.M.A.R.T. là một hệ thống giám sát ổ đĩa [13].

Tuy nhiên, mỗi nhà sản xuất ổ đĩa cĩ thể xác định bộ thuộc tính riêng

Một phần của tài liệu (LUẬN văn THẠC sĩ) ứng dụng mô hình học máy naivebayes trong môi trường spark cho bài toán dự báo khả năng hỏng của đĩa cứng máy tính (Trang 33)