6. Cấu trúc của đề tài
3.2. Các phương pháp và độ đo đánh giá hệ thống khuyến nghị
3.2.1. Phương pháp đánh giá hệ thống khuyến nghị
Để xây dựng một hệ thống khuyến nghị cần chọn một mô hình thống kê hoặc học máy phù hợp nhất với dữ liệu và yêu cầu của công việc. Do đó cần có các phương pháp để đánh giá độ chính xác và chọn ra được mô hình phù hợp trong số rất nhiều mô hình đang có hiện nay.
Đối với mạng đồ thị hai phía, tập dữ liệu 𝑅 gồm nhiều dòng với chủ yếu 3 cột gồm người dùng, đối tượng và đánh giá của người dùng cho đối tượng (tương đương 3 tập U, V, E). Tiến hành chia các dòng dữ liệu một cách ngẫu nhiên với một tỷ lệ xác định trước tập dữ liệu thành hai tập, một tập huấn luyện mô hình
𝑅𝑡𝑟𝑎𝑖𝑛 và một tập kiểm tra 𝑅𝑡𝑒𝑠𝑡, sao cho 𝑅𝑡𝑟𝑎𝑖𝑛 ∪ 𝑅𝑡𝑒𝑠𝑡 = 𝑅 và 𝑅𝑡𝑟𝑎𝑖𝑛∩ 𝑅𝑡𝑒𝑠𝑡 = ∅. Tập dữ liệu huấn luyện được dùng để xây dựng mô hình theo các thuật toán lọc sử dụng trong hệ khuyến nghị, tập kiểm tra được dùng vào quá trình kiểm nghiệm thuật toán đề xuất.
Hai nhiệm vụ chính của hệ khuyến nghị là dự đoán đánh giá về đối tượng và đề xuất danh sách ngắn các đối tượng có thể phù hợp cho người dùng hiện thời. Căn cứ theo hai nhiệm vụ đó thì có hai nhóm độ đo đánh giá hệ thống khuyến nghị tương ứng là: 1) Nhóm độ đo đánh giá độ chính xác của đánh giá dự đoán; và 2) Nhóm độ đo đánh giá độ chính xác của danh sách đối tượng đề xuất.
3.2.2. Đánh giá độ chính xác của dự đoán
3.2.2.1. Sai số tuyệt đối trung bình (MAE)
Một độ đo phổ biến nhất được sử dụng đánh giá sai số giữa giá trị đánh giá dự đoán và giá trị đánh giá thực tế trong hệ khuyến nghị là độ đo Sai số tuyệt đối trung bình (Mean Absolute Error – MAE).
Sai số dự đoán 𝑀𝐴𝐸𝑢 với mỗi người dùng 𝑢 thuộc tập kiểm tra 𝑅𝑡𝑒𝑠𝑡 được tính bằng trung bình cộng của sai số tuyệt đối giữa giá trị dự đoán và giá trị thực của đánh giá của người dùng 𝑢 đối với tất cả các đối tượng đã được người dùng 𝑢
đánh giá trong tập kiểm tra.
𝑀𝐴𝐸𝑢 = 1
𝑛∑ |𝑟̂𝑢
𝑖− 𝑟𝑢𝑖|
𝑛
𝑖=1 (3.2)
với n là số đối tượng được đánh giá của người dùng u, 𝑟̂𝑢𝑖 và 𝑟𝑢𝑖 lần lượt là dự đoán và đánh giá thực của người dùng u đối với đối tượng i trong tập kiểm tra 𝑅𝑡𝑒𝑠𝑡.
Sai số dự đoán trên toàn tập dữ liệu kiểm tra được tính bằng trung bình cộng sai số dự đoán cho mỗi người dùng thuộc𝑅𝑡𝑒𝑠𝑡.
𝑀𝐴𝐸 =∑𝑢∈𝑅𝑡𝑒𝑠𝑡𝑀𝐴𝐸𝑢
|𝑈𝑢∈𝑅𝑡𝑒𝑠𝑡| (3.2)
3.2.2.2. Sai số bình phương trung bình dưới căn (RMSE)
Một độ đo thông dụng khác cũng được sử dụng để đánh giá giá trị dự đoán là bình phương trung bình lỗi lấy căn (Root Mean Square Error – RMSE). RMSE được tính bằng căn bậc hai của trung bình bình phương giữa giá trị thực và giá trị dự đoán. 𝑅𝑀𝑆𝐸𝑢 = √1 𝑛∑ (𝑟̂𝑢 𝑖− 𝑟𝑢 𝑖)2 𝑛 𝑖=1 (3.3) 𝑅𝑀𝑆𝐸 = ∑𝑢∈𝑅𝑡𝑒𝑠𝑡𝑅𝑀𝑆𝐸𝑢 |𝑈𝑢∈𝑅𝑡𝑒𝑠𝑡| (3.4)
Độ đo RMSE rất nhạy với những hệ thống có sai số lớn, ví dụ xét một tập có bốn đối tượng cần được dự đoán, thì RMSE sẽ đánh giá tốt hệ thống có giá trị sai số là 2 cho ba đối tượng và 0 cho đối tượng thứ tư, trong khi MAE sẽ cho ra kết quả tốt với hệ thống có giá trị sai số là 3 với một dự đoán và sai số là 0 cho ba dự đoán còn lại.
Giá trị MAE, RMSE càng nhỏ chứng tỏ hệ thống khuyến nghị đã đưa ra những dự đoán càng chính xác.
3.2.3. Đánh giá danh sách đề xuất
Các độ đo đánh giá độ chính xác của danh sách đề xuất, hỗ trợ ra quyết định giúp người dùng trong việc lựa chọn một danh sách ngắn các đối tượng phù hợp trong danh mục nhiều món có sẵn. Các độ đo này xem cách hoạt động của hệ thống khuyến nghị là phân loại ra đối tượng phù hợp / được thích hoặc không phù hợp / không thích bởi người dùng, chứ không tập trung vào giá trị đánh giá cụ thể của người dùng lên đối tượng.
Để đánh giá rõ hiệu quả đề xuất của hệ thống khuyến nghị, ta tiến hành xây dựng ma trận “nhầm lẫn” (confusion matrix) như sau:
Bảng 3.1. Confusion matrix Phù hợp / thích Không phù hợp / không thích Đề xuất TP (True positives) FP (False positives) Không đề xuất FN (False negatives) TN (True negatives) Trong đó:
- Tổng số đối tượng được đề xuất cho người dùng trong tập 𝑅𝑡𝑒𝑠𝑡 là tổng của hàng thứ nhất (TP + FP)
o TP là những đối tượng được đề xuất và thực tế cũng được thích bởi người dùng.
o FP là những đối tượng được đề xuất nhưng thực tế không được thích bởi người dùng.
- Tổng số đối tượng không được đề xuất cho người dùng trong tập 𝑅𝑡𝑒𝑠𝑡
là tổng của hàng thứ hai (FN + TN)
o FN là những đối tượng không được đề xuất nhưng thực tế là phù hợp và được thích bởi người dùng.
o TN là những đối tượng được không được đề xuất và thực tế cũng không được thích bởi người dùng.
Từ confusion matrix, một số độ đo tính chính xác của danh sách sản phẩm tư vấn được đưa ra, các độ đo này có nguồn gốc từ lĩnh vực học máy. Dưới đây trình bày một số độ đo phổ biến.
3.2.3.1. Độ chính xác (Precision), độ nhạy (Recall), F-measure
Độ chính xác (Precision): được tính bằng tỷ lệ giữa số lượng đối tượng đề xuất là thực tế phù hợp trên tổng số lượng được đề xuất:
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 = 𝑃 = 𝑇𝑃
𝑇𝑃+𝐹𝑃 (3.5)
Độ nhạy (Recall): được tính bằng tỷ lệ giữa số lượng đối tượng đề xuất là thực tế phù hợp trên tổng số lượng các đối tượng thực tế là phù hợp:
𝑅𝑒𝑐𝑎𝑙𝑙 = 𝑅 = 𝑇𝑃
𝑇𝑃+𝐹𝑁 (3.6)
Precision cao đồng nghĩa với việc độ chính xác của các đề xuất là cao. Recall cao đồng nghĩa với việc tỷ lệ bỏ sót các đối tượng khác cũng phù hợp nhưng không được đề xuất là thấp.
Precision và Recall có cùng tử số nhưng khác mẫu số, thành phần FP trong mẫu số của Precision và FN trong mẫu số của Recall có xu hướng ngược nhau, khi FP tăng thì FN sẽ giảm và ngược lại, do đó Precision và Recall cũng có xu hướng ngược nhau. Tùy vào tính chất và yêu cầu của hệ thống khuyến nghị cần đạt được sẽ quan trọng Precision hay Recall hơn. Để cân bằng giữa hai độ đo này, ta sử dụng một độ đo khác là F-measure.
F-measure: được tính bằng công thức
𝐹 = 1
𝛼𝑃1+(1−𝛼)1𝑅=(𝛽2+1)𝑃𝑅
𝛽2𝑃+𝑅 , với 𝛽2 =1−𝛼
𝛼 (3.7)
Tham số 𝛼𝜖[0,1] là độ lệch cho trước giữa Precision và Recall, khi đó
𝛽2𝜖[0, ∞]. Giá trị cân bằng là 𝛼 = 0.5 hay 𝛽 = 1 và thường được gọi là độ đo F1- score, viết tắt của 𝐹𝛽=1. Công thức rút gọn như sau:
𝐹1 = 𝐹𝛽=1 = 2𝑃𝑅
𝑃+𝑅 (3.8)
Khi 𝛽 < 1 sẽ nhấn mạnh sự quan trọng của độ chính xác Precision, ngược lại khi 𝛽 > 1 thì độ nhạy Recall sẽ được coi trọng hơn. Giá trị F-measure càng cao thì chứng tỏ hệ thống khuyến nghị cho kết quả càng chính xác.
Tuy nhiên trên thực tế thì số lượng kết quả trả về sẽ rất lớn mà người dùng không cần thiết lựa chọn hết nên chỉ số Precision không còn hiệu quả. Vì vậy để có thể đánh giá kết quả trả về một cách tập trung hơn cần sử dụng chỉ số
Precision@k, ta chỉ lựa chọn top k đối tượng có giá trị dự đoán cao nhất để đánh
giá.
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛@𝑘 = 𝑇𝑃𝑡𝑜𝑝−𝑘
𝑚𝑖𝑛(𝑘,𝑇𝑃+𝐹𝑃)
với 𝑇𝑃𝑡𝑜𝑝−𝑘 là tổng số kết quả phù hợp thực tế trong top k kết quả đầu tiên được chọn đề xuất.
Tương tự ta có Recall@k và F-measure@k. Đối với tổng thể toàn bộ tập kiểm tra, ta tính toán 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛𝑢@𝑘 và 𝑅𝑒𝑐𝑎𝑙𝑙𝑢@𝑘 đối với từng người dùng và có được 𝐹 − 𝑚𝑒𝑎𝑠𝑢𝑟𝑒𝑢@𝑘 của người dùng đó. Độ đo 𝐹 − 𝑚𝑒𝑎𝑠𝑢𝑟𝑒@𝑘 của tập kiểm tra là giá trị trung bình của từng người dùng.
3.2.3.2. Độ đo trung bình tổng thể (Mean Average Precision – MAP)
Precision và Recall cũng như F-measure chỉ quan tâm đến việc đối tượng được đề xuất có phù hợp hay không, chứ không quan tâm đến việc xếp hạng các đề xuất. Độ chính xác trung bình tổng thể (MAP) là một chỉ số đánh giá phổ biến
thể hiện tính đúng đắn về thứ hạng của những đề xuất được đưa ra. Ví dụ như khi chỉ dùng Precision, nếu chỉ 1 trong 10 gợi ý là chính xác thì dù đó là gợi thứ 1 hay thứ 10 thì giá trị Precision vẫn là 0.1. Nhưng đối với MAP sẽ khác, gợi ý đúng là gợi ý thứ 1 thì giá trị MAP sẽ lớn hơn so với khi gợi ý đúng xếp thứ 10.
Chỉ số MAP@k cũng thường được sử dụng với top k đối tượng đầu tiên
được hệ thống khuyến nghị đề xuất. MAP@k được định nghĩa thông qua AP@k (Average Precision at k) dưới đây:
𝐴𝑃@𝑘 = 1
𝑚∑𝑘𝑖=1𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛@𝑘. 𝑟𝑒𝑙(𝑖) (3.10) Trong đó:
- 𝑟𝑒𝑙(𝑖) = 1 nếu đối tượng thứ i được đề xuất là thực tế phù hợp với người dùng, 𝑟𝑒𝑙(𝑖) = 0 đối tượng thứ i được đề xuất là không phù hợp. - m là tổng số lượng đề xuất là thực tế phù hợp trong k đề xuất đầu tiên.
Độ đo 𝐴𝑃@𝑘 được áp dụng để tính độ chính xác trung bình cho mỗi người dùng thuộc tập kiểm tra. Trên cơ sở đó, độ chính xác trung bình tổng thể 𝑀𝐴𝑃@𝑘
của toàn hệ thống được tính bằng trung bình cộng 𝐴𝑃@𝑘 của tất cả các người dùng trong tập kiểm tra.
𝑀𝐴𝑃@𝑘 = 1
|𝑈𝑢∈𝑅𝑡𝑒𝑠𝑡|∑|𝑈𝑖=1𝑢∈𝑅𝑡𝑒𝑠𝑡|(𝐴𝑃@𝑘)𝑢𝑖 (3.11)
3.2.3.3. Độ đo trung bình nghịch đảo thứ hạng (Mean Reciprocal Rank – MRR)
Trong truy xuất thông tin, độ đo nghịch đảo thứ hạng (Reciprocal Rank – RR) tính toán giá trị nghịch đảo của thứ hạng tại tài liệu phù hợp đầu tiên nhận được. Khi có nhiều yêu cầu tìm kiếm, độ đo được gọi là Trung bình nghịch đảo thứ hạng (Mean Reciprocal Rank – MRR).
𝑅𝑅 = 1 𝑟𝑎𝑛𝑘−𝑖 , 𝑀𝑅𝑅 = 1 𝑄∑ 1 𝑟𝑎𝑛𝑘−𝑖 𝑄 𝑖=1 (3.12)
với 𝑟𝑎𝑛𝑘 − 𝑖 là thứ hạng của của đề xuất đầu tiên phù hợp với người dùng, và Q là số lượng các yêu cầu tìm kiếm.
MRR được sử dụng trong các mô hình mà người dùng chỉ quan tâm và muốn nhận được duy nhất một thông tin phù hợp đầu tiên [21]. Trong hệ thống khuyến nghị, giả sử người dùng xem danh sách đề xuất từ trên xuống cho đến khi thấy một đối tượng phù hợp có thứ hạng n, thì độ chính xác được xem là 1/n chính là nghịch đảo của thứ hạng. MRR đối với hệ thống khuyến nghị được tính bằng trung bình cộng RR các đề xuất cho người dùng trong tập kiểm tra.
𝑀𝑅𝑅 = 1
|𝑈𝑢∈𝑅𝑡𝑒𝑠𝑡|∑ 1
𝑅𝑅(𝑢𝑖) |𝑈𝑢∈𝑅𝑡𝑒𝑠𝑡|
𝑖=1 (3.13)
Độ đo MRR phù hợp với việc tìm kiếm các đối tượng đã biết trước, khi người dùng muốn muốn tìm kiếm một tài liệu, thông tin hay sản phẩm mà họ đã nhìn thấy hoặc biết là có tồn tại. MRR cũng có thể áp dụng với các hệ thống mà có nhiều đối tượng tương tự nhau, có thể thay thế cho nhau, thì người dùng sẽ chỉ cần quan tâm đến đối tượng đầu tiên được nhìn thấy.
3.3. Kết luận
Chương này đã giới thiệu tổng quan về bài toán khuyến nghị và các hướng tiếp cận, các độ đo đánh giá hiệu quả của hệ thống khuyến nghị. Tùy theo tính chất của dữ liệu cũng như yêu cầu bài toán cần giải quyết, hệ thống khuyến nghị sẽ được lựa chọn xây dựng theo các hướng tiếp cận truyền thống hay các kỹ thuật hiện đại và đang tiếp tục được phát triển. Bên cạnh đó, mỗi độ đo cũng chỉ để đánh giá hiệu quả về một khía cạnh của bài toán khuyến nghị.
Từ các phân tích ở trên, trong chương tiếp theo đề tài sẽ xây dựng một hệ thống khuyến nghị với cơ sở dữ liệu mạng đồ thị hai phía được biểu diễn qua các phép nhúng đỉnh và đưa vào mô hình thừa số hóa ma trận. Tương ứng các độ đo cũng sẽ được áp dụng phù hợp để đánh giá hiệu quả của hệ thống khuyến nghị được xây dựng.
CHƯƠNG 4. XÂY DỰNG HỆ THỐNG KHUYẾN NGHỊ BẰNG PHƯƠNG PHÁP NHÚNG ĐỈNH MẠNG ĐỒ THỊ HAI
PHÍA ÁP DỤNG VÀO THỰC TẾ
Hệ thống khuyến nghị (Recommender System) đã được rất nhiều nghiên cứu và ứng dụng mạnh mẽ trong nhiều lĩnh vực đặc biệt là thương mại điện tử. Tuy nhiên việc xây dựng một hệ thống khuyến nghị để phục vụ cho công tác quản trị nội bộ của một doanh nghiệp thường ít được quan tâm. Phần tiếp theo sẽ trình bày ứng dụng phương pháp nhúng đỉnh mạng đồ thị hai phía từ dữ liệu thực tế của Công ty Truyền tải điện 4 để xây dựng một hệ thống khuyến nghị trong công tác quản lý và cấp phát vật tư thiết bị tại doanh nghiệp.
4.1. Giới thiệu nguồn dữ liệu và sự cần thiết xây dựng hệ thống khuyến nghị thực tế tại doanh nghiệp
Công ty Truyền tải điện 4 (PTC4) có trụ sở được đặt tại Thành phố Thủ Đức, Thành phố Hồ Chí Minh, là đơn vị thành viên của Tổng Công ty Truyền tải điện Quốc gia (EVNNPT) trực thuộc Tập đoàn Điện lực Việt Nam (EVN), được giao chức năng nhiệm vụ quản lý vận hành lưới điện truyền tải gồm đường dây truyền tải điện và trạm biến áp cấp điện áp 220-500kV với địa bàn trải rộng trên 19 tỉnh thành khu vực miền Nam. Tính đến cuối năm 2020, Công ty quản lý vận hành tổng cộng 7,436.36 km đường dây, gồm 2,146.77 km đường dây 500kV và 5,289.59 km đường dây 220kV; 56 trạm biến áp, gồm 11 trạm biến áp 500kV và 45 trạm biến áp 220kV, với tổng dung lượng máy biến áp là 39,843 MVA.
Cơ cấu tổ chức của PTC4 gồm có 11 phòng nghiệp vụ và 6 đơn vị Truyền tải điện khu vực trực thuộc, mỗi đơn vị sẽ trực tiếp phụ trách quản lý lưới điện trên địa bàn từ 2 – 4 tỉnh, khu vực Thành phố Hồ Chí Minh do một đơn vị phụ trách riêng. Đây là các đơn vị trực tiếp thực hiện các công tác kiểm tra, bảo dưỡng, bảo trì, sửa chữa thường xuyên và xử lý sự cố trên lưới điện truyền tải quản lý.
Phòng Vật tư thuộc PTC4 có chức năng chính quản lý vật tư thiết bị là tài sản thuộc công ty, bao gồm các công tác mua sắm, nhập kho, xuất kho, thu hồi,
cấp phát, bảo dưỡng, điều động các vật tư thiết bị cho các đơn vị để phục vụ công tác quản lý vận hành lưới điện. Phòng Vật tư trực tiếp quản lý kho vật tư của công ty với trên 2,000 danh mục vật tư thiết bị chi tiết. Các nhóm thiết bị chính như máy biến áp lực, máy cắt, máy biến dòng điện, máy biến điện áp, tụ bù, kháng điện, dao cách ly, sứ đỡ, chuỗi cách điện, dây dẫn điện, cột điện, relay bảo vệ, tủ điều khiển, các phụ kiện v.v… Mỗi nhóm thiết bị chính gồm nhiều nhiều nhóm nhỏ phân theo cấp điện áp, vị trí, chức năng; trong các nhóm nhỏ lại có nhiều nhãn hiệu, thông số, tiêu chuẩn khác nhau.
Trong công tác quản lý vận hành, khi phát hiện có bất thường hay phát hiện hư hỏng trên thiết bị, các đội đường dây hoặc các trạm biến áp sẽ báo cáo cáo xin trang cấp vật tư để thay thế cho thiết bị hỏng hóc nhằm tiếp tục đảm bảo vận hành an toàn lưới điện. Ngoài ra, kho vật tư cũng thường xuyên cấp phát thiết bị cho các các phòng chức năng của công ty, các đối tác là các đơn vị chuyên thi công, sữa chửa lưới điện, các ban quản lý dự án công trình điện, hoặc điều động vật tư giữa các đơn vị trực thuộc Tổng Công ty Truyền tải điện Quốc gia.
Qua thống kê thực tế nhiều năm nhận thấy sẽ có nhiều trạm thường hay trục trặc cùng loại thiết bị có chức năng tương tự nhau, hoặc có nhiều đường dây thường xuyên phải thay thế cùng một loại phụ kiện giống nhau. Các trạm và đường dây này có thể có một số yếu tố kỹ thuật liên quan nhau như sử dụng cùng chủng loại vật tư thiết bị của cùng một nhà sản xuất, hoặc cùng một đơn vị thi công xây dựng, hoặc có thời gian hoạt động tương đương. Ngoài ra cũng có những yếu tố khác rất đa dạng như về vị trí địa lý có cùng đặc điểm gần khu vực rừng núi hoặc ven biển,