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

BTL nhan dang sử dụng thuật toán KNN hỗ trợ người dùng mua laptop trên website

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 (387.13 KB, 18 trang )

Mục lục

1


Lời Mở Đầu
Máy tính xách tay - laptop là phương tiện để làm việc hiệu quả. Vậy yếu tố nào
quan trọng nhất để lựa chọn máy tính xách? Bài viết dưới đây đưa ra 9 yếu tố người
dùng nên tham khảo trước khi quyết định chọn mua một chiếc laptop.
Giờ đây, mặc dù smartphone và tablet khá nhỏ gọn và có thể thay thế laptop khi
bạn phải di chuyển, tuy nhiên muốn công việc có hiệu quả cao, các thao tác được
nhanh và chính xác bạn vẫn không thể thiếu máy tính xách tay. Các công việc như
đánh máy nhanh, chỉnh sửa video, hay thiết kế đồ họa, chỉnh sửa ảnh… luôn cần đến
một công cụ thực sự chuyên nghiệp.
Thị trường hiện tại có nhiều loại laptop với các kích cỡ, tính năng và giá cả. Với
người dùng, đây quả là một sự lựa chọn khó khăn, lời khuyên hữu ích dành cho bạn là
nên tập trung vào nhu cầu làm việc để lựa chọn.

2


I.

Giới thiệu về Máy tính xách tay
Máy tính xách tay hay máy vi tính xách tay (tiếng Anh: laptop
computer hay notebook computer) là một máy tính cá nhân gọn nhỏ có thể mang xách
được. Nó thường có trọng lượng nhẹ, tùy thuộc vào hãng sản xuất và kiểu máy dành
cho các mục đích sử dụng khác nhau.
Máy tính xách tay có đầy đủ các thành phần cơ bản của một máy tính cá nhân
thông thường.
Chiếc máy tính xách tay đầu tiên trên thế giới là một chiếc Osborne 1 ra đời


năm 1981.
Tuy có đầy đủ các chức năng như các máy tính cá nhân thông thường, nhưng máy
tính xách tay với một không gian nhỏ gọn nên các đặc điểm sau có sự khác biệt so với
các máy tính cá nhân. Chi tiết hơn về từng thiết bị ở các hệ thống máy tính cá nhân
thông thường xem các bài riêng về chúng


Đặc điểm thiết kế:
 Hệ điều hành : Hệ điều hành (OS) là thành phần bắt buộc phải có trong các
máy tính xách tay. Nó bổ nhiệm quản lý các chương trình hoặc ứng dụng trong
máy tính.Hệ điều hành có nhiều loại:Microsoft Windows, Mac OS, Linux,...
 Bộ xử lý: Bộ xử lý được thiết kế riêng với sự chú trọng vào hiệu năng và tiết
kiệm năng lượng, chúng có thể thay đổi tốc độ làm việc tuỳ theo yêu cầu của
hệ thống. Để hạ giá thành sản phẩm, một số máy tính xách tay cũng sử dụng
các bộ xử lý của máy tính cá nhân để bàn (thường rất ít).
 Ram: RAM: Máy tính xách tay sử dụng loại RAM (So-DIMM) dành riêng,
chúng ngắn hơn (và thường rộng hơn) các thanh RAM (Long-DIMM) thông
thường cho máy tính cá nhân để bàn. Một máy tính xách tay thường được thiết
kế hai khe cắm RAM (mà thường thì khi sản xuất chúng chỉ được gắn RAM
trên một khe để người dùng có thể nâng cấp).
 Ổ đĩa cứng: Ổ đĩa cứng của máy tính xách tay là loại ổ (2,5") có kích thước
nhỏ hơn các ổ cứng của máy tính thông thường (3,5"), chúng có thể sử dụng
giao tiếp ATA truyền thống hoặc SATA trong các máy sản xuất gần đây.
 Chức năng đồ họa : Chức năng Đồ hoạ: Thường được tích hợp trên
các chipset hoặc tích hợp trên bo mạch chủ. Đa phần các máy tính xách tay phổ
3


thông và tầm trung sử dụng chức năng đồ hoạ tích hợp trên chipset và sử dụng
bộ nhớ đồ hoạ chia sẻ từ RAM hệ thống. Các máy tính xách tay cao cấp bộ xử

lý đồ hoạ có thể được tách rời và gắn trực tiếp trên bo mạch chủ, chúng có thể
có RAM riêng hoặc sử dụng một phần RAM của hệ thống.
 Màn hình : Màn hình của những máy tính xách tay ngày nay luôn thuộc
loại màn hình tinh thể lỏng, chúng được gắn trực tiếp với thân máy và không
thể tách rời. Một số máy tính xách tay thiết kế màn hình quay được và gập lại
che đi bàn phím - kết hợp với thể loại này thường là màn hình cảm ứng.Hiện
giờ người ta đã chế tạo được một loại máy tính xách tay có thể tháo rời màn
hình,nhưng hiện loại này chưa phổ biến lắm và giá khá đắt.
 Pin : Nguồn sử dụng lưới điện dân dụng của máy tính xách tay được thiết kế
bên ngoài khối máy để tiết kiệm không gian. Nguồn là một trong những bộ
phận quan trọng nhất của máy tính để bàn và MTXT. Điện năng cấp cho máy
tính xách tay chỉ có một cấp điện áp một chiều duy nhất có mức điện áp thường
thấp hơn 24 Vdc. Năng lượng cung cấp cho máy tính xách tay khi không sử
dụng nguồn điện dân dụng là pin.
 Bàn Phím : Bàn phím máy tính xách tay thường không tuân theo tiêu chuẩn của
các bàn phím máy tính cá nhân thông thường. Ngoài các phím chức năng
thường thấy (như F1, F2...đến F12) trên các bàn phím thông dụng của máy tính
cá nhân, máy tính xách tay còn có một loạt các phím chức năng dành riêng
khác, các phím này thường là chức năng thứ hai và chỉ được kích hoạt sau khi
đã bấm phím chuyển đổi thường có ký hiệu Fn.
 Kết nối mạng : Đa phần các máy tính xách tay hiện nay đều được tích hợp sẵn
bộ điều hợp mạng không dây theo các chuẩn thông dụng cùng với các bộ điều
hợp mạng Ethernet thông thường. Hình thức kết nối Internet quay số hiện nay
là Wi-Fi hoặc Bluetooth.
 Đa phương tiện:

Loa luôn được tích hợp sẵn trên máy tính xách tay nhưng chúng có chất
lượng và công suất thấp.
Webcam, Micro cũng thường được tích hợp ở một số máy tính xách tay sản xuất
những năm gần đây. Chúng có công dụng giúp người sử dụng có thể gọi điện hoặc nói

chuyện thông qua mạng Internet.


Touchpad: Là bàn di chuột dùng để điều khiển con chuột trên máy tính với 2
phím trái phải như con chuột trên máy tính để bàn và nằm dưới bàn phím.
Định nghĩa bài toán


II.

4


Với 1 bộ dữ liệu đồ sộ về Laptop đã có về các lap top trên thị trường ta không cần
phải phân tích kĩ về bên trong để có thể mua được một máy tính ưng ý. Bằng các dữ
liệu đã có sẵn và các thuộc tính của từng cá thể ta cỏ thề đưa ra nhận biết nhanh chóng
cá thể đó thuộc Hãng máy tính nào bằng các tính toán số học trên mảy Tính (Machine
Learning).
III.

Thu thập và xử lý số liệu
Ta thu thập dữ liệu laptop từ cấu hình bên trong lẫn bên ngoài của máy tính theo
như nhu cầu mua máy tính trên thị trường hiện nay.
Bộ dữ liệu sau khi được rút gọn bao gồm 9 thuộc tính và mỗi thuộc tính được quy
định:


Hãng
1.
2.

3.
4.
5.
6.





APPLE
DELL
LENOVO
ASUS
ACER
HP

Gía
Màn hình
Bộ vi xử lý
1. i3
2. i5
3. i7
4. khác

Bộ nhớ Ram
Bộ nhớ ổ cứng
Hệ điều hành
1. dos
2. mac-os
3. win 7

4. win 8
5. win 8.1
6. win 10
• Card đồ họa:
1. có 1
1. ko 0
• Màu sắc
1. trắng
2. đen
3. đỏ
4. bạc




5


5.
6.
7.
8.

xanh
xám
vàng
khác

theo tổng kết thống kê:
Gía trị lớn nhất


Giá trị nhỏ nhất

Giá trị trung bình

Gía

39990000

5099000

22544500

Màn hình

11,6

15,6

13,6

Bộ xử lý

5

1

3

Bộ nhớ ram


16

2

9

Bộ nhớ ổ cứng

1024

256

640

Hệ điều hành

6

1

3,5

Card đồ họa

1

0

0,5


Màu sắc

8

1

4,5

Tỷ lệ phân chia cho mỗi loại trong 6 hãng máy tính trên là 16,6%
a. làm sạch dữ liệu

Thiếu giá trị: khi xây ra Sự thiếu thông tin ở 1 thuộc tính nào đó trang 1 bản ghi
của bộ dữ liệu thu thập, khi mả tính đảm bảo số bán ghi chia đều cho 3 loài trên đã có (
33,3%) vả sồ lượng bản ghi thiểu lá ít ta cỏ thề áp dụng phương pháp loại bo.(thực tề
trong bộ dữ liệu trên, khống tồn tại giá trị thuộc tính bị thiếu hay không được điền).mặt
khác khi cần phải điền vài các gỉá trị thiếu, ta có thể áp dụng phương pháp điền tự
động, thay thế các giá trị thiếu bằng giả trị trung bình đã được thống kê ở trên
Nhiễu dữ liệu: khi xuất hiện 1 giả trị bất ngờ nào đó, đột nhiên vượt quá các giá
trị biên đã được thong kê, ta có thề sửa lại giá. trị đó thành các giá trị ờ vùng biên theo
bàng thống kế ở trên
b. chọn lọc dữ liệu

Tích hợp vá du thừa dữ liệu : do dữ liệu trên thu thập từ 1 nguồn duy nhất nên
việc tích hợp là không cần thiết, các thuộc tính của dữ liệu là độc lập nhau, không có

6


mối quan hệ tương quan nào, các thuộc tính đã được rút gọn chọn lọc nên không cần

việc phân tích du thừa dữ liệu

c. biến đổi dữ liệu

Biến đồi dữ liệu: ta sử dụng phương pháp chuẩn hóa dữ liệu về khoảng giá trị
[0,1], phấn này sê được nói rô hơn ở phấn sau tùy vào phương pháp khai phá dữ liệu
được lựa chọn
d. rút gọn dữ liệu

Như đã nói từ đầu, bộ dữ liệu đã được loại bỏ đi các thuộc lính mang tính chất mô
tả, chì giữ lại 1 Ihuộc tính mô tả duy nhất là tên Hãng cụ thể các thuộc tính mang tính
số học còn lại vẫn đảm bảo được tính phân loại
IV.

Khai phá dữ liệu
Dựa vào phát biểu và mục đích cùa bái toán, dễ dàng nhận thầy đây là 1 bải toán
phân lớp: với 1 bộ dữ liệu đã cho và đã được gán nhãn các lớp cho trước(thể hiện
thông qua thuộc tính Hãng máy tính cụ thể), ta cần gắn các mẫu mới (chưa biết thuộc
nhãn lớp nào) vào các lớp với độ chính xác cao nhất cố thể
Bộ dữ liệu được chọn có Bộ thuộc tính không lớn, để đơn giản và dễ sử dụng để
phân lớp ta lựa chọn dùng phản lớp Iheo Ihuât toán “k- người hàng xóm gần nhất* (kNearest Neighbor Algorithm)
Thuật toán K-người hàng xóm gần nhất là gì
Thuật toán k-người hàng xóm gần nhất (viết tắt là K-NN) là thuật toán có mục
đích phân loại lớp cho một mẫu mới (Query point) dựa trên các thuộc tính và lớp của
các mẫu sẵn có (Tratntng Data), các mẫu này được nằm trong một hệ gọi là không gian
mẫu.
Một đối tượng được phân lớp dựa vào K láng giềng của nó. K là số nguyên dương
được xác định trước khi thực hiện thuật toán. Người ta thưởng dùng khoảng cách
Euclidean đề tính khoảng cách gtữa các đối tượng.
2. Mô tả thuật toán KNN

1.

7


Các mẫu được mô tà bằng n - chiều thuộc tính số. Mỗi mẫu đại diện cho một
điểm trong một chiều không gian n - chiều.Theo cách này tất cả các mẫu được lưu trữ
trong một mô hình không gian n - chiều.
Các bước thực hiện của thuật toán K-NN được mô tả như sau:
1/ Xác định tham số K (số láng giềng gần nhất).
2/ Tính khoảng cách giữa đối tượng cần phân lớp (Query Point) với tất cả các đối
tượng trong training data (thường sử dụng khoảng các Euclidean).
3/ Sắp xếp khoảng cách theo thứ tự tăng dần và xác định K láng giềng gần nhất
với Query Point.
4/ Lấy tất cả các lớp của K láng giềng gần nhất đã xác định.
5/ Dựa vào phần lớn lớp của láng giềng gần nhất để xác định lớp cho Query
Point.
Đề hiểu K-NN được dùng đề phân lớp thể nào ta xem minh họa dưới đây:
Trong hình dưới đây, training Data được mô tả bời dấu (+) và dấu (-), đối tượng
cần được xác định lớp cho nó (Query point) là hình mặt cười đó. Nhiệm vụ của chúng
ta là ước lượng (hay dự đoán) lớp của Query point dựa vào việc lựa chọn sổ láng giềng
gần nhất với nó. Nói cách khác chúng ta muốn biết liệu Query Point sẽ được phân vào
lớp (+) hay lớp (-).

8


Ta thấy rằng:
12-


Nearest neighbor : Kểtquả là + (Query Point được xếp vào lớp dấu +)
Nearest neighbors : không xác định lớp cho Query Point vì số láng giềng gần nhẩt với
nó là 2 trong đó 1 là lớp + và 1 lá lớp - (không có lớp nào có số đối tượng nhiều hơn
lớp kia). Vẩn đề này sẽ được nói rõ cụ thề ở phần sau.
5- Nearest neighbors : Kết quả là- (Query Point đuợc xếp vào lớp dấu - vì
trong 5 láng giềng gần nhất với nó thì có 3 đối tượng thuộc lớp - nhiều hơn lớp + chỉ
có 2 đồi tượng).
Áp dụng thuật toán KNN vào bài toán phân lớp máy tính
“Sự gần gũi” được xác định bằng khoảng cách Euclide, với khoảng cách Euclide
giữa hai điềm:
3.

X=(x1, x2, x3,..., xn) và Y=(y1, y2 , y3,..., yn ) là:

9


Sự phân loại lớp cho mẫu chưa biết lúc này dựa trên sự chiếm đa số của một lớp
nào đó trong " k - người hàng xóm gần nhất " đã tìm được.
Ở đây ta cần biến đồi dữ liệu để cho hiệu quả của thuật toán đuợc nâng cao hơn.
Cần lưu ý rằng:
+ Khoảng cách Eudide bị ảnh hường bởi khoảng giới hạn giá trị thuộc tính
+ Khoảng giá trị lớn thì gây ra nhiều ảnh hưởng hơn so với khoảng giá trị nhỏ.
Dù vậy khoảng cách giữa các mẫu có thề bị chi phối bởi một số thuộc tính có
giá trị tương đối lớn so với thuộc tính khác.
Vì vậy ta có thề khắc phục bằng cách bình thường hóa một số thuộc tính bằng
cách chia giá trị của mỗi thuộc tính thuộc mỗi mẫu cho giá trị lớn nhất của thuộc tính
đó trong tất cả các mẫu, làm các giá trị sau khi bình thường hóa nằm trong khỏang
[0,1].


10


Áp dụng vào bài toán phân lớp Máy tính:

???

11


Trích dẫn từ bộ dữ liệu Laptop, ta lập ra 1 bảng dữ liệu nhỏ và tiến hành thực
hiện theo thuậl toán K-NN đề minh họa:
Gía

Màn
hình

Bộ xử


Bộ nhớ
ram

Bộ nhớ
ổ cứng

Hệ điều Card
hành
đồ họa


Màu sắc

Hãng

5099000

11.6

1

2

500

1

0

0

Acer

21990000

13.3

4

4


128

2

0

1

15999000

15.6

3

4

1024

1

1

2

12699000

15.6

2


4

500

1

0

2

10999000

15.6

1

4

500

1

0

7

10499000

14


1

4

500

1

0

2

13999000

15.6

2

4

500

6

1

2

39999000


12

4

8

512

2

0

6

12399000

15.6

2

4

500

1

0

4


15199000

15.6

2

8

1024

6

0

4

Apple
Asus
Dell
Hp
Lenovo
Lenovo
Apple
Hp
Dell

12000000

15.6


2

4

500

3

1

2

???

Ta tiến hành thường hóa dữ liệu, bảng dữ liệu sẽ bị biến đổi thành bảng sau:
(ta lấy từng giá trị của cột trong bảng chia cho giá trị lớn nhất theo từng cột)
Gía

Màn
hình

Bộ xử


Bộ nhớ
ram

Bộ nhớ
ổ cứng


Hệ điều Card
hành
đồ họa

Màu
sắc

Hãng

0.13

0.74

0.25

0.25

0.49

0.17

0.00

0.00

0.55

0.85

1.00


0.50

0.13

0.33

0.00

0.14

0.40

1.00

0.75

0.50

1.00

0.17

1.00

0.29

0.32

1.00


0.50

0.50

0.49

0.17

0.00

0.29

0.27

1.00

0.25

0.50

0.49

0.17

0.00

1.00

0.26


0.89

0.25

0.50

0.49

0.17

0.00

0.29

0.35

1.00

0.5

0.50

0.49

1.00

1.00

0.29


1.00

0.77

1.00

1.00

0.50

0.33

0.00

0.86

0.31

1.00

0.25

0.50

0.49

0.17

0.00


0.57

0.38

1.00

0.25

1.00

1.00

1.00

0.00

0.57

0.30

1.00

0.25

0.50

0.50

0.50


1.00

0.29

Acer
Apple
Asus
Dell
Hp
Lenovo
Lenovo
Apple
Hp
Dell
???

12


Ta tính khoảng cách Eclide được bảng khoảng cách tương ứng (khoảng cách từ
các máy tới máy cần phân loại)
Hãng

Khoảng cách

Acer

=1.4


Apple

=1.35

Asus

=0.79

Dell

=1.08

HP

=1.27

Lenovo

=1.06

Lenovo

=0.5

Apple

=1.66

HP


=1.09

Dell

=1,47

13


Chọn K = 3
Ta chọn K hàng xóm gần nhất là 3 thì 3 khoảng cách nhỏ nhất lần lượt là : 0.5,
0.79 và 1.06 tương ứng với các hãng : Lenovo,Lenovo, Asus
Trong 3 hàng xóm gần nhất này có 2 hàng xóm là Lenovo và 1 hàng xám lá
Asus Vậy là kết luận máy Laptop cần tư vấn thuộc loại Lenovo
Trong trường hợp nếu chọn K xảy ra trường hợp có số hàng xóm mỗi lớp bằng
nhau thì ta tiến hành thêm bước tính trung bình lần lượt của mỗi lớp. sau đó chọn lớp
nào có sô trung bình nhỏ nhất để phân lớp.

14


V.

Đánh giá độ chính xác của mô hình và chương trình chạy
1. Đánh giá độ chính xác:


Ước lượng độ chính xác của bộ phân lớp là quan trọng bởi nó cho phép sự dự đoán
được độ chính xác của các kết quả phân lớp những dữ liệu trong tương lai phương
pháp được thực hiện trong 2 bước sau:


Một cách tổng quát ,tập luyện lớn hơn thì việc phân lớp tốt hơn, tập kiểm tra lớn
hơn sẽ đúng hơn về việc đánh giá lỗi. thông thường người ta chọn tập luyện bằng
2/3 và tập kiểm tra bằng 1/3.
Trong trường hợp số phần tử của các lớp trong tập dữ liệu gốc là không đều. ví
dụ như về y học thì lớp khỏe mạnh chiếm 90% còn lớp bệnh tật chiếm 10%, như
vậy nếu vẫn chọn ra ngẫu nhiên tập kiểm tra thì sẽ không đánh giá được đúng tỷ lệ
lỗi.
Để khắc phục, ta chọn ngẫu nhiên ở mỗi lớp ra số phần tử cho tập kiểm
tra bằng 1/3 số phần tử lớp.

15


16


2.

Chương trình chạy:

Giao diện chính:

Nhập dữ liệu vào bảng dữ liệu dành riêng cho người quản trị
ở đó có xóa và thêm dữ liệu

17


Giao diện tư vấn mua lap top. Cần nhập thông tin của laptop cần mong muốn

và ấn nút tư vấn:

Khi click và nút tư vấn máy sẽ tính toán và đưa ra tư vấn cụ thể cho người cần
tư vấn.

18



×