Thuật toán KNN
KNN (K-Nearest Neighbors) là một trong những thuật toán học có giám sát đơn giản nhất trong khai phá dữ liệu và học máy Thuật toán này không học từ tập dữ liệu huấn luyện, mà thực hiện mọi tính toán khi cần dự đoán nhãn cho dữ liệu mới, do đó được xếp vào loại lazy learning Lớp (nhãn) của một đối tượng dữ liệu mới được dự đoán dựa trên các lớp (nhãn) của k hàng xóm gần nhất.
Để xác định nhãn cho điểm dữ liệu mới A trong tập dữ liệu D đã được phân loại thành hai nhãn (+) và (-), ta cần phân tích vị trí của A trên trục tọa độ so với các điểm dữ liệu đã biết Việc này giúp chúng ta quyết định xem A thuộc về nhãn nào dựa trên sự gần gũi với các điểm cùng nhãn.
Hình 1.14 Minh họa thuật toán KNN
Cách đơn giản nhất để phân loại dữ liệu A là so sánh tất cả các đặc điểm của nó với các tập dữ liệu đã được gắn nhãn Nếu các đặc điểm của dữ liệu A tương đồng với dữ liệu của điểm mang nhãn (+), thì điểm A sẽ được gán nhãn tương tự.
(+), nếu dữ liệu A giống với dữ liệu nhãn (-) hơn thì nó mang nhãn (-), trông có vẻ rất đơn giản nhưng đó là những gì mà KNN làm
Trong phương pháp KNN, dữ liệu mới không được so sánh với tất cả các dữ liệu khác mà thay vào đó, nó thực hiện các phép toán để đo khoảng cách giữa dữ liệu mới và từng điểm trong tập dữ liệu học D nhằm phân loại Các phép tính khoảng cách có thể bao gồm Euclidian, Manhattan, trọng số, và Minkowski.
- Thuật toán đơn giản, dễ dàng triển khai
- Độ phức tạp tính toán nhỏ
- Xử lý tốt với tập dữ liệu nhiễu
- Với K nhỏ dễ gặp nhiễu dẫn tới kết quả đưa ra không chính xác
- Cần nhiều thời gian để thực hiện do phải tính toán khoảng cách với tất cả các đối tượng trong tập dữ liệu
- Cần chuyển đổi kiểu dữ liệu thành các yếu tố định tính.
Thuật toán sử dụng mạng Nơ ron
Mạng noron nhân tạo (Artificial Neural Networks) là một mô hình mô phỏng cấu trúc của mạng noron sinh học, bao gồm các đơn vị tính toán đơn giản được kết nối chặt chẽ Các liên kết giữa các noron trong mạng này đóng vai trò quyết định chức năng và hiệu quả hoạt động của nó.
Mạng Neural là một hệ thống gồm các phần tử kết nối với nhau qua các trọng số liên kết, nhằm thực hiện các nhiệm vụ cụ thể Khả năng xử lý của mạng này được phát triển thông qua việc điều chỉnh các trọng số liên kết, tức là học từ các mẫu huấn luyện.
- Dễ cài đặt cùng với khả năng học và tổng quát hoá rất cao
- Tốc độ xử lý nhanh
- Linh hoạt và dễ bảo trì
Việc xác định cấu trúc mạng và các tham số học tối ưu cho một bài toán cụ thể gặp khó khăn do tính chậm và xác suất không cao, không có quy tắc tổng quát nào áp dụng cho vấn đề này.
- Tiêu chuẩn thu thập cơ sở dữ liệu huấn luyện còn khắt khe
- Đòi hỏi thời gian xử lý cao với mạng một mạng Neural lớn.
MẠNG NƠ RON CNN VÀ ỨNG DỤNG TRONG PHÂN LOẠI ẢNH
Mạng nơron sinh học
Não bộ con người chứa khoảng 10^11 tế bào thần kinh, hay còn gọi là nơron, với cấu trúc và chức năng tương đối đồng nhất Các nhà nghiên cứu sinh học đã xác định rằng nơron đóng vai trò quan trọng trong việc thực hiện các chức năng của hệ thần kinh, bao gồm não, tuỷ sống và các dây thần kinh Hình 2.1 minh họa cấu tạo của hệ thống tế bào sinh học này.
Cấu trúc cơ bản của nơron sinh học bao gồm ba phần chính: phần thân, hệ thống dây thần kinh tiếp nhận và sợi trục thần kinh Hệ thống dây thần kinh tiếp nhận tạo thành một mạng lưới dày đặc xung quanh thân tế bào, chiếm diện tích khoảng 0.25 mm², và đóng vai trò là đầu vào cho các tín hiệu điện Thân tế bào chứa nhân, nơi tổng hợp các tín hiệu và điều chỉnh điện thế của nơron Khi điện thế này vượt qua ngưỡng nhất định, nhân tế bào sẽ kích thích nơron phát tín hiệu ra ngoài.
Dendrites truyền tín hiệu điện ra sợi trục thần kinh, có thể dài từ vài centimet đến vài mét và phân nhánh theo hình cây để kết nối với nhiều tế bào khác hoặc với thân tế bào của một nơron duy nhất Kết nối này diễn ra qua các khớp nối, với mỗi nơron có thể có tới hàng trăm ngàn khớp nối, chiếm khoảng 90% diện tích bề mặt nơron Tín hiệu điện truyền qua các sợi dây thần kinh và hiệu điện thế của nhân tế bào là kết quả của phản ứng và giải phóng chất hữu cơ từ các khớp nối Xung điện từ sợi trục axon kích thích giải phóng chất truyền điện tại các khớp nối với đầu vào của nơron khác Có hai loại khớp nối: khớp nối kích thích và khớp nối ức chế, và cường độ tín hiệu mà một tế bào thần kinh nhận được phụ thuộc vào mức độ liên kết của khớp nối Quá trình học của mạng nơron sinh học liên quan đến việc thay đổi mức độ liên kết của các khớp nối, tạo nên chức năng của hệ thần kinh con người Sự phát triển của hệ thần kinh là một quá trình "học" liên tục, bắt đầu từ khi sinh ra với các cấu trúc thần kinh đơn giản và dần dần phát triển qua quá trình học, khiến cấu trúc mạng nơron luôn biến đổi và hoàn thiện.
Dựa trên kết quả nghiên cứu về hệ thần kinh con người, chúng ta có thể mô phỏng và xây dựng các hệ thần kinh nhân tạo phục vụ cho những chức năng cụ thể Nghiên cứu này đã mở ra một hướng phát triển mới trong lĩnh vực công nghệ: Mạng nơron nhân tạo.
Mạng nơron nhân tạo
Nơron nhân tạo là phiên bản đơn giản hóa của nơron sinh học, hoạt động thông qua chương trình máy tính hoặc mạch phần cứng Mỗi nơron thực hiện hai chức năng chính: tiếp nhận thông tin đầu vào và kích hoạt đầu ra, được xem như một đơn vị xử lý Nó mô phỏng cấu trúc của nơron sinh học với nhiều đầu vào tương tự như dây thần kinh, tiếp nhận dữ liệu từ các nơron khác hoặc từ tập số liệu gốc Mỗi đầu vào có ảnh hưởng khác nhau đến tín hiệu đầu ra nhờ vào các trọng số (w i) gán cho từng đầu vào, có thể là dương hoặc âm, tương ứng với khớp nối kích thích và ức chế trong mạng nơron sinh học Thân nơron tổng hợp các tín hiệu đầu vào để tạo ra tín hiệu đầu ra, tương tự như sợi trục axon của nơron sinh học, và tín hiệu này có thể phân nhánh để kết nối với các nơron khác.
Các nơron nhân tạo được tổ chức thành mạng nơron nhân tạo, thường được sắp xếp thành từng lớp Đầu ra của mỗi nơron được kết nối với đầu vào của các nơron khác theo một cấu trúc nhất định Tuy nhiên, mạng nơron nhân tạo vẫn chưa đạt được độ phức tạp như mạng nơron sinh học, hiện chỉ là một mô phỏng đơn giản của cấu trúc này Mặc dù vậy, giữa mạng nơron nhân tạo và mạng nơron sinh học vẫn tồn tại ba điểm chung quan trọng.
Mạng được hình thành từ các phần tử tính toán đơn giản, kết nối với nhau một cách phức tạp và hoạt động dựa trên nguyên tắc song song.
- Chức năng của mạng được xác định qua cấu trúc mạng, quá trình xử lý bên trong các phần tử và mức độ liên kết giữa các phần tử
Mức độ liên kết giữa các phần tử trong mạng nơron được xác định qua quá trình huấn luyện Sự khác biệt cơ bản giữa mạng nơron nhân tạo và mạng nơron sinh học nằm ở tốc độ tính toán, độ phức tạp và khả năng xử lý song song Mặc dù máy tính hiện đại có tốc độ xử lý vượt trội so với não bộ con người, nhưng bộ não có khả năng kích hoạt đồng thời tất cả các nơron để thực hiện nhiều nhiệm vụ khác nhau, điều mà mạng nơron nhân tạo không thể làm được Với sự phát triển nhanh chóng của khoa học, chúng ta có thể hy vọng vào những đột phá mới trong việc mô phỏng mạng nơron sinh học.
2.1.2.3 Các ứng dụng của mạng nơron
Mạng nơron là công nghệ lý tưởng cho các ứng dụng so sánh và phân loại mẫu, dự báo cũng như điều khiển Dưới đây là một số ứng dụng cụ thể của mạng nơron.
Không gian vũ trụ cung cấp các công nghệ tiên tiến như trình điều khiển máy bay không người lái và chế độ tự bay nâng cao Nó cho phép mô phỏng các đường bay và các bộ phận của máy bay, đồng thời tích hợp hệ thống điều khiển và hệ thống phát hiện sai hỏng, giúp nâng cao hiệu suất và độ an toàn trong ngành hàng không.
Dự đoán tài chính kinh tế bao gồm việc phân tích biến động giá cổ phiếu và xác định cấp số thời gian trong thị trường tài chính Các ứng dụng này giúp điều hành vốn hiệu quả, dự đoán thị trường ngoại hối, đánh giá rủi ro và tình hình kinh tế Đồng thời, việc đánh giá hiệu suất của vốn vay và vốn đầu tư cũng là một phần quan trọng trong quá trình dự đoán này.
- Hoạt động ngân hàng: Dự đoán khả năng phá sản Hệ thống thẻ đọc ngân hàng, thẻ tín dụng
Hệ thống phòng thủ bao gồm các công nghệ điều khiển vũ khí, có khả năng dò tìm và nhận dạng mục tiêu một cách chính xác Nó cũng đảm nhiệm việc điều khiển đường đạn và xử lý các tín hiệu từ ảnh, radar và siêu âm, nhằm tối ưu hóa hiệu quả trong việc bảo vệ và phản ứng với các mối đe dọa.
Điện tử viễn thông bao gồm nhiều lĩnh vực quan trọng như dự đoán chuỗi mã, bố trí mạch tích hợp trên chip, và phân tích lỗi mạch tích hợp Công nghệ nhìn bằng máy giúp nhận dạng và tổng hợp tiếng nói, cũng như nhận dạng chữ viết tay và chữ ký Ngoài ra, xử lý ảnh, nén ảnh và nén số liệu là những ứng dụng thiết yếu trong ngành Các dịch vụ thông tin tự động và dịch ngôn ngữ nói thời gian thực ngày càng trở nên phổ biến, cùng với hệ thống xử lý thanh toán của khách hàng và định tuyến, chuyển mạch cho mạng ATM.
Quá trình sản xuất hiện đại được điều khiển bởi robot, bao gồm thiết kế và phân tích sản phẩm, cũng như giám sát và chẩn đoán quá trình máy móc Hệ thống kiểm định chất lượng đóng vai trò quan trọng trong việc đảm bảo tiêu chuẩn sản phẩm, trong khi hệ thống lập kế hoạch và điều hành giúp tối ưu hóa quy trình sản xuất Bên cạnh đó, việc điều khiển vận động và hệ thống nhìn của robot là yếu tố then chốt để nâng cao hiệu suất và độ chính xác trong sản xuất.
Phân tích tế bào ung thư vú và điện não đồ là những bước quan trọng trong y tế hiện đại Thiết kế bộ phận thay thế giúp cải thiện chất lượng cuộc sống cho bệnh nhân Tối ưu hoá thời gian cấy ghép là cần thiết để nâng cao hiệu quả điều trị Đồng thời, việc dò tìm và đánh giá các hiện tượng y học đóng vai trò quan trọng trong việc phát hiện sớm và điều trị bệnh.
- Vận tải: Hệ thống chuẩn đoán phanh xe tải Hệ thống định tuyến và lịch trình cho các phương tiện giao thông
- Giải trí: Các hiệu ứng chuyển động, các trò chơi
Mô hình toán học và kiến trúc mạng nơron
2.1.3.1 Mô hình toán học của một nơron nhân tạo
Dựa trên kiến thức cơ bản về nơron nhân tạo, chúng ta có thể phát triển một mô hình toán học cho nơron nhân tạo như được minh họa trong Hình 2.3.
Mô hình toán học của mạng nơron nhân tạo bắt đầu với các tín hiệu vào, hay còn gọi là mẫu vào, được ký hiệu là p i (i=1 R), được đưa đến đầu vào của nơron S, tạo thành ma trận tín hiệu vào P Mỗi đầu vào của nơron S sẽ được gán một trọng số, ký hiệu là w s,i (i=1 R), và các trọng số này hình thành nên một ma trận trọng số đầu vào.
Mức ngưỡng của nơron được biểu diễn trong mô hình toán học bằng hệ số bias b, với b = - Hàm thế sau khớp nối bao gồm các yếu tố như wS,2, wS,R, b (bias) và n net a p3, p2, p1.
The function of Synaptic Potential (PSP) is the sum of weighted input signals and a bias coefficient Therefore, the input signal \( n_{net} \) is calculated using the formula: \( n_{net} = b + w_1 s_1 + w_2 s_2 + + w_R s_R \) In matrix form, this can be expressed as: \( n_{net} = W P + b \).
Hệ số bias có thể được xem như trọng số của một đầu vào khi tín hiệu bằng 1 Một số loại nơron có khả năng bỏ qua hệ số bias này.
Hàm hoạt hoá, ký hiệu là f, chuyển đổi tín hiệu đầu vào net thành tín hiệu đầu ra nơron a, được biểu diễn qua công thức a=f(nnet)=f(WP+b) Lựa chọn hàm đầu ra thường phụ thuộc vào mục đích thiết kế của mạng nơron Các trọng số và hệ số bias là các tham số điều chỉnh của mạng, được điều chỉnh theo một số luật học Do đó, mối quan hệ giữa đầu ra và đầu vào của nơron sẽ khác nhau tùy vào mục đích sử dụng cụ thể của nơron đó.
2.1.3.2 Cấu trúc mạng nhân tạo
Mạng nơron bao gồm ba loại lớp: lớp vào, lớp ra và các lớp ẩn Trong cấu trúc này, các nơron chỉ kết nối với nơron của lớp kế tiếp, không có liên kết giữa các nơron trong cùng một lớp.
Lớp vào nhận thông tin từ dữ liệu gốc và truyền tín hiệu đến các nơron của lớp ẩn Mỗi nơron trong lớp ẩn nhận tín hiệu từ một số nơron lớp vào, với các giá trị được nhân với trọng số tương ứng Sau đó, tín hiệu này được đưa vào hàm kích hoạt để tạo ra tín hiệu đầu ra của nơron Tín hiệu từ các nơron lớp ẩn tiếp tục được gửi đến lớp tiếp theo, và quá trình này lặp lại cho đến khi tín hiệu được phát ra từ lớp ra, chính là giá trị của các biến cần tìm.
Mạng nơron có thể được tổ chức theo hai kiểu: kiểu liên kết đầy đủ, trong đó đầu ra của các nơron lớp trước kết nối với tất cả nơron ở lớp tiếp theo, và kiểu không đầy đủ, nơi mỗi đầu ra chỉ liên kết với một số nơron của lớp tiếp theo tùy thuộc vào chức năng của mạng.
2.1.3.3 Hàm truyền (Hàm hoạt hoá)
Hàm hoạt hoá trong mạng nơron có thể là hàm tuyến tính hoặc phi tuyến, được lựa chọn để đáp ứng các yêu cầu kỹ thuật của bài toán cần giải quyết Hình 2.4 minh hoạ mối quan hệ giữa tín hiệu đầu vào p và tín hiệu đầu ra a của nơron với hàm kích hoạt Hardlimit.
Hình 2.4 Nơron 1 đầu vào với hàm hoạt hoá là hàm hardlimit
Bảng 2.1 Một số dạng hàm hoạt hóa trong mạng nơron nhân tạo
Tên hàm Quan hệ đầu vào đầu ra
( Symmetrical Hardlimit) a=-1 net