6. Bố cục của luận văn
2.3.5. Mơ hình khối máy học MLBlocks
Hình 2.3. Mơ hình chung của khối máy học
Mơ hình trên cĩ thể diễn giải như sau: Trong bước thứ nhất, hệ thống sẽ thu thập, trích xuất và tổng hợp dựa trên dữ liệu thơ ban đầu. Dữ liệu thơ là tập hợp những kiểu dữ liệu khác nhau như: Hình ảnh, tập tin văn bản, video, cơ sở dữ liệu quan hệ,…Sau khi thu thập dữ liệu và hồn thành các bước tiền xử lý, quá trình tiếp theo là sử dụng các phương pháp kỹ thuật được gọi là: "Trích xuất, tổng hợp" và "mơ phỏng", kết quả của bước này sẽ là ma trận các đối tượng. Các hàng của ma trận này biểu diễn các đối tượng, và cột tương ứng được xem như là "thuộc tính" của dữ liệu. Ví dụ: Ứng dụng máy học xây dựng một hệ thống thơng minh cĩ thể phân loại các lồi hoa, như vậy tương ứng với từng lồi hoa và các thuộc tính như màu sắc, và độ dài trung bình của các cánh hoa, mùi thơm… Chúng ta sẽ xây dựng được một “mẫu” để so sánh với các mẫu khác. Bước áp dụng phương pháp kỹ thuật này rất quan trọng cho việc cĩ hệ thống dự báo tốt. Nếu một nhà khoa học dữ liệu quyết định sử dụng các phương pháp sai, nĩ cĩ thể làm cho việc học tập của một mơ hình khơng tốt. Trong ví dụ trên, nếu các nhà khoa học dữ liệu thay đổi phương pháp kỹ thuật, thay
lại lớp của nhãn.
Cĩ nhiều bài tốn phân lớp dữ liệu, như phân lớp nhị phân, phân lớp đa lớp, phân lớp đa trị,…. Phân lớp nhị phân là quá trình tiến hành việc phân lớp dữ liệu vào một trong hai lớp khác nhau dựa vào việc dữ liệu đĩ cĩ hay khơng một số đặc tính theo quy định của bộ phân lớp. Phân lớp đa lớp là quá trình phân lớp với số lượng lớp lớn hơn hai.
Trong phân lớp đa trị, mỗi đối tượng dữ liệu trong tập huấn luyện cũng như các đối tượng mới sau khi được phân lớp cĩ thể thuộc từ hai lớp trở lên.
Với ví dụ là bài tốn dự đốn lộ trình Giao thơng. Mỗi một đối tượng dữ liệu trong tập huấn luyện là một trường hợp giao thơng với một số điều kiện nhất định. Các dữ liệu huấn luyện sẽ khơng đơn giản chỉ là thơng tin tại một thời điểm mà một bộ huấn luyện sẽ ra rất nhiều thời điểm khác nhau. Một lớp chính là một tập hợp các dữ liệu được đánh giá theo giá trị bao gồm từ 1 đến 5 tương ứng với mật độ giao thơng từ thưa thớt cho tới đơng đúc. Mỗi một dữ liệu phân lớp sẽ cĩ các giá trị khác nhau, dựa vào các giá trị này, áp dụng các thuật tốn phân lớp sẽ phân tích dữ liệu đầu vào và phân các giá trị đĩ vào các lớp tương ứng.
Việc Dự đốn lộ trình Giao thơng cĩ 3 hướng tiếp cận chính là thơng qua quy luật, mơ hình hĩa và học máy. Trong phương pháp tiếp cận thì học máy cĩ nhiều ưu điểm như khơng mất thời gian đưa ra các luật, học từ dữ liệu huấn luyện, dễ dàng mở rộng và tái cấu trúc. Các bộ phân loại thường sử dụng trong phương pháp học máy là Support Vector Machine(SVM), Naive Bayes, J48, Neural Network,Maximum Entropy, Decision Tree, Nearest-Neighbors, Sparse Network of Winnows(SNoW)[4].
Trong luận văn nghiên cứu này, tơi sẽ xây dựng khối máy học sử dụng mơ hình chính là Cây quyết định “Decision Tree” để học dữ liệu mẫu và đưa ra các dự đốn về mật độ giao thơng từ các dữ liệu mẫu.
Quá trình phân lớp dữ liệu thường gồm hai bước: Xây dựng mơ hình và Sử dụng mơ hình
đề phân lớp dữ liệu là tìm ra được một thuật tốn phân lớp nhanh, hiệu quả, cĩ độ chính xác cao và cĩ khả năng mở rộng được. Trong đĩ khả năng mở rộng được của thuật tốn được đặc biệt trú trọng và phát triển.
Một số kỹ thuật phân lớp được sử dụng và phát triển với đề tài dự đốn lộ trình Giao thơng:
Máy vector hỗ trợ (Support Vector Machine – SVM);
Tiếp cận xác suất thống kê (Nạve Bayes – NB);
Cây quyết định (Decision Tree – DT);
Sử dụng mạng nơron (Neural Network – Nnet);
Với kỹ thuật phân lớp SVM kernel sẽ được sử dụng trong mơ hình là Polynomial Kernel. Trong học máy, Polynomial Kernel là một hàm kernel được SVM sử dụng, nĩ thể hiện sự tương đồng của các vector (mẫu huấn luyện) trong khơng gian đặc trưng trên đa thức của các biến và cho phép học theo mơ hình phi tuyết tính.
Mỗi kỹ thuật phân lớp cĩ ưu điểm và đặc điểm riêng. Độ chính xác của các kỹ thuật cũng khác nhau.
2.5. TIỂU KẾT CHƯƠNG
Trong chương này, luận văn trình bày khái niệm và mơ hình MLBlocks, nghiên cứu cách thức xử lý dữ liệu và kết xuất dữ liệu của MLBlocks, từ đĩ đưa ra mơ hình khối máy học cĩ thể áp dụng để giải quyết bài tốn tối ưu trong giao thơng.
CHƯƠNG 3
ỨNG DỤNG MLBLOCKS TRONG VIỆC DỰ ĐỐN LỘ TRÌNH TỐI ƯU TRONG GIAO THƠNG TẠI THÀNH PHỐ ĐÀ NẴNG
3.1. THỰC TRẠNG VÀ GIẢI PHÁP
3.1.1. Thực trạng giao thơng tại thành phố Đà nẵng
Là thành phố được xem là trung tâm kinh tế của miền trung với mật độ dân số ngày càng tăng, phương tiện tham gia giao thơng ngày càng nhiều nên vào giờ cao điểm, tại một số tuyến đường ở thành phố thường xuyên xảy ra ùn tắc giao thơng cục bộ. Nhằm giải quyết triệt để tình trạng này, thành phố phối hợp với lực lượng liên quan đưa ra nhiều giải pháp bảo đảm trật tự an tồn giao thơng (TTATGT) theo hướng thuận tiện cho người tham gia giao thơng trong giờ cao điểm.
Nhờ thực hiện nhiều giải pháp hiệu quả, TP cơ bản giảm thiểu tình trạng ùn tắc giao thơng cục bộ vào giờ cao điểm trên các tuyến đường trọng điểm.
Theo thống kê của sở giao thơng, tại Đà Nẵng, 3 tháng đầu năm 2017 cĩ tất cả 21 điểm ùn tắc giao thơng thường xuyên, trong đĩ cĩ:
5 điểm xuất hiện ở các khu nhà ở cao tầng, nơi cĩ mật độ dân cư cao
11 điểm xuất hiện ở các cơng trình đang xây dựng
5 điểm thường xuyên ùn tắc do là tuyến đường trọng điểm, trục đường chính với lưu lượng giao thơng lớn
Theo các thống kê từ VOV giao thơng thì việc tắc đường thưởng xảy ra theo khung giờ nhất định:
6h30-8h00: đây là khung giờ đi làm của người lớn và đi học của học sinh sinh viên nên khung giờ này cĩ độ tắc rất cao.
11h00-12h00: đây là khung giờ nghỉ trưa, khung giờ thường xuyên xảy ra hiện tượng ùn ứ do lượng xe cộ trong khung giờ này là rất cao.
16h30-18h00: đây là giờ tan học của học sinh, sinh viên và tan làm của người lớn nên khung giờ này thường xuất hiện tắc nghẽn nghiêm trọng ở rất nhiều khung đường khác nhau.
để phân tích và đưa ra các dự báo một cách tương đối chính xác cho những người tham gia giao thơng.
3.1.2. Giải pháp
Phương pháp dự báo tình trạng giao thơng ngắn hạn cĩ thể được giải quyết bằng một số giải pháp như sau:
+ Phương pháp thống kê: Dựa vào thơng tin về trạng thái giao thơng của ngày hơm trước để dự báo cho ngày hơm sau. Phương pháp này cĩ ưu điểm là đơn giản, dựa trên thực tế là trong các giờ làm việc là cố định khơng thay đổi nên thơng thường tình trạng giao thơng là ổn định theo các khung giờ, ngoại trừ một số trường hợp bất thường xảy ra (như cĩ sự kiện được tổ chức cĩ thể dẫn đến cấm một số tuyến phố, dẫn đến một số tuyến khác phải gánh thêm lưu lượng của người tham gia giao thơng trên các tuyến bị cấm). Nhưng phương pháp này cĩ một số nhược điểm là khơng quản lý được một số tham số động như ngày cuối tuần (một số lượng lớn người sẽ được nghỉ làm và sẽ thay đổi lưu lượng giao thơng), ngày nghỉ (một số lượng lớn người cĩ thể về quê nên sẽ cĩ một số tuyến sẽ tăng lưu lượng, sau đĩ lưu lượng giao thơng nội thành sẽ giảm trong những ngày nghỉ, và đến hết giai đoạn nghỉ thì sẽ cĩ một số tuyến tăng lưu lượng vì người đi làm quay lại thủ đơ làm việc)[2][4].
+ Phương pháp dùng luật: Xây dựng một số luật kết hợp với thơng tin thống kê để ước lượng lưu lượng. Ví dụ, dùng thơng tin thống kê của ngày làm việc làm tham số ước lượng cho ngày làm việc, ngày nghỉ ước lượng cho ngày nghỉ, … Ưu điểm của phương pháp này cũng là đơn giản, tuy nhiên nĩ vẫn cĩ nhược điểm là phương pháp tĩnh khơng quản lý được một số tham số động như thời tiết, hay sự ùn tắc cục bộ của một số tuyến đường liên quan.
+ Phương pháp dùng học máy (Machine learning): Cĩ rất nhiều phương pháp học máy, tuy nhiên cĩ một lớp giải thuật cĩ thể ứng dụng cho bài tốn dự đốn lưu lượng giao thơng là các giải thuật phân lớp. Khi ta xác định một số mức của lưu lượng như: Mức 1 (tắc nghẽn), mức 2 (rất đơng, vận tốc di chuyển chậm < 12km/h), mức 3 (đường đơng, vận tốc di chuyển vừa phải từ 12km/h – 25km/h), mức 4 (đường thống, tốc độ di chuyển từ 25km/h đến 35km/h), mức 5 (đường rất thống tốc độ di chuyển
> 35km/h), thì ta cĩ thể xây dựng một bộ phân lớp để xác định trạng thái giao thơng của một tuyến đường thuộc vào mức nào nếu ta coi mỗi mức tương ứng với một lớp. Ưu điểm của phương pháp này là động, nĩ thay đổi theo tình trạng thực tế của các tham số đầu vào, do vậy trong luận văn này, tác giả lựa chọn đi theo hướng này.
Việc Dự đốn lộ trình Giao thơng cần phải dựa vào nhiều nguồn thơng tin khác nhau. Mỗi nguồn thơng tin là một điều kiện cũng như một căn cứ để từ đĩ xác định ra mật độ giao thơng tại một thời điểm để cĩ thể xác định một lơ trình giao thơng tối ưu nhất. Để cĩ thể cĩ được dự đốn chính xác nhất, chúng ta cần phải căn cứ các thơng tin đã cĩ (ngày, giờ, cung đường gì ,…) để từ đĩ đưa ra được dự đốn chính xác nhất. Khi cĩ được một tập hợp các thơng tin là chúng ta đã cĩ được một tập dữ liệu, để cĩ thể từ tập dữ liệu này phân tích và đưa ra các kết quả dự đốn ta cĩ thể sử dụng kết hợp nhiều mơ hình học máy khác nhau tạo thành một khối máy học (MLBlocks)[4]. Quá trình học máy là quá trình mà từ một tập dữ liệu mẫu cĩ sẵn, hệ thống sẽ phân tích, tìm ra các thuộc tính tương đồng để xây dựng mơ hình và đưa ra các kết quả phân lớp chính xác. Kết quả học máy ở đây sẽ chính là lộ trình giao thơng mà chúng ta đang hướng đến.
Mơ hình bài tốn thực nghiệm:
Giả sử ta cần tìm một lộ trình giao thơng tối ưu để đi từ điềm A đến điểm B như hình vẽ với hàm mục tiêu là: Đường đi ngắn nhất, tránh các điểm tắc nghẽn giao thơng cĩ thể xảy ra. Yêu cầu bài tốn là xây dựng một khối máy học để dự đốn lộ trình tối ưu này. Với bài tốn như hình vẽ ta phải làm 3 bước như sau:
1. Liệt kê danh sách các lộ trình cĩ thể đi đến điểm B
2. Cảnh báo các lộ trình đang sảy ra tắc đường ở thời điểm hiện thời 3. Tìm một lộ trình tối ưu nhất trong các lộ trình đã liệt kê ra
cĩ nghĩa và diễn giải được chúng sao cho chúng cĩ ý nghĩa cho quá trình huấn luyện sau này.
c) Tổng hợp các trường dữ liệu
Do số liệu cụ thể liên quan đến các đoạn đường, thời điểm tắc đường thường khơng được cơng bố nên chúng ta khơng cĩ số liệu thật để kiểm thử chương trình.
Tuy nhiên, như đã trình bày ở các chương trước đĩ, dữ liệu liên quan đến địa điểm tắc đường thường cĩ tính quy luật, nên dựa vào các quy luật này ta cĩ thể sinh ra bộ dữ liệu sát với số liệu thật.
Cụ thể các thơng tin được dựa vào để sinh số liệu bao gồm:
Các trường hợp tắc đường thường xuất hiện ở trên những cung đường nhất định, vậy nên Tên đường chính là 1 thơng tin để xác định tình hình mật độ giao
thơng.
Các trường hợp tắc đường thường xuất hiện trong những ngày nhất định trong nằm (ngày lễ, ngày nghỉ, …) vậy nên thời gian Ngày/Tháng là 1 thơng tin để xác định mật độ giao thơng.
Trong một ngày, mật độ giao thơng ở các khoảng thời gian là khác nhau, nhưng tình trạng tắc đường thường chỉ xuất hiện ở những khung giờ nhất định, vậy nên Giờ là 1 thơng tin để xác định mật độ giao thơng.
Trong một tuần, mật độ giao thơng ở các ngày trong tuần là khác nhau, thứ 2 đầu tuần sẽ đơng hơn và các ngày trong tuần sẽ cĩ mật độ giao thơng cao hơn các ngày thứ 7 và chủ nhật. Vậy nên Ngày trong tuần là 1 thơng tin để xác định mật độ giao thơng
Mật độ giao thơng trên 1 cung đường thường giống nhau ở cùng khoảng thời gian, ví dụ khoảng 5h sáng ở cung đường A mật độ giao thơng thường ở mức thấp. Tuy nhiên trong một số trường hợp đột biến phát sinh (do thời tiết, do sửa chữa, do tai nạn giao thơng,…) mà mật độ thỉnh thoảng sẽ cĩ sự đột biến khác với những ngày cịn lại. Tỉ lệ phát sinh đột biến được lựa chọn là 20%. Như vậy việc sinh mật độ giao thơng tại 1 thời điểm trên 1 cung đường sẽ cĩ tỉ lệ 20% đột biến so với các ngày cịn lại.
Như vậy, các Đặc tính (Attribute) được lựa chọn để xây dựng bộ kiểm thử bao gồm:
Tên cung đường (RoadId)
Ngày (Date)
Tháng (Month)
Giờ (Hour)
Ngày trong tuần (Day)
Trong đĩ Trạng thái giao thơng (state) chính là mục tiêu phân lớp mà bài tốn Dự đốn lộ trình Giao thơng hướng đến.
d) Kho dữ liệu
i. Thực hiện sinh dữ liệu
Phần mềm Excel được sử dụng để xây dựng bộ dữ liệu và số class (mật độ tắc đường) được lựa chọn ở đây là 6.
Dựa vào các đặc tính được lựa chọn để sinh dữ liệu, các bước để sinh dữ liệu bao gồm:
Sinh thơng tin giờ: một ngày cĩ 24 giờ (0h -> 23h), thơng tin dữ liệu của 1 ngày bất kỳ sẽ phải cĩ thơng tin của đẩy đủ 24 giờ. Tức là mỗi một ngày sẽ phải cĩ 24 bản ghi dữ liệu tương ứng với trạng thái của 24h.
Sinh thơng tin ngày: một tháng cĩ từ 30->31 ngày, thơng tin của 1 tháng bất kỳ sẽ phải cĩ đầy đủ thơng tin của các ngày trong tháng đĩ. Do đĩ sẽ cần phải sinh thơng tin cho khoảng 31 x 24 = 744 bản ghi dữ liệu. Như vậy mỗi tháng sẽ phải cĩ khoảng 744 bản ghi đại diện cho mật độ của đường tại 744 thời điểm.
Sinh thơng tháng: 1 năm cĩ 12 tháng, như vậy, thơng tin của 1 năm sẽ cĩ
khoảng 12 x 744 = 8928 bản ghi đại diện cho mật độ của 8928 thời điểm trong năm.
Sinh thơng tin đường: do ta sẽ sinh thơng tin đại diện của mật độ tắc đường
trong 1 năm nên mỗi một đường sẽ cần sinh khoảng 8928 bản ghi đại diện cho các thời điểm tắc đường trong năm. Giả sử ta cĩ N cung đường, thì bộ dữ liệu sinh sẽ cần cĩ khoảng N x 8928 bản ghi đại diện cho các thời điểm của N cung đường trong năm
Sinh thơng tin mật độ giao thơng: mật độ giao thơng dựa vào khoảng thời
nhau để đánh mật độ giao thơng. Cụ thể:
o Từ 0h -> 5h độ tắc đường sẽ là 1 tuy nhiên khoảng 20% tỉ lệ phát sinh độ tắc đường là 2 do cĩ sự cố bất thường. Cơng thức Excel sinh độ tắc đường khung giờ này như sau:
IF(AND(D2>=0,D2<=5),IF(RANDBETWEEN(1,5)=1,RANDBETWEEN(1 ,2),1)
o Từ 6h -> 8h độ tắc đường sẽ là 5 tuy nhiên khoảng 20% tỉ lệ phát sinh độ tắc đường là 6 do cĩ sự cố bất thường. Cơng thức Excel sinh độ tắc đường khung giờ này như sau:
IF(AND(D2>=6,D2<=8),IF(RANDBETWEEN(1,5)=1,RANDBETWEEN(5