Điều này rất hữu ích trong việc phân loại các đữ liệu phức tạp mà các phương pháp tuyến tính khác không thê giải quyết được.. Giải quyết các tập dữ liệu phân tán: - Trong một số trường
Trang 1TRUONG DAI HOC CONG THUONG TP.HCM KHOA CONG NGHE THONG TIN
BAO CAO DE TAI
Dự Đoán Mức Do Hai Long Cua Khách Hàng Dựa Theo Đánh Giá Sản
Trang 2TRUONG DAI HOC CONG THUONG TP.HCM
KHOA CONG NGHE THONG TIN
BAO CAO DE TAI
Dự Đoán Mức Độ Hài Lòng Của Khách Hàng Dựa Theo Đánh Giá Sản Phẩm
Giảng viên hướng dẫn: Trần Đình Toàn
Trang 3BANG PHAN CONG
& a A Danh gia MSSV HO TEN SV Phan cong hoan thanh
200181676 Dang Anh Ta ode ung dung minh 100%
Trang 4
Lời mở đầu
MỤC LỤC
Vv LUỜI CẢIH ƠT, 7G <0 01 50 TH HH n0 vi Chương l: Giới thiệu - <-< se S3 9 918.193 95885581 85803885 18811801900 1
1.2 Ly do chon SVM lam dé tabs c ceccccccccccccscsscesesesssesessessesessesecsessveevstesteevssesteesseeees 1
12.1 Hiệu Quả Cao Trong Phân LOẠI: c cà ch HH HH 1
1.2.2 Kha Nang Tong Qudt HOG TOte.cccccccccccccccccccsccsvessesctessesesscssestesetevssetessvstetees 2
123 Ứng Dung Rong RGi Trong Thực TẾ: St nề ng kêu 2
1.2.4 Xử Lý Tốt Với Dữ Liệu Không Tuyển Tỉnh: cà chen 2
1.2.6 Tài Liệu và Tài Nguyên Phong Phú: à ác Tnhh He 2
Chương 2: Tìm hiểu về phân lớp dữ liệu SVM (BANERJEE 2020) 3
2.1 Giới thiệu về Support Vector Machines (SVM): - cccnt Hy, 3 QLD GOT MIU nne< ăa ca 3
2.1.2 Lịch sử phát trÌỂH: óc nh HT Huy 3
2.1.3 Ứng dụng và khả năng của SỨM nghe 3 2.2 Support Vector Machines ÏntfuIfIOn: - c1 2c 211221122212 211111111 rưe 3 2.2.1 Các thuật ngữ SÏÌ\Í: ằà.ĂĂ TS ST TH HH kh 3
Trang 5Tài liệu tham khảo
Trang 6chất lượng dịch vụ và trải nghiệm người dùng
Mục tiêu của đỗ án là xây dựng một mô hình phân loại đánh giá sản phẩm sử dụng thuật toán SVM và các kỹ thuật tiền xử lý đữ liệu Chúng tôi sẽ phân tích các vấn đề gặp phải trong đữ liệu, từ đó đề xuất giải pháp và đánh giá hiệu quả của mô hình Những kiến thức
và kinh nghiệm thu được từ đồ án này sẽ là nền tảng vững chắc cho công việc nghiên cứu
và phát triển sau nay
Trang 7Loi cam on
Đồ án này không thê hoàn thành nếu thiếu sự giúp đỡ và hỗ trợ từ nhiều cá nhân và tổ chức Trước tiên, chúng tôi xin gửi lời cảm ơn chân thành đến các thầy cô giáo trong Khoa Công nghệ Thông tin, Trường Đại học Công Nghiệp Thực Phẩm (HUIT) đã tận tình giảng dạy và hướng dẫn chúng tôi trong suốt quá trình học tập
Chúng tôi cũng xin bày tỏ lòng biết ơn sâu sắc đến GV.Trần Đình Toàn, người đã dành nhiều thời gian và công sức để hướng dẫn, đóng góp ý kiến và hỗ trợ chúng tôi trong quá trình thực hiện đồ án này Những lời khuyên và sự chỉ bảo của thầy là nguồn động viên to lớn giúp chúng tôi vượt qua những khó khăn và hoàn thành đồ án
Cuối cùng, chúng tôi xin gửi lời cảm ơn đến gia đình và bạn bè đã luôn ở bên, ủng hộ và động viên chúng tôi trong suốt thời gian qua Sự hỗ trợ quý báu của mọi người là động
lực giúp chúng tôi hoàn thành tốt nhiệm vụ học tập và nghiên cứu
Xin chân thành cảm ơn!
Trang 8Chương l1: Giới thiệu 1.1 Giới thiệu đề tài:
Hiện nay, trong lĩnh vực mua sắm trực tuyến, khách hàng có thể đưa những đánh giá nhận xét của mình đề bày tỏ thái độ về trải nghiệm mua sắm Những cảm nhận trải
nghiệm đó sẽ được bộc lộ trực tiếp thông qua lời nhận xét - comment của khách hàng
Kết quả đánh giá này được đúc kết và gói gọn qua số sao mà khách hàng đánh giá Hành động lựa chọn số sao được cho là liên quan mật thiết đối với “tình cảm” của khách hàng về trải nghiệm mua sắm tại cửa hàng cũng như trải nghiệm về sản phẩm Như vậy,
có thê kỳ vọng dựa vào lời nhận xét ta biết được khách hàng đã có trải nghiệm tích cực
hay tiêu cực Các sàn thương mại điện tử quản lý trực tiếp các cửa hàng trên sản của mình thông qua kết quả đánh giá của khách hàng Đối với những cửa hàng nhận được phản hồi đánh giá tốt sẽ có xếp hạng cao và ngược lại
Vì thế nhóm em đã bắt tay thực hiện đề tài Dự đoán mức độ hài lòng của khách
hàng dựa theo đánh giá sản phẩm
Vì thế, nhóm em đã quyết định thực hiện đề tài “Dự đoán mức độ hài lòng của
khách hàng dựa theo đánh giá sản phâm” Mục tiêu của chúng em là xây dựng một hệ thống phân tích cảm xúc từ các nhận xét của khách hàng, từ đó dự đoán mức độ hải lòng
và đưa ra nhận định tương ứng Hệ thống này không chỉ giúp các sàn thương mại điện tử hiệu rõ hơn về trải nghiệm của khách hàng mà còn hỗ trợ các cửa hàng cải thiện chất lượng dịch vụ và sản phẩm, góp phân nâng cao vị thế cạnh tranh trên thị trường
1.2 Lý do chọn SVM làm đề tài:
Chung tdi quyét dinh chon thuat toan SVM (Support Vector Machine) cho dé tai này dựa trên một số ly do quan trọng sau đây:
1.21 Hiệu Quả Cao Trong Phân Loại:
® SVM được biết đến với khả năng phân loại mạnh mẽ và hiệu quả cao, đặc biệt trong các bài toán phân loại nhị phân Thuật toán này hoạt động tốt ngay cả khi
dữ liệu có số chiều lớn, nhờ vào việc tìm ra siêu phăng tối ưu đề phân tách các lớp đữ liệu
Trang 91.2.2 Kha Nang Tổng Quát Hóa TỐt:
® - Một trong những ưu điểm nổi bật của SVM là khả năng tổng quát hóa tốt Điều
nay có nghĩa là mô hình SVM có thê hoạt động tốt trên các dữ liệu chưa từng
gặp, giúp cải thiện độ chính xác và d6 tin cay cua dự đoán
1.23 Ứng Dụng Rộng Rãi Trong Thực Tế:
¢ SVM đã được áp dụng thành công trong nhiều lĩnh vực khác nhau như nhận dạng chữ viết tay, nhận diện khuôn mặt, và phân loại văn bản Kinh nghiệm thành công trong các ứng dụng thực tế này đã chứng minh được tính hiệu quả
và linh hoạt của SVM
12.4 Xử Lý Tốt Với Dữ Liệu Không Tuyến Tinh:
® - Nhờ vào kỹ thuật kernel trick, SVM có khả năng xử lý tốt các đữ liệu không tuyến tính Điều này rất hữu ích trong việc phân loại các đữ liệu phức tạp mà các phương pháp tuyến tính khác không thê giải quyết được
12.5 Công Cụ Học Tập Hữu Ích:
© _ Việc nghiên cứu và triển khai thuật toán SVM giúp chúng tôi hiểu sâu hơn về các nguyên lý cơ bản của học máy, từ đó nâng cao kiến thức và kỹ năng cần thiết cho các nghiên cứu và ứng dụng sau này
1.2.6 Tài Liệu và Tài Nguyên Phong Phú:
® SVM là một trong những thuật toán học máy được nghiên cứu nhiều nhất, do
đó có rất nhiều tài liệu học tập, bài báo khoa học, và công cụ hỗ trợ Điều này tạo điều kiện thuận lợi cho quá trình nghiên cứu và triển khai mô hình
Trang 10Chương 2: Tìm hiểu về phân lớp dữ liệu SVM (BANERJEE
phân loại, hồi quy và phát hiện ngoại lệ Trình phân loại SVM xây dựng mô hình gán các
điểm đữ liệu mới cho một trong các danh mục nhất định Vì vay, no có thé duoc xem nhu
một bộ phân loại tuyến tính nhị phân phi xác suất
2.1.2 Lịch sử phát triển:
- Thuat toan SVM ban dau duoc phat trién boi Vladimir N Vapnik va Alexey Ya
Chervonenkis vào năm 1963 Vào thời điểm đó, thuật toán đang ở giai đoạn đầu Khả năng duy nhất là vẽ siêu phăng cho bộ phân loại tuyên tính Năm 1992, Bernhard E Boser, Isabelle M Guyon va Vladimir N Vapnik da dé xuat mét cach tao ra cac bé phan loại phi tuyến tính bằng cách áp dụng thủ thuật kernel cho các siêu phăng có lề tối đa Tiêu chuẩn hiện tại được Corinna Cortes và Vapnik đề xuất vào năm 1993 và xuất bản nam 1995
Trang 11¢ Support vectors (Cac vector hé trợ): là các điểm đữ liệu mẫu gần siêu phăng nhất Những điểm đữ liệu này xác định đường phân cách hoặc siêu phăng tốt hơn bằng cách tính toán lẻ
®_ Margin (Lê): là khoảng cách phân tách giữa hai dòng trên các điểm dữ liệu gần nhất Nó được tính bằng khoảng cách vuông góc từ đường thăng đến vectơ hỗ trợ hoặc điểm dữ liệu gần nhất Trong SVM, chúng tôi cô gắng tối đa hóa khoảng
cách phân tách này đề đạt được mức chênh lệch tối đa
Trong SVM, mục tiêu chính của chúng tôi là chọn một siêu phẳng có lề tối đa có thể có giữa các vectơ hỗ trợ trong tập dữ liệu đã cho SVM tìm kiếm siêu phăng lề tối đa trong quy trình 2 bước sau:
Bước I: Tạo các siêu phăng phân tách các lớp theo cách tốt nhất có thể Có nhiều siêu phăng có thể phân loại đữ liệu Chúng ta nên tìm kiếm siêu phăng tốt nhất thể hiện
khoảng cách hoặc lề lớn nhất giữa hai lớp.
Trang 12Bước 2: Chọn siêu phăng sao cho khoảng cách từ nó đến các vectơ hỗ trợ ở mỗi bên là
lớn nhất Nếu một siêu phăng như vậy tồn tại, nó được goi la maximum margin
hyperplane (siéu phang lé t6i da) va b6 phan loại tuyến tính mà nó xác định được gọi là maximum margin classifier (bô phân loại lễ tối đa)
Margin
Support vectors
X2 Decision boundary w'x=0
Hinh 2.2 Maximum margin hyperplane
2.2.3 Giải quyết các tập dữ liệu phân tán:
- Trong một số trường hợp nhất định, các điểm đữ liệu mẫu thê hiện sự phân tán đến mức
việc phân tách tuyến tính trở nên không thực tế khi sử dụng siêu phăng truyền thong Dé
vượt qua thử thách này, Máy vectơ hỗ trợ (SVM) sử dụng một kỹ thuật mạnh mẽ được
gọi là thủ thuật kemnel Phương pháp này liên quan đến việc chuyển đôi không gian đầu vào thành không gian có chiều cao hơn, cho phép phân tách các điểm đữ liệu hiệu quả hơn
- Thủ thuật kernel sử dụng chức năng ánh xạ đề chiếu không gian đầu vào 2-D ban đầu vào không gian có chiều cao hơn, chăng hạn như không gian 3-D Bằng cách đó, SVM có thê đạt được sự phân tách tuyến tính trong không gian được chuyển đôi, ngay cả khi các điểm dữ liệu không thê phân tách tuyến tính trong không gian đặc trưng ban dau
- Phép biến đổi này tạo điều kiện thuận lợi cho việc tạo ra một siêu phăng có thể phân tách các điểm đữ liệu một cách hiệu quả Do đó, SVM có thé phan loai chinh xac cac mau
mà trước đây rất khó phân biệt bằng siêu phăng tuyến tính
Trang 13- Khả năng của SVM xử lý các tập dữ liệu phân tán thông qua thủ thuật kernel làm nỗi bật tính linh hoạt và mạnh mẽ của chúng trong việc giải quyết các nhiệm vụ phân loại phức tạp Bằng cách tận dụng kỹ thuật này, SVM có thể đáp ứng các phân phối đữ liệu đa dạng và vượt trội trong các ứng dụng trong thế giới thực khác nhau, từ nhận đạng hình
ảnh đến tin sinh học
2.3 Thủ thuật Kernel:
- Trong thực tế, thuật toán Support Vector Machines (SVM) được nâng cao bằng cách sử dụng một kỹ thuật được gọi là thủ thuật kernel Phương pháp này liên quan đến việc sử
dụng hạt nhân, hoạt động như một chức năng để ánh xạ đữ liệu tới một không gian có
chiều cao hơn, nơi nó có thê tách rời được Về cơ bản, hạt nhân biến đổi không gian đữ liệu đầu vào có chiều thấp thành không gian có chiều cao hơn, từ đó chuyên đôi các vấn
đề có thê phân tách phi tuyến tính thành các vấn đề có thê phân tách tuyến tính bằng cách đưa ra các chiều bố sung
- Bằng cách sử dụng thủ thuật kemel, SVM có thê giải quyết các vấn đề phân tách phi tuyến tính hiệu quả hơn, dẫn đến việc xây dựng các bộ phân loại chính xác hơn Kỹ thuật này đặc biệt có giá trị trong các tình huống mà các phương pháp tuyến tính truyền thống
không đủ để đạt được hiệu suất thỏa đáng
- Người ta có thê định nghĩa hàm hạt nhân là một biểu thức toán học định lượng sự giống nhau hoặc khác nhau giữa các điểm đữ liệu trong không gian đầu vào Có nhiều loại hạt nhân khác nhau, mỗi loại phù hợp với các miền vấn đề và phân phối đữ liệu khác nhau Trong số các kernel phô biến nhất được sử dụng trong SVM là:
¢ Linear Kernel: Kernel này tính toán tích số chấm của các vectơ đầu vào, làm cho
nó phù hợp với các tập đữ liệu có thê phân tách tuyến tính
® Polynomial Kernel: Tinh toan d6 tuong ty gitra cac điểm đữ liệu dựa trên các hàm
đa thức, cho phép SVM xử lý các mối quan hệ phi tuyến tính giữa các tính năng
¢ Radial Basis Function (RBF) Kernel: Còn được gọi là Gaussian Kernel, RBF Kernel đo lường sự giống nhau giữa các điểm dữ liệu bằng cách sử dụng hàm Gaussian Nó có hiệu quả trong việc nắm bắt các ranh giới quyết định phức tạp, phi tuyến tính
e Sigmoid Kernel: Ap dyng hàm sigmoid cho tích vô hướng của vectơ đầu vào, mang lại sự linh hoạt trong việc mô hình hóa các mối quan hệ phi tuyến tính
Trang 14- Bằng cách chọn một ham nhân thích hợp, người thực hành có thể điều chỉnh các mô
hình SVM cho phù hợp với đặc điểm dữ liệu của mình, từ đó nâng cao độ chính xác phân
loại và hiệu suất khái quát hóa Thủ thuật kernel đóng vai trò là một công cụ quan trọng trong bộ công cụ SVM, cho phép xây dựng các bộ phân loại mạnh mẽ có khả năng xử lý các phân phối đữ liệu đa dạng và các ranh giới quyết định phức tạp
2.3.1 Linear Kernel:
- Trong ngữ cảnh của Support Vector Machines (SVM), Linear Kemel thê hiện một cách tiếp cận cơ bản đề xác định sự giống nhau giữa các điểm đữ liệu Hàm Linear Kernel được xây dựng như sau:
K[x;, x;]=Xx; X;
- Linear Kernel (kernel tuyén tinh): đặc biệt phù hợp với các tình huống trong đó dữ liệu
có thê phân tách tuyến tính, nghĩa là đữ liệu có thể được phân chia bằng một đường thăng Hạt nhân này thường được sử dụng khi xử lý các tập dữ liệu có nhiều tính năng
Tính đơn giản và hiệu quả của nó làm cho nó trở thành một lựa chọn pho biến, đặc biệt là trong các nhiệm vụ phân loại văn bản
- u điểm: Một ưu điểm đáng chú ý của kernel tuyến tính là thời gian đào tạo nhanh Vì
nó chỉ yêu câu tôi ưu hóa tham số chính quy hóa C trong quá trình huấn luyện nên quá
trình này có xu hướng nhanh hơn so với việc huấn luyện bằng các hạt nhân khác, điều
này có thê liên quan đến việc tối ưu hóa tham số bổ sung, chăng hạn như tham số y trong
các hạt nhân phi tuyến tính
- Ứng dụng: Một ứng dụng điển hình cua kernel tuyến tính là phân loại văn ban, trong đó
mục tiêu là phân loại tài liệu văn bản thành các lớp được xác định trước Do tính chất đơn
giản của nó, kernel tuyến tính cung cấp một cách tiếp cận đơn giản để phân tách dữ liệu văn bản
Linear Kernel có thể được hình dung như một ranh giới quyết định trong không gian đặc trưng hai chiều, trong đó ranh giới là một đường thăng phân cách các điểm đữ liệu thuộc các lớp khác nhau
Bằng cách tận dụng linear kernel, SVM có thể xử lý hiệu quả các tập dữ liệu có thê phân tách tuyên tính với không gian đặc trưng nhiều chiều, khiến nó trở thành một công cụ có giá trị trong các ứng dụng học máy khác nhau