1.3 megapixel đó là thông số thấp tối thiểu thƣờng thấy cho một bức ảnh. Và đồng nghĩa với điều đó thì một bức ảnh thông thƣờng cũng có tới hàng triệu điểm ảnh, một con số không nhỏ đối với khả năng xử lý của máy tính hiện nay khi mà ta phải xử lý tới từng điểm ảnh. Một mạng neural thông thƣờng của SOM có kích thƣớc 30x30 nhƣ vậy trong lớp Kohonen sẽ tồn tại 900 neural và giải thuật tìm kiếm neural chiến thắng sẽ phải duyệt qua số lƣợng neural này nhƣ vậy với một ảnh số có 1triệu pixcel thì sẽ phải duyệt qua 900 triệu lần các neural và chƣa tính đến các phƣơng pháp tính khoảng cách để tìm kiếm neural chiến thắng. Nhƣ vậy chỉ tính toán trên mặt lý thuyết cũng có thể thấy quá tình sử dụng mạng neural để xử lý ảnh sẽ chậm hơn 900 lần so với phƣơng pháp xử lý ảnh thông thƣờng, một con số đáng để lƣu ý vì nếu không khắc phục đƣợc con số này ứng dụng mạng neural trên ảnh số sẽ chỉ là lý thuyết và ta sẽ không thể đi tới một kết quả mong đợi nào cả. Điều này đòi hỏi một phƣơng pháp tăng tốc thuật toán xử lý trong một khoảng thời gian chấp nhận đƣợc.
Với ảnh số và ứng dụng phân cụm màu sắc vào thực tế gặp phải khó khăn nhƣ vậy thế còn đối với những dữ liệu khác thì sao? Trên thực tế quá trình xử dụng
38
mạng neural dùng giải thuật SOM dùng cho những bài toán phân cụm trên một tập dữ liệu tƣơng đối lớn đòi hỏi tốc độ cao và quá trình tìm kiếm BMU phải đặt trong một khoảng thời gian chấp nhận đƣợc. Đây là một thách thức đặt ra cho quá trình ứng dụng mạng neural vào trong thực tế.
2.5.5. SOM –Vấn đề số lượng nhóm
Trong quá trình ứng dụng mạng SOM vào giải quyết các bài toán phân cụm dữ liệu theo giải thuật đƣợc đƣa ra thì số lƣợng nhóm đƣợc hình thành sau quá trình huấn luyện là ngẫu nhiên và không xác định trƣớc. Trên thực tế có một tham số đầu vào ảnh hƣởng tới số lƣợng nhóm đƣợc hình thành sau quá trình huấn luyện đó là kích thƣớc khởi tạo cho mạng SOM, nhƣng tham số này ảnh hƣởng ít tới số lƣợng nhóm đƣợc hình thành. Và theo những khuyến cáo thì với mỗi bài toán riêng biệt thƣờng có một kích thƣớc mạng SOM chuẩn cho bài toán đó.
Tuy nhiên số lƣợng nhóm đƣợc hình thành sau quá trình huấn luyện lại là một vấn đề lớn ảnh hƣởng trực tiếp tới kết quả sau huấn luyện. Đồng thời với những bài toán phân cụm khác nhau cũng có những yêu cầu khác nhau nhiều trƣờng hợp đòi hỏi số lƣợng nhóm phải đƣợc xác định trƣớc khi phân cụm. Nhƣ vậy khi ứng dụng những giải thuật theo chuẩn thì sẽ có số lƣợng nhóm thƣờng là lớn hơn rất nhiều số lƣợng nhóm đƣợc mong đợi.
Với số lƣợng nhóm nhiều hơn cần thiết sẽ gây mất tập chung khi phân cụm dữ liệu và vấn đề sát nhập giữa các nhóm tƣơng đồng gần nhau sau quá trình huấn luyện mạng làm một đòi hỏi cần thiết cho ứng dụng mạng neural.
2.6. SOM –Giải quyết những vấn đề tồn tại khi phân cụm
2.6.1 Giải pháp phân cụm tự nhiên trong quá trình học
Những vấn đề đặt ra trong quá trình phân cụm dữ liệu đòi hỏi phải có những phƣơng pháp giải quyết đƣa giải thuật về mức thi hành đƣợc và tạo ra một hiệu quả thực sự cho quá trình phân cụm dữ liệu.
39
Qua quá trình nghiên cứu các phƣơng pháp phân chia nhóm trên các mạng SOM đã đƣợc huấn luyện có thể chỉ ra một số đặc điểm của mạng SOM sau khi huấn luyện nhƣ sau:
Các neural trong lớp Kohonen biến đổi liên tục và ranh giới giữa các cụm biến thiên liên tục. Vì vậy mà giữa các nhóm hình thành những ranh giới không rõ ràng rất khó khăn cho quá trình phân nhóm các neural.
Việc xác định đâu là một nhóm mới và ranh giới giữa 2 nhóm không có một chuẩn nào cả dẫn đến tình trạng hỗn tạp giữa các nhóm.
Không thể xác định đâu là trung tâm một nhóm hay đặc trƣng riêng có của nhóm đấy khi chƣa phân cụm.
Vì những nguyên nhân trên mà một giải pháp phân cụm các nhóm là điều vô cùng khó khăn mà nguyên nhân trực tiếp là ranh giới giữa các nhóm là rất mờ nhạt. Vì vậy đòi hỏi một giải pháp mới.
Sau khi nghiên cứu tiến hành cài đặt huấn luyện mạng SOM có thể thấy trong quá trình huấn luyện mạng về bản chất chính là quá trình hình thành nên các nhóm. Chính vì vậy một phƣơng pháp phân chia nhóm ngay từ trong quá trình huấn luyện là một giải pháp hợp lý.
Phương pháp
Mạng đƣợc hình thành và huấn luyện từ những Neural chiến thắng và các nhóm sẽ đƣợc phân chia trong quá trình này. Nhƣ vậy các nhóm sẽ đƣợc hình thành và mang đặc điểm của các neural chiến thắng.
Dựa vào tính chất này ta có thể phân chia các nhóm theo một giải thuật đƣợc đề ra theo 3 nguyên tắc cơ bản đối với những neural bị tác động bởi neural chiến thắng tại một bƣớc trong quá trình huấn luyện nhƣ sau:
1.Với các neural bị tắc động khi chúng chƣa thuộc một nhóm nào sẽ hình thành một nhóm mới mang đặc tính của neural chiến thắng.
2.Với những neural bị tắc động đã thuộc một nhóm nhất định khi nhóm đó không đồng nhất với neural chiến thắng sẽ xảy ra quá trình tranh chấp neural giữa các nhóm.
40
3.Với những độ phân ly quá lớn giữa neural chiến thắng và nhóm cũ vƣợt qua một ngƣỡng nào đó sẽ xảy ra quá trình sinh một nhóm mới.
Nhƣ vậy phƣơng pháp đề ra thực chất chính là quá trình hình thành nhóm, phân li nhóm và tranh chấp neural giữa các nhóm. Với một phát biểu tổng quát hơn ta có thể hình dung quá trình này một cách dễ hiểu hơn nhƣ sau:
Nguyên tắc hình thành và củng cố nhóm
Khi một neural chiến thắng đƣợc xác định nếu nó không thuộc một nhóm nào sẽ hình thành một nhóm mới và thực hiên quá trình tranh chấp neural cho nhóm đó. Nếu nó thuộc một nhóm đã tồn tại sẽ có sự phân ly hoặc củng cố nhóm.
Nguyên tắc phân li nhóm
Khi một neural chiến thắng xác định thỏa điều kiện phân li (khoảng cách của neural chiến thắng với đặc trƣng nhóm là quá lớn vƣợt quá ngƣỡng phân ly) sẽ hình thành một nhóm mới mang đặc tính neural này và tranh chấp neural với nhóm cũ.
Nguyên tắc củng cố nhóm
Khi một neural chiến thắng không thỏa điều kiện phân ly sẽ củng cố đặc trƣng nhóm theo neural đó. Đồng thời tranh chấp neural với các nhóm gần đó theo nguyên tắc tranh chấp.
Nguyên tắc tranh chấp Neural giữa các nhóm
Khi một neural nằm trong vùng giao giữa các nhóm và xảy ra quá trình tranh chấp neural giữa các nhóm. Khi đó sẽ tính khoảng cách từ neural đó tới các nhóm theo đặc trƣng nhóm. Khoảng cách nào ngắn nhất neural sẽ thuộc về nhóm đó.
2.6.2 Mạng thu gọn và tăng tốc giải thuật
Nhƣ đã trình bày với tốc độ giải thuật của mạng SOM khi ứng dụng trên ảnh số mang lại những kết quả không thực tế. Kết quả cũng sẽ diễn ra tƣơng tự đối với các giải pháp PCDL trên các tập dữ liệu khác. Điều này đòi hỏi phƣơng pháp tăng tốc giải thuật tới mức chấp nhận đƣợc.
41
Mạng thu gọn : Qua quá trình nghiên cứu phƣơng pháp phân cụm trên ảnh số để phân loại một màu mạng SOM phải tiến hành tìm kiếm neural chiến thắng tƣơng ứng với màu đó. Nhƣ vậy để tăng tốc độ giải thuật phải tăng tốc quá trình tìm kiếm. Trên thực tế khi thực hiện quá trình huấn luyện và phân cụm nhóm nhƣ giải thuật đƣợc đề ra ở mục trƣớc thì các nhóm tự nó đã mang những đặc điểm riêng có, và quá trình phân nhóm dựa trên 4 nguyên tắc cơ bản để ra đã tạo lên những đặc trƣng nhóm, vì vậy khi huấn luyện xong trên thực tế chỉ còn lại một số lƣợng nhóm giới hạn tồn tại trên mạng SOM. Ta sẽ tiến hành trích chọn ra những nhóm đặc trƣng cơ bản trên mạng này tạo thành một mạng SOM rút gọn và sử dụng mạng này thay thế cho mạng SOM đã đƣợc huấn luyện.
Quá trình tiến hành tạo nhóm đƣợc thực hiện theo nguyên tắc duyệt lần lƣợt các neural trong mạng SOM đã đƣợc huấn luyện khi thấy một nhóm mới chƣa có trong mạng thu gọn thì thêm nhóm đó vào mạng thu gọn.
Theo những kết quả trên thực tế khi tiến hành thu gọn mạng thì mạng thu gọn có số lƣợng từ 45 tới 55 neural với mạng đầu vào ban đầu có kích thƣớc 30x30. Nhƣ vậy từ một số lƣợng 900 neural giảm xuống còn khoảng 50 neural điều này đồng nghĩa với thuật toán sẽ chạy nhanh hơn gấp khoảng 20 lần.
Nhƣ vậy ta dùng một mạng thu gọn là một ánh xạ đặc trƣng nhóm từ mạng gốc thể hiện đầy đủ các đặc trƣng nhóm nhƣng số lƣợng neural giảm xuống đáng kể. Đồng thời tắc động tới kết quả thu đƣợc là rất nhỏ.
Tăng tốc độ tìm kiếm
Giải pháp về mặt giải thuật
Quá trình tìm kiếm trên mạng thu gọn có thể tối ƣu tốc độ qua quá trình sắp xếp mạng và dùng giải thuật tìm kiếm nhị phân trên mạng đã đƣợc sắp xếp điều này làm thuật toán giảm xuống từ (n) xuống còn log(n). Đây là giải pháp hiệu quả cho quá trình tăng tốc giải thuật vì việc tìm kiếm BMU đƣợc thực hiện thƣờng xuyên trong mạng SOM. Tuy nhiên để thực hiện đƣợc tìm kiếm nhị phân trƣớc hết ta phải sắp xếp lại các nhóm theo thứ tự nhất định và đƣa ra phƣơng pháp so sánh giữa 2 nhóm. Việc so sánh 2 nhóm có thể dựa trên việc so sánh các trọng số đƣợc huấn luyện của từng nhóm và ta có thể vận dụng phƣơng pháp sắp xếp tƣơng tự nhƣ từ
42
điển, đây là một lĩnh vực không đòi hỏi giải thuật mới và ta hoàn toàn có thể ứng dụng những thành tựu đã có .
Giải pháp về mặt kĩ thuật
Xử lý ảnh đòi hỏi phải thực hiện trên toàn bộ bức ảnh và phải lặp qua toàn bộ các pixcel, và khi phân cụm một tập dữ liệu bất kì thì phải lặp trên tập dữ liệu đó. Về mặt giải thuật thì quá trình này là không thể tối ƣu hơn đƣợc nữa. Một giải pháp đề ra giải quyết vấn đề này là quá trình phân luồng tận dụng CUP tối đa cho quá trình xử lý. Và nhƣ vậy một tập dữ liệu sẽ đƣợc phân chia ra thành nhiều phần. Mỗi phần sẽ đƣợc xử lý bởi một luồng riêng biệt. Về bản chất là phân chia quá trình tìm kiếm neural chiến thắng thành nhiều luồng song song cùng tìm kiếm. Điều này sẽ giảm thời gian xử lý giải thuật trên tập dữ liệu định sẵn.
Với những thay đổi mang tính đột phá nhƣ vậy đã đƣa mạng SOM tới gần hơn cho việc ứng dụng trên thực tế và có thể mang lại những hiệu quả nhất định đối với việc phân cụm dữ liệu. Việc phát triển mạng SOM và tăng tính tối ƣu cho các quá trình vận hành mạng không chỉ là đòi hỏi riêng phải có ở mạng SOM mà trên toàn mạng neural nói chung. Vì đa phần các mạng neural đều có khoảng thời gian huấn luyện và vận hành tƣơng đối lớn. Điều đó yêu cầu rất nhiều tài nguyên cho sự vận hành thành công một mạng nhất định.
2.6.3 Giới hạn điều chỉnh số lượng nhóm trên mạng SOM
Để làm giảm số lƣợng nhóm trên mạng thì giải pháp chính là tìm cách thu gọn mạng hơn nữa. Đồng thời do tồn tại quá trình tự phân ly trên mạng khi huấn luyện theo nguyên tắc phân ly. Nhƣ vậy có thể thấy có 2 phƣơng pháp có thể dùng để điều chỉnh số lƣợng nhóm trong trƣờng hợp này một phƣơng pháp mang tính tự nhiên và một phƣơng pháp cố định nhóm.
Điều chỉnh tham số phân ly trong quá trình hình thành nhóm:
Khi các nhóm hình thành bán kính tác động và quá trình sinh nhóm mới phụ thuộc vào thám số phân ly. Tham số này lớn đồng nghĩa với việc một nhóm mới đƣợc hình thành trở lên khó khăn và ngƣợc lại một nhóm mới có thể dễ dàng
43
hình thành khi tham số phân ly là nhỏ. Và có thể thấy số lƣợng nhóm bị ảnh hƣởng rất lớn từ tham số này.
Quá trình sát nhập nhóm bắt buộc:
Sau quá trình huấn luyện khi số lƣợng nhóm đƣợc hình thành là cố định, khi đó phải thực hiện quá trình sát nhập nhóm bắt buộc làm giảm số lƣợng nhóm hiện tại. Qua nghiên cứu cho thấy từ nhóm các neural có đƣợc sau quá trình huấn luyện ta có thể lập đƣợc một ma trận khoảng cách giữa các nhóm. Đây thực chất là ma trận đƣợc tính theo hàm khoảng cách tƣơng tự nhƣ đối với các neural, vì vậy khi sát nhập nhóm thì 2 nhóm có khoảng cách gần nhau nhất tức là giá trị khoảng cách đạt nhỏ nhất (min) trên ma trận khoảng cách sẽ sát nhập với nhau. Khi sát nhập sẽ tạo ra nhóm mới mang đặc tính của 2 nhóm trƣớc đó. Về mặt bản chất thì đó chính là một nhóm mới có trọng số bằng trung bình cộng của 2 nhóm trƣớc đó. Tuy nhiên quá trình này là không tự nhiên và không khuyến khích thực hiện nhiều trên mạng.
2.7. Đánh giá kết quả phân cụm
Các hệ số Precision, Recall và F-measure đƣợc sử dụng để đánh giá kết quả phân cụm. Tôi so sánh kết quả phân cụm học sinh theo giải pháp đề xuất và so sánh với kết quả phân cụm học sinh bằng tay (do ngƣời làm). Kết qủa phân cụm học sinh bằng tay dựa trên các tiêu chí khác nhau do giáo viên thực hiện, trong đó mỗi tiêu chí là một cụm. Xét tập có n học sinh, sau khi phân cụm bằng tay ta có m cụm, và sau khi phân cụm bằng hệ thống phần mềm phân cụm học sinh có k cụm. Trong quá trình thử nghiệm ta có m≤ k. Để đánh giá kết quả của hệ thống, ta tiến hành xác định ba hệ số Precision, Recall và F-measure giữa hai cụm trong hai hệ thống.
44
Gọi a=|A|, b=|B| và c=|C|.Trong hình ?, cụm mi do con ngƣời tạo ra là AB gồm có a+b học sinh, cụm ki do hệ thống phân gồm là AC có a + c học sinh. Hai cụm trên có phần chung là A và gồm a học sinh. Hệ số Precision giữa hai cụm trên đƣợc ký hiệu là P (Precision) phản ánh độ chính xác của truy vấn và đƣợc tính bằng
công thức: a P a c
Hệ số Precision cho biết tỉ lệ giữa số học sinh đƣợc phân cụm đúng. Nếu P=1 thì các học sinh trong cụm ki nằm trong các học sinh của cụm mi. Hệ số Recall giữa hai cụm mi và ki đƣợc ký hiệu là R (recall) và đƣợc tính bằng công thức sau:
a R
a b
Nếu R =1 thì các học sinh trong cụm mi thuộc các học sinh nằm trong cụm ki . Có thể kết hợp hai hệ số Precision và Recall lại thành hệ số F-Measure. Hệ số F-Measure đƣợc tính bằng công thức: 1 1 1 (1 ) F P R
Giá trị α càng cao sẽ tác động mạnh đến hệ số Recall, ngƣợc lại giá trị α thấp sẽ tác động mạnh lên hệ số Presicion Thông thƣờng hệ số a trong công thức trên đƣợc chọn là 0.5. Khi đó công thức trên đƣợc viết lại:
0.5 2PR F P R
Brew C. [tên tác giả trong tài liệu 2 ở dƣới thêm vào phần tài liệu than khảo và chỉnh lại nhé] đề nghị cách đánh giá nhƣ sau: Tƣơng ứng với một cụm trong kết quả phân cụm của hệ thống ta đi tính giá trị của độ đo F-measure với tất cả các cụm đƣợc phân bằng tay. Chọn ra giá trị của F-measure cao nhất và loại cụm này ra. Tiếp tục công việc trên, cho các cụm còn lại. Tổng các giá trị F-measure càng cao thì hệ thống phân cụm càng chính xác. Tập kết quả thử nghiệm phân cụm