1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đề cương chuyên Đề học phần học máy nâng cao Đề ti phương pháp svm Để phân loại tên trẻ em phổ biến

28 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Phương Pháp SVM Để Phân Loại Tên Trẻ Em Phổ Biến
Tác giả Đỗ Văn Tiến, Phạm Xuân Tùng
Người hướng dẫn Vũ Văn Định
Trường học Trường Đại Học Điện Lực
Chuyên ngành Công Nghệ Thông Tin
Thể loại Đề Cương Chuyên Đề
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 28
Dung lượng 3,35 MB

Nội dung

Và gần đây, một thuật ngữ “học máy nâng cao” rất được nhiềungười quan tâm.Thay vì phải code phần mềm với cách thức thủ công theo một bộhướng dẫn cụ thể nhằm hoàn thành một nhiệm vụ đề ra

Trang 1

BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC ĐIỆN LỰC

KHOA CÔNG NGHỆ THÔNG TIN

ĐỀ CƯƠNG CHUYÊN ĐỀ HỌC PHẦN HỌC MÁY NÂNG CAO

ĐỀ TI:

PHƯƠNG PHÁP SVM ĐỂ PHÂN LOẠI TÊN TRẺ EM PHỔ BIẾN

PHẠM XUÂN TỪNG

Trang 2

PHIẾU CHẤM ĐIỂM STT Họ và tên sinh viên Nội dung thực hiện Điểm Chữ ký

Trang 3

LIỆT KÊ CHỮ VIẾT TẮT

CSI Current source Inverters Bộ biến đổi nguồn dòngVSI Voltage source Inverters Bộ biến đổi nguồn áp

Trang 4

MỤC LỤC

LỜI MỞ ĐẦU 1

CHƯƠNG 1 TỔNG QUAN VỀ HỌC MÁY NÂNG CAO 2

1.1 Khái niệm về học máy nâng cao 2

1.1.1 Xu hướng chính trong học máy nâng cao 2

1.1.2 Tại sao cần phải ứng dụng học máy nâng cao 3

1.2 Ứng dụng học máy nâng cao 5

CHƯƠNG 2 PHƯƠNG PHÁP SVM TRONG BI TOÁN PHÂN LOẠI TÊN TRẺ EM PHỔ BIẾN 6

2.1 Tổng quan về phương pháp SVM 6

2.1.1 Phương pháp SVM: 6

2.1.2 Các đặc điểm quan trọng của phương pháp SVM: 6

2.1.3 Cách thức hoạt động của phương pháp SVM 8

2.2 Các bước giải quyết bài toán 10

CHƯƠNG 3 TRIỂN KHAI PHƯƠNG PHÁP SVM VO BI TOÁN TÊN TRẺ EM PHỔ BIẾN 12

3.1 Giới thiệu về pycharm 12

3.1.1 Khái niệm về pycharm 12

3.1.2 Các tính năng của pycharm 12

3.1.3 Cài dặt pycharm 13

3.1.4 Hướng dẫn sử dụng pycharm 17

3.2 Xây dựng thuật toán SVM vào tên trẻ em phổ biến 18

3.2.1 Phát biểu bài toán: 18

3.2.2 Bộ dữ liệu: 19

3.2.3 Tiến hành bài toán: 19

KẾT LUẬN 23

TI LIỆU THAM KHẢO 24

Trang 5

DANH MỤC HÌNH ẢNH

Trang 6

LỜI MỞ ĐẦU

Công nghệ ngày càng phổ biến và không ai có thể phủ nhận được tầm quantrọng và những hiệu quả mà nó đem lại cho cuộc sống chúng ta Bất kỳ trong lĩnhvực nào, sự góp mặt của trí tuệ nhân tạo sẽ giúp con người làm việc và hoàn thànhtốt công việc hơn Và gần đây, một thuật ngữ “học máy nâng cao” rất được nhiềungười quan tâm.Thay vì phải code phần mềm với cách thức thủ công theo một bộhướng dẫn cụ thể nhằm hoàn thành một nhiệm vụ đề ra thì máy tính sẽ tự “học hỏi”bằng cách sử dụng một lượng lớn dữ liệu cùng những thuật toán cho phép nó thựchiện các tác vụ

Đây là một lĩnh vực khoa học tuy không mới, nhưng cho thấy lĩnh vực trí tuệnhân tạo đang ngày càng phát triển và có thể tiến xa hơn trong tương lai Đồngthời,thời điểm này nó được xem là một lĩnh vực “nóng” và dành rất nhiều mối quantâm để phát triển nó một cách mạnh mẽ, bùng nổ hơn

Những điều trên được hiểu là nó có thể thực hiện tự động, nhanh chóng để tạo

ra những mô hình cho phép phân tích các dữ liệu có quy mô lớn hơn và phức tạp hơnđồng thời đưa ra những kết quả một cách nhanh và chính xác hơn

Chính sự hiệu quả trong công việc và các lợi ích vượt bậc mà nó đem lại chochúngta khiến học máy nâng cao ngày càng được chú trọng và quan tâm nhiều hơn

Vì vậy chúng em đã chọn đề tài “Sử dụng phương pháp SVM để phân loại tên trẻ

em phổ biến” để làm báo cáo

Chúng em xin chân thành gửi lời cảm ơn tới các thầy cô giáo trong Trường Đạihọc Điện Lực nói chung và các thầy cô giáo trong Khoa Công nghệ thông tin nóiriêng đã tận tình giảng dạy, truyền đạt cho chúng em những kiến thức cũng như kinhnghiệm quý báu trong suốt quá trình học Đặc biệt, em gửi lời cảm ơn đến thầy VũVăn Định đã tận tình theo sát giúp đỡ, trực tiếp chỉ bảo, hướng dẫn trong suốt quátrình nghiên cứu và học tập của chúng em

Trang 7

CHƯƠNG 1 TỔNG QUAN VỀ HỌC MÁY NÂNG CAO

1.1 Khái niệm về học máy nâng cao

Học máy nâng cao là một nhánh của học máy tập trung vào việc phát triển cácthuật toán và mô hình học máy mới, tiên tiến hơn Học máy nâng cao thường được

sử dụng để giải quyết các vấn đề khó khăn hoặc phức tạp mà các phương pháp họcmáy truyền thống không thể xử lý

1.1.1Xu hướng chính trong học máy nâng cao

Máy học sâu: Máy học sâu sử dụng các mạng nơ-ron nhân tạo để học các mối

quan hệ phức tạp giữa các dữ liệu Máy học sâu đã được áp dụng thành côngtrong nhiều lĩnh vực khác nhau, bao gồm nhận dạng hình ảnh, xử lý ngôn ngữ

tự nhiên và dịch máy

Hình 1: máy học sâu

Trang 8

Học máy tăng cường: Học máy tăng cường sử dụng các thuật toán để học cách

thực hiện các hành động trong môi trường để đạt được mục tiêu mong muốn.Học máy tăng cường đã được áp dụng thành công trong các lĩnh vực như chơigame, điều khiển robot và tự lái xe

Hình 2: Học máy tang cường

Học máy tích hợp: Học máy tích hợp kết hợp các kỹ thuật học máy khác nhau

để tạo ra các mô hình học máy hiệu quả hơn Học máy tích hợp đã được ápdụng thành công trong các lĩnh vực như phát hiện gian lận, phân tích thị trường

và y học

1.1.2Tại sao cần phải ứng dụng học máy nâng cao

Ứng dụng học máy nâng cao (Advanced Machine Learning) đóng vai trò quantrọng trong nhiều lĩnh vực khác nhau vì nó cung cấp khả năng giải quyết các vấn đềphức tạp và đưa ra dự đoán chính xác hơn Dưới đây là một số lý do tại sao cần phảiứng dụng học máy nâng cao:

Xử lý dữ liệu lớn và phức tạp: Trong nhiều trường hợp, dữ liệu thu thập

được không chỉ lớn mà còn phức tạp Học máy nâng cao cung cấp các kỹthuật và mô hình phức tạp hơn có khả năng xử lý các tập dữ liệu lớn vàphức tạp hơn

Khả năng học từ dữ liệu không cấu trúc: Trong thế giới thực, nhiều dữ

liệu không được cấu trúc hoặc không có dạng số học truyền thống Họcmáy nâng cao cung cấp các phương pháp như học sâu (deep learning) cóthể học từ dữ liệu hình ảnh, âm thanh, văn bản và nhiều loại dữ liệu khác

Trang 9

Giải quyết vấn đề phân loại và nhận diện: Trong các bài toán phân loại và

nhận diện, học máy nâng cao thường dẫn đến kết quả tốt hơn Ví dụ, trong nhậndiện văn bản từ hình ảnh (OCR), sử dụng mạng nơ-ron sâu có thể cung cấp kếtquả chính xác hơn so với các phương pháp truyền thống

Học sâu trong thị giác máy: Học sâu (deep learning) đã mang lại những tiến

bộ đáng kể trong các lĩnh vực như nhận diện vật thể, nhận diện khuôn mặt, xử

lý hình ảnh y tế và nhiều ứng dụng khác

Xử lý ngôn ngữ tự nhiên (NLP) phức tạp: Học máy nâng cao đóng vai trò

quan trọng trong việc phân tích, dịch, và tạo ra văn bản tự nhiên, cung cấp khảnăng hiểu rõ nghĩa của ngôn ngữ tự nhiên

Tăng tính tổ chức và khả năng tìm kiếm thông tin: Học máy nâng cao giúp

xây dựng các hệ thống tổ chức thông tin, tìm kiếm thông tin hiệu quả, và đưa racác đề xuất tùy chỉnh

Tối ưu hóa quy trình công nghiệp: Trong các ngành công nghiệp như sản

xuất, y tế, tài chính, học máy nâng cao có thể được áp dụng để tối ưu hóa cácquy trình và tăng cường hiệu suất

Dự báo và tiên đoán: Các mô hình học máy nâng cao thường có khả năng dự

đoán tốt hơn, giúp trong việc đưa ra quyết định dựa trên thông tin dự báo chínhxác

Trang 10

1.2 Ứng dụng học máy nâng cao

Nhiều hoạt động hàng ngày của chúng ta được trợ giúp bởi các thuật toán baogồm:

Trong y tế: xác định bệnh lý của người bệnh mới dựa trên dữ liệu lịch sử của

các bệnh nhân có cùng bệnh lý có cùng các đặc điểm đã được chữa khỏitrước đây, hay xác định loại thuốc phù hợp

Trong lĩnh vực ngân hàng: xác định khả năng khách hàng chậm trả các khoảnvay

hoặc rủi ro tín dụng do nợ xấu dựa trên phân tích Credit score; xác định xemliệu các giao dịch có hành vi phạm tội, lừa đảo hay không

Trong giáo dục: phân loại các học sinh theo hoàn cảnh, học lực để xem

xemcần hỗ trợ gì cho những học sinh ví dụ như hoàn cảnh sống khó khănnhưng học lực lại tốt

Trong thương mại điện tử: phân loại khách hàng theo sở thích cụ thể để hỗ

trợ personalized marketing hay xây dựng hệ thống khuyến nghị, dựa trên dữ liệu từwebsite, social media

Trong kinh tế nói chung: giúp dự báo các sự kiện kinh tế trong tương lai,dự

báo tình hình thời tiết trong nông nghiệp, xác định xu hướng thịtrườngchứng khoán để lên kế hoạch đầu tư thích hợp

Trang 11

CHƯƠNG 2 PHƯƠNG PHÁP SVM TRONG BI TOÁN PHÂN LOẠI TÊN TRẺ EM

Hình:

Support Vectors hiểu một cách đơn giản là các đối tượng trên đồ thị tọa độ quan sát,Support Vector Machine là một biên giới để chia hai lớp tốt nhất

2.1.2Các đặc điểm quan trọng của phương pháp SVM:

Ranh giới quyết định (Decision Boundary): SVM tìm ra ranh giới quyết

định (hyperplane) tốt nhất để phân tách các lớp dữ liệu Ranh giới này đượcchọn sao cho khoảng cách từ các điểm dữ liệu gần nhất (các vector hỗ trợ) tớiranh giới là lớn nhất

Trang 12

Hàm mất mát (Loss Function): SVM sử dụng hàm mất mát, thường được gọi là

hàm mất mát Hinge, để đánh giá hiệu suất của ranh giới quyết định Mục tiêu củaSVM là tối thiểu hóa hàm mất mát, trong đó các sai sót phân loại bị phạt nặng

Hỗ trợ Vector (Support Vectors): Các điểm dữ liệu gần nhất đến ranh giới quyết

định được gọi là các vector hỗ trợ Chúng có vai trò quan trọng trong quá trình xácđịnh ranh giới tối ưu

Kernel Trick: SVM cho phép sử dụng kernel trick để biến đổi không gian dữ liệu,

từ đó tạo ra các ranh giới phi tuyến tính Điều này giúp SVM xử lý hiệu quả cácbài toán phân loại phức tạp hơn

Phân loại đa lớp: SVM ban đầu được phát triển cho bài toán phân loại hai lớp

(binary classification), nhưng nó có thể mở rộng để xử lý phân loại đa lớp Một số

kỹ thuật cho phân loại đa lớp bao gồm One-vs-All (OvA) và One-vs-One (OvO)

Regularization (Chế tạo mô hình): SVM hỗ trợ sự kiểm soát sự phức tạp của mô

hình thông qua tham số C Tham số này điều chỉnh mức độ phạt sai sót phân loạitrên tập huấn luyện Giá trị C lớn sẽ tạo ra một mô hình nghiêm ngặt, trong khi Cnhỏ hơn cho phép mô hình chấp nhận một số sai sót

SVM trong học sâu: Mô hình mạng nơ-ron sâu (deep neural networks) đã trở nên

phổ biến hơn, nhưng SVM vẫn có vai trò trong một số ứng dụng cụ thể Các môhình SVM sử dụng trong học sâu thường gọi là Support Vector Machines for DeepLearning (SVM-DL) và kết hợp các đặc điểm của SVM với khả năng học sâu

Phân loại không tuyến tính: SVM có thể sử dụng các hàm kernel như hàm đa

thức, hàm Radial Basis Function (RBF), hoặc hàm Sigmoid để xử lý phân loạikhông tuyến tính Nhờ đó, nó có thể phân loại dữ liệu không thể được phân chiabằng ranh giới tuyến tính

Trang 13

2.1.3 Cách thức hoạt động của phương pháp SVM

- Identify the right hyper-plane (Scenario-1):

Ở đây, có 3 đường hyper-lane (A, B and C) Bây giờ đường nào là hyper-lane đúngcho nhóm ngôi sao và hình tròn

Hình:

Quy tắc số một để chọn 1 hyper-lane, chọn một hyper-plane để phân chia hai lớp tốtnhất Trong ví dụ này chính là đường B

- identify the right hyper-plane (Scenario-2):

Ở đây chúng ta cũng có 3 đường hyper-plane (A, B và C), theo quy tắc số 1, chúngđều thỏa mãn

Trang 14

Quy tắc thứ hai chính là xác định khoảng cách lớn nhất từ điểu gần nhất của mộtlớp nào đó đến đường hyper-plane Khoảng cách này được gọi là "Margin", hãynhìn hình bên dưới, trong đấy có thể nhìn thấy khoảng cách margin lớn nhất đấy làđường C Cần nhớ nếu chọn lầm hyper-lane có margin thấp hơn thì sau này khi dữliệu tăng lên thì sẽ sinh ra nguy cơ cao về việc xác định nhầm lớp cho dữ liệu

- Identify the right hyper-plane (Scenario-3):

Sử dụng các nguyên tắc đã nêu trên để chọn ra hyper-plane cho trường hợp sau:

Hình:

Trang 15

Có thể có một vài người sẽ chọn đường B bởi vì nó có margin cao hơn đường A,nhưng đấy sẽ không đúng bởi vì nguyên tắc đầu tiên sẽ là nguyên tắc số 1, chúng tacần chọn hyper-plane để phân chia các lớp thành riêng biệt Vì vậy đường A mới làlựa chọn chính xác.

- Can we classify two classes (Scenario-4):

Tiếp theo hãy xem hình bên dưới, không thể chia thành hai lớp riêng biệt với 1đường thẳng, để tạo 1 phần chỉ có các ngôi sao và một vùng chỉ chứa các điểm tròn

Hình:

Ở đây sẽ chấp nhận, một ngôi sao ở bên ngoài cuối được xem như một ngôi saophía ngoài hơn, SVM có tính năng cho phép bỏ qua các ngoại lệ và tìm ra hyper-plane có biên giới tối đa Do đó có thể nói, SVM có khả năng mạnh trong việc chấpnhận ngoại lệ

Trang 16

2.2 Các bước giải quyết bài toán

B1: Thu thập dữ liệu

Dữ liệu có thể được tham khảo từ các nguồn để làm thành file csv ví dụ như:

 Các trang web đăng kí

 Các cơ sở giáo dục

B2: Chuẩn bị dữ liệu:

Sau khi thu thập dữ liệu, cần chuẩn bị dữ liệu để phù hợp với việc sử dụng phươngpháp SVM Dữ liệu cần được chuyển đổi thành dạng vector đặc trưng Các đặc trưngthường được sử dụng để phân loại tên trẻ em phổ biến bao gồm:

 Số lượng ký tự trong tên

 Số lượng nguyên âm trong tên

 Số lượng phụ âm trong tên

 Tần suất xuất hiện của các chữ cái trong tên

B3: Sử dụng PCA:

Tiếp theo, sử dụng PCA để giảm chiều dữ liệu PCA là một kỹ thuật giảm chiều dữliệu bằng cách chuyển đổi dữ liệu từ không gian có chiều cao sang không gian cóchiều thấp hơn Điều này giúp giảm số lượng đặc trưng cần thiết để phân loại tên trẻem

B4: Huấn luyện phương pháp SVM:

Sau khi dữ liệu đã được giảm chiều, cần huấn luyện phương pháp SVM trên dữliệu đã được chuẩn bị Phương pháp SVM sẽ học cách phân loại các tên trẻ emthành các nhóm phổ biến

Trang 17

CHƯƠNG 3 TRIỂN KHAI PHƯƠNG PHÁP SVM VO BI TOÁN TÊN TRẺ EM PHỔ

BIẾN

3.1 Giới thiệu về pycharm

3.1.1Khái niệm về pycharm

Pycharm là một nền tảng kết kết hợp được JetBrains phát triển như một IDE(Môi trường phát triển tích hợp) để phát triển các ứng dụng cho lập trình trongPython Một số ứng dụng lớn như Tweeter, Facebook, Amazon và Pinterest sửdụng Pycharm để làm IDE Python của họ

3.1.2Các tính năng của pycharm

Pycharm có thể chạy trên Windows, Linux, hoặc Mac OS Ngoài ra, nó cũngchứacác Mô đun và các gói giúp các lập trình viên phát triển phần mềm bằng Pythontrong thời gian ngắn với ít công sức hơn Hơn nữa, nó cũng có khả năng tùy chỉnhtheo yêu cầu của nhà phát triển

Khi cài đặt Pycharm, LTV có thể sử dụng một số tính năng sau:

- Giúp các lập trình viên viết mã chất lượng cao

- Xác định lỗi một cách dễ dàng

- Cung cấp tính năng tự động hoàn thiện và hướng dẫn hoàn thiện mã

Trang 18

- Giúp các nhà phát triển trong việc chỉnh sửa và nâng cao mã với ít nỗ lực và thời gian hơn

- Với việc điều hướng mã, nhà phát triển có thể dễ dàng điều hướng một lớp, hàm hoặc tệp

- LTV có thể xác định vị trí của một phần tử, một ký hiệu hoặc một biến

trong mã nguồn trong thời gian ngắn khi sử dụng Pycharm

- Bằng việc sử dụng chế độ thấu kính, nhà phát triển có thể kiểm tra và gỡ lỗi toàn bộ mã nguồn

- Tái cấu trúc trong Pycharm cho phép các nhà phát triển cải thiện cấu trúc bêntrong mà không thay đổi hiệu suất bên ngoài của mã

- Nó cũng cho phép phân chia các lớp với các chức năng mở rộng hơn

3.1.3 Cài dặt pycharm

Cài đặt Pycharm vô cùng đơn giản

B1: Bạn truy cập vào link sau: www.jetbeans.com

Hình:

Có hai phiên bản: Chuyên nghiệp và Cộng đồng Phiên bản cộng đồng là mã nguồn

mở miễn phí trong khi phiên bản Chuyên nghiệp là phiên bản yêu cầu trả phí Bạn

có thể tùy chọn cài đặt Pycharm dựa theo nhu cầu của bạn

Trang 19

B2: Tải xuống phiên bản cộng đồng Nếu muốn làm việc với phiên bản Pro, thì bạn cần tải và dung thử có hạn.

B3: Tệp tải xuống sẽ nằm trong mục bạn tải, nhấn vào tệp để cài đặt pycharm

B4: Khi cửa sổ sau hiện, nhấn vào tiếp theo và quá trình cài đặt sẽ được bắt đầu

Hình:

B5: Sau khi nhấn vào Next, đầu tiên sẽ xuất hiện cửa sổ thiết lập vị trí cài đặt.Lưu ý : Bạn có thể chọn một thư mục cho vị trí cài đặt hoặc giữ lại đường dẫnmặc định

B6: Trong bước tiếp theo, bạn có thể đặt Installation Options theo yêu cầu, sauđónhấp vào nút Next để tiếp tục

Trang 20

B8: Sau các bước này, bạn bấm vào nút Install như trên để bắt đầu quá trìnhcài đặt.

Hình:

B9: Khi bạn nhấp vào nút Kết thúc, quá trình cài đặt PyCharm của bạn đã hoàn tất

Hình:

Ngày đăng: 20/01/2025, 14:09

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN