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

báo cáo giữa kỳ giải tích ứng dụng cho cntt

22 2 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

Nội dung

Hàm np.arange để tạo mảng với các giá trị tuần tự...1.2.2 Thư viện SymPy Symbol Python.... PHƯƠNG PHÁP GIẢI BÀI T1.1 Giới thiệu chức năng thư viện1.1.1 Thư viện NumPy Numeric PythonThư v

Trang 1

KHOA CÔNG NGHỆ THÔNG TIN

TRƯƠNG THÀNH ĐẠT - 52300099TRẦN NGỌC HẢI MY - 52300128

BÁO CÁO GIỮA KỲ

GIẢI TÍCH ỨNG DỤNG CHO CNTT

THÀNH PHỐ HỒ CHÍ MINH, NĂM 2023

Trang 2

KHOA CÔNG NGHỆ THÔNG TIN

TRƯƠNG THÀNH ĐẠT - 52300099TRẦN NGỌC HẢI MT - 52300128

BÁO CÁO GIỮA KỲ

GIẢI TÍCH ỨNG DỤNG CHO CNTT

Người hướng dẫn

ThS Phạm Quốc Duy

THÀNH PHỐ HỒ CHÍ MINH, NĂM 2023

Trang 3

LỜI CẢM ƠN

Chúng em xin chân thành cảm ơn tới thầy Phạm Quốc Duy, người đã giảngdạy kiến thức và hướng dẫn em hoàn thành bài tiểu luận này Trong quá trình học tậpvà tìm hiểu môn Giải tích ứng dụng cho Công nghệ thông tin, em đã nhận được rấtnhiều sự quan tâm, giúp đỡ, hướng dẫn tận tình của thầy Thầy đã giúp em tích lũythêm kiến thức về môn học này để có thể hoàn hành được bài tiểu luận về đề tài:

Em đã cố gắng vận dụng những kiến thức đã học được và tìm tòi thêm nhiềuthông tin để hoàn thành bài tiểu luận này Tuy nhiên, do kiến thức còn hạn chế vàkhông có nhiều kinh nghiệm trên thực tiễn nên khó tránh khỏi những thiếu sót trongbài làm Rất kính mong thầy cho em thêm những góp ý để bài tiểu luận của em đượchoàn thiện hơn.

Chúng em cũng xin gửi lời cảm ơn tới các bạn cùng lớp, những người đã giúpđỡ, chia sẻ kiến thức và làm việc nhóm trong quá trình học tập Sự giúp đỡ, đónggóp và tinh thần hợp tác của các bạn đã làm phong phú thêm kinh nghiệm học tập.

Chúng em xin gửi lời cảm ơn chân thành tới tất cả những cá nhân đã hỗ trợtrực tiếp hoặc gián tiếp trong quá trình thực hiện bài báo cáo giữa kì.

Cảm ơn tất cả mọi người vì những đóng góp cho sự phát triển và thành côngtrong học tập của chúng em!

TP Hồ Chí Minh, ngày tháng … năm 20 Tác giả

(Ký tên và ghi rõ họ tên)

Trang 4

CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG

Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi và được sựhướng dẫn khoa học của ThS Phạm Quốc Duy Các nội dung nghiên cứu, kếtquả trong đề tài này là trung thực và chưa công bố dưới bất kỳ hình thức nàotrước đây Những số liệu trong các bảng biểu phục vụ cho việc phân tích, nhậnxét, đánh giá được chính tác giả thu thập từ các nguồn khác nhau có ghi rõtrong phần tài liệu tham khảo.

Ngoài ra, trong Dự án còn sử dụng một số nhận xét, đánh giá cũng nhưsố liệu của các tác giả khác, cơ quan tổ chức khác đều có trích dẫn và chú thíchnguồn gốc

Nếu phát hiện có bất kỳ sự gian lận nào tôi xin hoàn toàn chịu tráchnhiệm về nội dung Dự án của mình Trường Đại học Tôn Đức Thắng không

liên quan đến những vi phạm tác quyền, bản quyền do tôi gây ra trong quá trìnhthực hiện (nếu có).

TP Hồ Chí Minh, ngày … tháng … năm20

Tác giả(Ký tên và ghi rõ họ tên)

Trang 7

MỤC LỤC

DANH MỤC HÌNH VẼ

CHƯƠNG 1 PHƯƠNG PHÁP GIẢI BÀI TÂP

1.1 Giới thiệu chức năng thư viện

1.1.1 Thư viện NumPy (Numeric Python)

1.1.2 Thư viện SymPy (Symbol Python)

1.1.3 Thư viện Matplotlib

1.2 Giới thiệu về các hàm của thư viện

1.2.1 Thư viện NumPy (Numeric Python)

a Hàm np.arange() để tạo mảng với các giá trị tuần tự

1.2.2 Thư viện SymPy (Symbol Python)

a Hàm sp.solve() để giải phương trình đại số ký hiệu

b Hàm sp.symbols() để tạo các biến kí hiệu

1.2.3 Thư viện Matplotlib.python

a Hàm plt.plot() để tạo đồ thị từ phương trình

b Hàm plt.title() để tạo tiêu đề cho đồ thị

c Hàm plt.legend() để thêm chú thích vào đồ thị

d Hàm plt.grid() để tạo lưới cho đồ thị

e Hàm plt.show() để hiển thị đồ thị lên màn hình

1.3 Phương pháp giải bài tập

Trang 8

1.3.1 Câu 1a

1.3.2 Câu 1b

1.3.3 Câu 1c

CHƯƠNG 2 MÃ NGUỒN VÀ KẾT QUẢ ĐẦU RA

2.1 Phần code và kết quả Câu 1a

2.1.1 Phần code Câu 1a

2.1.2 Kết quả Câu 1a

2.2 Phần code và kết quả Câu 1b

Trang 9

DANH MỤC HÌNH VẼ

Hình 2.1: Scaled Dot-Product Attention

Trang 10

DANH MỤC BẢNG BIỂU

Bảng 4.1: Thống kê kiểu thực thể trong tập VLSP 2016

Trang 11

CHƯƠNG 1 PHƯƠNG PHÁP GIẢI BÀI T1.1 Giới thiệu chức năng thư viện

1.1.1 Thư viện NumPy (Numeric Python)

Thư viện NumPy là một thư viện toán học phổ biến và mạnh mẽ của Python.Được phép làm việc hiệu quả với ma trận và mảng, đặc biệt là ma trận và mảng dữliệu với tốc độ xử lý nhanh hơn nhiều lần khi chỉ sử dụng đơn thuần “core Python”.

Cách cài đặt NumPy: Mở Command Prompt và gõ lệnh “pip install numpy”

Hình: Cài đặt thư viện NumPy bằng Command Prompt

Khai báo thư viện: import numpy as np

Hình: Khai báo thư viện NumPy (Numeric Python)

1.1.2 Thư viện SymPy (Symbol Python)

SymPy là một thư viện toán học kí hiệu trong Python Nó cho phép bạn thựchiện các tính toán biểu thức toán học, tính đạo hàm, tích phân, giải phương trình vànhiều tính toán kí hiệu khác

Cách cài đặt thư viện: Mở Command Prompt và gõ lệnh “pip install sympy”

Trang 12

Hình: Cài đặt thư viện SymPy bằng Command Prompt

Khai báo thư viện: import sympy as np

Hình: Khai báo thư viện SymPy (Symbol Python)

1.1.3 Thư viện Matplotlib

Thư viện Matplotlib là một thư viện trực quan hóa mạnh mẽ trong Python,nó cho phép người dùng tạo biểu đồ đường, biểu đồ cột, biểu đồ scatter, biểu đồhình ảnh và nhiều loại biểu đồ khác để trực quan hóa dữ liệu

Cách cài đặt thư viện: Mở Command Prompt và gõ lệnh “pip installmatplotlib”

Hình: Cài đặt thư viện Matplotlib bằng Command Prompt

Khai báo thư viện: import matplotlib.pyplot as plt

Hình: Khai báo thư viện Matplotlib

1.2 Giới thiệu về các hàm của thư viện

1.2.1 Thư viện NumPy (Numeric Python)

Trang 13

a Hàm np.arange () để tạo mảng với các giá trị tuần tự

Hàm np.arange() dùng để tạo một mảng các giá trị tuần tự dựa trên một dãygiá trị

Cú pháp của hàm: np.arange(start, stop, step, dtype=None)

Hình: Cú pháp của hàm np.arangeTrong đó:

- start (tùy chọn): Giá trị bắt đầu của dải giá trị Mặc định là 0 nếukhông được cung cấp

- stop: Giá trị kết thúc của dải giá trị Hàm sẽ tạo ra các giá trị cho đếnstop – 1

- step (tùy chọn): Bước nhảy giữa các giá trị Mặc định là 1 nếu khôngđược cung cấp

- dtype (tùy chọn): Kiểu dữ liệu của các phần tử trong mảng kết quả.Mặc định là None, nghĩa là kiểu dữ liệu sẽ được xác định tự động dựatrên giá trị của start, stop và step

Ví dụ: Tạo một mảng các số chẵn từ 0 đến 18

Hình: Code ví dụ hàm np.arange và output

1.2.2 Thư viện SymPy ( Symbol Python)

a Hàm sp.solve() để giải phương trình đại số kí hiệub Hàm sp.symbols() để tạo các biến kí hiệu

Hàm sp.symbols() dùng để tạo các kí hiệu (symbols) đại diện cho cácbiến và các đối tượng toán học khác trong các biểu thức toán học

Trang 14

Cú pháp của hàm: sp.symbols('symbol_names')

Hình: Cú pháp của hàm sp.symbols()Trong đó:

- Symbol_names: Một chuỗi (string) chứa tên các kí hiệu (symbols)được phân tách bằng dấu phẩy

Ví dụ: Sử dụng hàm sp.symbols ('x, y, z') để tạo các kí hiệu x, y, và z Sau đósử dụng các kí hiệu này trong biểu thức y = x + y + 2*z Kết quả in ra là biểu thứctoán học: x + y + 2*z trong đó các kí hiệu đã được sử dụng

Hình: Code ví dụ hàm sp.symbols và output

1.2.3 Thư viện Matplotlib

a Hàm plt.plot() để tạo đồ thị từ phương trìnhb Hàm plt.title() để tạo tiêu đề cho đồ thịc Hàm plt.legend() để thêm chú thích vào đồ thịd Hàm plt.show() để hiển thị đồ thị lên màn hình

1.3 Phương pháp giải bài tập

Khai báo biến toàn cục “x”Khai báo giá trị a

1.3.1 Câu 1a

Khai báo phương trình f(x) và g(x) theo dạng Sympy

Khai báo intersection là giao điểm của hai phương trình f(x) và g(x)Giải phương trình f(x) = g(x) ta tìm được x1 (intersection[0]), x2(intersection[1])

Trang 15

Khai báo lại phương trình f(x) và g(x) theo dạng lambda

Khai báo x_arr chạy từ -1000 tới 1000 với bước là 0.1 để đồ thị trực quanhơn

Khai báo y_arrfx tương ứng với giá trị x_arr thế vào f(x) Khai báo y_arrgx tương ứng với giá trị x_arr thế vào g(x)In ra màn hình câu lệnh “Intersection point 1:” và giá trị x1, y1

y1 là kết quả sau khi thế giá trị x1 vào phương trình f(x)In ra màn hình câu lệnh “Intersection point 2:” và giá trị x2, y2

y2 là kết quả sau khi thế giá trị x2 vào phương trình g(x)Vẽ đồ thị f(x) màu đỏ và gắn nhãn f(x)

Khai báo phương trình f(x) và f(xm) là phương trình tịnh tiến của f(x)Định nghĩa phương trình tiếp tuyến: y = k * (x – x ) + y0 0

Khai báo fdiff là phương trình đạo hàm của phương trình f(x)Khai báo fdiffsub là giá trị k

Khai báo t, t0 là phương trình tiếp tuyến của f(x)

Khai báo intersection là giao điểm của phương trình t và phương trình f(xm)Khai báo intersectionfx là giao điểm của phương trình t và phương trình f(x)Khai báo lại phương trình f(x), f(xm), t theo dạng lambda

Khai báo x_arr chạy từ -1000 tới 1000 với bước là 0.1 để đồ thị trực quanhơn

Khai báo y_arrfx tương ứng với giá trị x_arr thế vào f(x)

Trang 16

Khai báo y_arrfxm tương ứng với giá trị x_arr thế vào f(xm)Khai báo y_arrt tương ứng với giá trị x_arr thế vào t

In ra màn hình câu lệnh “Equation of the tangent line to the curve f(x) :” vàphương trình t0

In ra màn hình câu lệnh “Intersection point 1:” và giá trị x1, y1y1 là kết quả sau khi thế giá trị x1 vào phương trình tIn ra màn hình câu lệnh “Intersection point 2:” và giá trị x2, y2

y2 là kết quả sau khi thế giá trị x2 vào phương trình t Vẽ đồ thị f(x) màu xanh và gắn nhãn “f(x)”

Vẽ đồ thị f(xm) màu đỏ và gắn nhãn “Shifted f(x)”Vẽ đồ thị t màu cam và gắn nhãn “Tangent line to f(x)”Tạo 2 giao điểm của t và f(xm) hình tròn màu xanhTạo giao điểm của t và f(x) hình tròn màu vàngGhi tiêu đề đồ thị là “Question 1b”

1.3.3 Câu 1c

Khai báo phương trình f(x)

Khai báo phương trình fdiff là phương trình đạo hàm của phương trình f(x)Định nghĩa phương trình tiếp tuyến: y = k * (x – x ) + y0 0

Viết phương trình func bằng cách thế tọa độ điểm (0, -4^3) vào phương trìnhtiếp tuyến của f(x)

Khai báo x0 là hoành độ tiếp điểm của phương trình tiếp tuyếnGiải phương trình func tìm x0

Thế x0[0] vào phương trình f(x) tìm y0Thế x0[1] vào phương trình f(x) tìm y1

Khai báo fdiffsub1 là kết quả sau khi thế x0[0] vào f(x)Khai báo fdiffsub 2 là kết quả sau khi thế x0[1] vào f(x)Khai báo t1 là phương trình tiếp tuyến thứ nhấtKhai báo t2 là phương trình tiếp tuyến thứ haiKhai báo intersection1 là giao điểm của f(x) với t1

Trang 17

Khai báo intersection2 là giao điểm của f(x) với t2

In ra màn hình “Equation of the tangent line 1 to the curve f(x) :” và phươngtrình t1

In ra màn hình “Equation of the tangent line 2 to the curve f(x) :” và phươngtrình t2

Khai báo lại phương trình f(x), t1, t1 theo dạng lambda

Khai báo x_arr chạy từ -1000 tới 1000 với bước là 0.1 để đồ thị trực quanhơn

Khai báo y_arrfx tương ứng với giá trị x_arr thế vào f(x)Khai báo y_arrt1 tương ứng với giá trị x_arr thế vào t1Khai báo y_arrt2 tương ứng với giá trị x_arr thế vào t2Vẽ đồ thị f(x) màu xanh nước biển và gắn nhãn “f(x)”Vẽ đồ thị t1 màu xanh lá cây và gắn nhãn “Tangent line 1”Vẽ đồ thị t2 màu cam và gắn nhãn “Tangent line 2”

Tạo 2 giao điểm của hai phương trình tiếp tuyến t1, t2 của phương trình f(x)là kim cương đỏ

Tạo 1 điểm mà phương trình tiếp tuyến của f(x) đi qua là hình tròn màu xanhlá cây

Ghi tiêu đề là “Question 1c”

Trang 18

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT2.1 Mạng neural hồi quy

2.1.1 Recurrent Neural Network (RNN)

Về mặt toán học, mạng RNN có thể được mô tả như trong công thức (2.1) và(2.2) Công thứ (2.1), xt là vectơ đầu vào tại bước thứ t ht là trạng thái ẩn tại bướcthứ t f là một hàm phi tuyến tính (nonlinear function), thường là hàm tanh hayReLu W là ma trận trọng số cho trạng thái ẩn ở bước trước đó ht −1, U là ma trậntrọng số cho đầu vào Như vậy có thể thấy rằng, trạng thái ẩn ở bước thứ t được tínhdựa trên trạng thái ẩn ở bước trước đó t−1 và dữ liệu đầu vào ở bước hiện tại.

h ft= (W ht−1+U x) (2.1)

yt=softmax (V ht (2.2)Trong công thức (2.2), V là ma trận trọng số cho đầu ra của mạng, yt là mộtphân phối xác suất trên từ điển tại bước thứ t Trạng thái ẩn ht được xem như là bộnhớ của RNN, nó lưu trữ thông tin tính toàn được thực hiện ở các bước trước đó.Không giống như các mạng nơ-ron truyền thống, RNN chia sẽ chung bộ trọng số [

W, U, V] cho tất cả các bước, nghĩa là các phép tính toán sẽ được thực hiện tươngtự nhau cho tất cả các bước lặp chỉ các dữ liệu đầu vào Đây là một ưu điểm củaRNN giúp giảm số lượng tham số cần học cho mô hình.

2.1.2 Long Short-term Memory (LSTM)

Mạng RNN chia sẽ chung một bộ trọng số giữa các bước lặp nên giảm đángkể số lượng tham số, tuy nhiên nó vẫn là một mạng rất sâu Trong quá trình lantruyền ngược (backward), phải thực hiện nhiều bước để có tính được đạo hàm chonhững đầu vào đầu tiên của một chuỗi dữ liệu dài, do đó kết quả đạo hàm thườnglớn hơn hoặc nhỏ hơn 1 đáng kể, dẫn đến giá trị của đạo hàm thường bị bùng nổ(exploding) hoặc mất mát (vanishing) Long Short-term Memory là một biến thể cảitiếng của RNN được đề xuất bởi (Hochreiter & Schmidhuber, 1997) nhằm khắcphục hai vấn đề trên

Trang 19

2.2 Mô hình Transformer

2.2.1 Encoder và Decoder2.2.2 Attention

Attention của mô hình Transformer bao gồm 02 kỹ thuật là Scaled Product Attention và Multi-head Attention.

Dot-2.2.2.1 Scaled Dot-Product Attention

Hình 2.1: Scaled Dot-Product Attention(Nguồn: (Vaswani et al., 2023))

Sẽ có 03 ma trận Q, K và V được sử dụng trong kỹ thuật attention này, tươngứng với các khái niệm query, key và value Các dòng trong trong ma trận Q và K sẽcó kích thước dk, các dòng trong ma trận V sẽ có kích thước dk Các ma trận nàyđược tạo ra từ việc cho vector embedding đầu vào đi qua 03 bộ trọng số WQ, WK và

2.2.2.2 Multi-head Attention

Trang 20

CHƯƠNG 3 MÔ HÌNH ĐỀ XUẤT

CHƯƠNG 4 THỰC NGHIỆM4.1 Dữ liệu thực nghiệm

Dữ liệu trong VLSP-2016 đã được chia sẵn thành hai tập huấn luyện và kiểmthử Thống kê chi tiết của các kiểu thực thể và các tập dữ liệu được mô tả trong

Bảng 4.1.

Bảng 4.1: Thống kê kiểu thực thể trong tập VLSP 2016

Trang 21

CHƯƠNG 5 KẾT LUẬN5.1 Kết luận

5.2 Hướng phát triển

Trang 22

TÀI LIỆU THAM KHẢO

Tiếng Việt…Tiếng Anh

Hochreiter, S., & Schmidhuber, J (1997) Long Short-term Memory NeuralComputation 9, , 1735–1780 https://doi.org/10.1162/neco.1997.9.8.1735

Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A N.,Kaiser, L., & Polosukhin, I (2023) Attention Is All You Need (arXiv:1706.03762).arXiv https://doi.org/10.48550/arXiv.1706.03762

Ngày đăng: 07/05/2024, 21:51

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

TÀI LIỆU LIÊN QUAN

w