bao cao mo hinh alll

81
LI CM ƠN Trước tiên, em xin bày tlòng biết ơn ti thy giáo TS. Ngô Hu Phúc người đã tng bước hướng dn, giúp đỡ em trong quá trình thc tp và hoàn thin đồ án tt nghip. Em xin chân thành cm ơn các thy cô giáo khoa công nghthông tin ca trường Hc Vin KThut Quân Sđã dìu dt, dy dem cvkiến thc chuyên môn và tinh thn hc tp độc lp, sáng to để em có được nhng kiến thc thc hin đề tài tt nghip ca mình. Cui cùng xin bày tlòng biết ơn sâu sc ca mình ti gia đình, bn bè - nhng người luôn sát cánh bên em, to mi điu kin tt nht để em có ththc hin đề tài tt nghip ca mình. Trong quá trình thc tp tt nghip, mc dù đã cgng hết sc tuy nhiên do thi gian và khnăng có hn nên em không thtránh khi nhng thiếu sót. Vì vy, em rt mong các thy cô giáo góp ý và giúp đỡ cho em hoàn thành đồ án tt nghip này. Mt ln na em xin chân thành cm ơn!  Hà Ni, ngày 1 tháng 4 năm 2009  SINHVIÊN  Nguyn Xuân Trng Trang 1

Upload: luu-minh-hoang

Post on 05-Apr-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 1/81

LỜI CẢM ƠN

Trước tiên, em xin bày tỏ lòng biết ơn tới thầy giáo TS. Ngô Hữu Phúc người

đã từng bước hướng dẫn, giúp đỡ em trong quá trình thực tập và hoàn thiện đồ án tốt

nghiệp.

Em xin chân thành cảm ơn các thầy cô giáo khoa công nghệ thông tin của

trường Học Viện Kỹ Thuật Quân Sự đã dìu dắt, dạy dỗ em cả về kiến thức chuyên

môn và tinh thần học tập độc lập, sáng tạo để em có được những kiến thức thực hiện

đề tài tốt nghiệp của mình.

Cuối cùng xin bày tỏ lòng biết ơn sâu sắc của mình tới gia đình, bạn bè - những

người luôn sát cánh bên em, tạo mọi điệu kiện tốt nhất để em có thể thực hiện đề tài

tốt nghiệp của mình.

Trong quá trình thực tập tốt nghiệp, mặc dù đã cố gắng hết sức tuy nhiên do thời

gian và khả năng có hạn nên em không thể tránh khỏi những thiếu sót. Vì vậy, em rất

mong các thầy cô giáo góp ý và giúp đỡ cho em hoàn thành đồ án tốt nghiệp này.

Một lần nữa em xin chân thành cảm ơn!

  Hà Nội, ngày 1 tháng 4 năm 2009

  SINHVIÊN

 

Nguyễn Xuân Trọng

Trang 1

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 2/81

MỤC LỤC

Trang 2

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 3/81

DANH MỤC HÌNH SỬ DỤNG TRONG ĐỀ TÀI

Hình 1.1: Mô hình tiến trình nghiệp vụ hệ thống “Quản lý bán sách”....................................18Hình 2.1: Sơ đồ phân cấp chức năng hệ thống “Quản lý bán sách”........................................19

Hình 2.2: Sơ đồ luồng dữ liệu mức khung cảnh hệ thống “Quản lý bán sách”........................20

Hình 2.3: Sơ đồ luồng dữ liệu mức 1 hệ thống “Quản lý bán sách”.......................................21

Hình 2.4: Sơ đồ luồng dữ liệu mức 2 chức năng “Đặt hàng”...................................................22

Hình 2.5: Sơ đồ luồng dữ liệu mức 2 chức năng “Quản lý kho”............................................23

Hình 2.6: Sơ đồ luồng dữ liệu mức 2 chức năng “Bán hàng và thu ngân”.............................24Hình 2.7: Mô hình thực thể mở rộng hệ thống “Quản lý bán sách”.........................................28

Hình 2.8: Mô hình thực thể quan hệ của hệ thống “Quản lý bán sách”..................................32

Hình 3.1: Menu hệ thống “Quản lý bán sách và tối ưu quá trình xuất nhập sách”.................39

Hình 3.2: Chức năng cập nhật sách..........................................................................................40

Hình 3.3: Form cập nhật sách...................................................................................................40

Hình 3.2: Mô hình dữ liệu hệ thống “Quản lý bán sách”........................................................46

Hình 4.1: Đơn vị xử lý (Processing Unit)...............................................................................51

Hình 4.2: Hàm dạng dấu..........................................................................................................52

Hình 4.3: Hàm bước nhị phân.................................................................................................53

Hình 4.4: Hàm sigmoid...........................................................................................................53

Hình 4.5: Mạng nơron truyền thẳng nhiều lớp........................................................................54

Hình 4.6: Mạng hồi quy..........................................................................................................54

Hình 4.7: Mạng truyền thẳng nhiều lớp..................................................................................58

Trang 3

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 4/81

Trang 4

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 5/81

TỔNG QUAN

I. GIỚI THIỆU NHÀ SÁCH CÓ HỆ THỐNG CẦN XÂY DỰNG

Chúng ta đang sống trong kỷ nguyên của sự bùng nổ công nghệ thông tin, của

nền kinh tế tri thức, của sự hội nhập kinh tế quốc tê xâu rộng. Công nghệ được áp

dụng trong mọi lĩnh vực thuộc mọi ngành nghề khác nhau. Nhu cầu trau dồi tri thức là

một tất yếu ngày càng được xã hội quan tâm. Người đọc có thể tìm thấy những kiến

thức mình cần qua thư viện điện tử khổng lồ Internet, sách điện tử, nhưng văn hóa đọc

sách In vẫn không mất đi do sự tiện lợi của nó, nhu cầu đọc sách của mọi tầng lớp

nhân dân ngày càng tăng. Nắm bắt được xu thế đó, Nhà sách sách tự chọn đã cung cấp

nhiều danh mục sách từ bậc tiểu học đến cao học, tài liệu phục vụ nghiên cứu trong

mọi lĩnh vực. Không chỉ là tài liệu trong nước mà còn có sách bản quyền của các nhà

xuất bản nước ngoài.

Đối tượng phục vụ của nhà sách khá đa dạng từ học sinh, sinh viên, giáo viên,

các bác nông dân. Ngoài ra, nhà sách còn cung cấp tài liệu nghiên cứu cho các trường

học, trường đại học, các viện, trung tâm nghiên cứu và các đại lý sách ở các tỉnh lân

cận.

Là một doanh nghiệp kinh doanh, vấn đề sắp xếp hợp lý nguồn nhân lực đã

giúp nhà sách hoạt động kinh doanh một cách có hiệu quả, đáp ứng các nhu cầu giao

dịch ngày càng tăng của bạn đọc gần xa. Cơ cấu tổ chức của nhà sách được mô tả qua

sơ đồ dưới đây:

Ban giám đóc

Bộ phận đặt hàng Bộ phận thu ngân Bộ phận kế toánBộ phận bán hàng Bộ phận thủ kho

Ban giám đốc: là người trực tiếp điều hành việc kinh doanh, bán hàng cũng

như quản lý các bộ phận của nhà sách.

Bộ phận đặt hàng: làm nhiệm vụ tìm kiếm, đàm phán ký hợp đồng cung cấp

sách từ các nhà xuất bản trong và ngoài nước.

Trang 5

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 6/81

Bộ phận bán hàng: hướng dẫn khách hàng mua được sách cần mua, tư vấn

cho khách về sách, tài liệu trong mọi lĩnh vực mà khách hàng có nhu cầu.

Bộ phận thu ngân: có nhiệm vụ thanh toán tiền và in hóa đơn cho khách hàng,

đồng thời lưu toàn bộ thông tin những mặt hàng bán ra và hóa đơn thanh toán tiền củakhách hàng trong ngày vào máy tính.

Bộ phận kế toán: nhiệu vụ thực hiện các công việc nghiệp vụ về tài chính như

thanh toán trong nước và quốc tế, quản lý thu chi, hạch toán.

Bộ phận thủ kho: làm nhiệm vụ thống kê các mặt hàng nhập xuất, tồn kho.

II. PHÁT BIỂU BÀI TOÁN

 Như nói ở trên, số lượng giao dịch với khách hàng của nhà sách ngày càng

tăng, nhà sách cũng đã trang bị hệ thống máy tính với cấu hình đủ mạnh, nhằm nâng

cao hiệu quả trong kinh doanh, tạo sự thuận lợi trong giao dịch với khách hàng, nhưng

 bên cạch đó trên máy tính các bộ phận của nhà sách sử dụng các hệ chương trình hoạt

động độc lập chưa có sự kết nối gây ra một số khó khăn:

Các bộ phận cập nhật dữ liệu trên các hệ chương trình riêng của bộ phận mình

dẫn tới dữ liệu thiếu đông bộ hoặc được cập nhật chậm gây ra sự phụ thuộc,

chậm trễ, có nhiều sai sót.

Dữ liệu của hệ thống không được chuẩn hóa, nằm trên nhiều file khác nhau gây

lên sự dư thừa thông tin làm cho công việc thống kê cuối ngày gặp rất nhiều

khó khăn.

Khối lượng dữ liệu ngày càng lớn làm mất nhiều thời gian cho quá trình tìm

kiếm, tổng hợp báo cáo, không đáp ứng được số lượng giao dịch ngày càng

tăng lên của nhà sách.

Hiện tại, hệ thống chưa có cơ chế bảo mật, an toàn thông tin đến từng nhânviên và các bộ phận.

Bên cạnh đó, hệ thống hiện tại mới chỉ đáp ứng nhu cầu quản lý thuần túy

chưa giúp nhiều cho quá trình lập kế hoạch kinh doanh dẫn tới tình trạng nhà

sách vẫn còn tồn kho nhiều sách không bán được, hoặc nhà sách muốn kinh

doanh lọai sách khác nhưng không thể tính trước được mức độ rủi do, cũng như

lợi nhuận thu được, dẫn tới sự thích nghi với thị trường chậm làm mất đi cơ hội

kinh doanh.

Trang 6 

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 7/81

III. CHỦNG LOẠI SÁCH CẦN QUAN TÂM

Trong quá trình khảo sát tìm hiểu các chủng loại sách được kinh doanh tại nhà

sách cho bài toán dự báo kinh tế, chúng ta có thể chia làm 2 nhóm:

 Nhóm sách kinh doanh truyền thống (mặt hàng tạo nên thương hiệu của doanh

nghiệp), nhóm này được kinh doanh tương đối ổn định tuy rằng lợi nhuận tại

một thời điểm có thể rất thấp. Do đó, nhóm sách này sẽ không nằm trong phạm

vi được xét của bài toán dự báo kinh tế.

 Nhóm sách chịu ảnh hưởng của thời vụ, chu kỳ, và một số yếu tố khác. Qua

 phân tích dữ liệu thống kê của nhà sách cho thấy một số nhóm sách sau đây

chịu tác động của đặc tính thời vụ chu kỳ:

+ Sách giáo khoa các cấp học

+ Giáo trình cho sinh viên

+ Sách thiếu nhi

+ Khoa học đời sống

+ Khoa học kỹ thuật

+ Sách công nghệ thông tin, điện tử viễn thông

+ Sách ngoại ngữ (tiếng anh, giáo trình ôn thi chứng chỉ quốc tế IELST,…)

+ Sách bản quyền nước ngoài (truyện, sách khoa học kỹ thuật, sách luyện thi

chứng chỉ IT)

Lợi nhuận thu được từ nhóm sách này là rất lớn nhưng cũng tiềm ẩn rất nhiều

rủi ro. Vậy bài toán đặt ra là phải dự báo được khoảng thời gian kinh doanh tốt nhất

của mùa vụ diễn ra trong bao lâu cùng với số lượng có thể bán được, nó giúp cho việc

tính toán thời gian hoàn lại vốn đầu tư với lợi nhuận thu về so với chi phí kinh doanhđầu tư ra.

Trong kinh doanh ngoài nguồn vồn tự có của mình, doanh nghiệp sử dụng

nguồn vốn vay từ các ngân hàng thương mại. Vậy thì làm sao để cân đối được lãi suất

tiền vay với lợi nhuận từ việc kinh doanh từ nguồn vốn vay. Hoặc khi lãi suất ngân

hàng tăng, có nên chăng dành ngồn vốn tự có để đầu tư nhập hàng hay gửi ngân hàng

để có được lợi nhuận cao hơn.

Trang 7 

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 8/81

IV. CÁC THAM SỐ ẢNH HƯỞNG TỚI KINH DOANH SÁCH

 Như đã trình bày ở phần trên, mỗi chủng loại sách phát hiện ở trên chịu tác

động của các yếu tố như:

a. Thời điểm:

+ Đầu năm mới: lượng sách bán ra kéo dài khoảng 1 tháng âm lịch.

+ Kỳ nghỉ hè: thời gian bán ra kéo dài khoảng 2 – 3 tháng.

+ Tết thiếu nhi: thường kéo dài trong khoảng 1 tuần.

+ Đầu năm học: kéo dài trong khoảng 2 tháng trước khi bước vào năm học

mới.

b. Giá cả:

+ Chỉ số giá tiêu dùng tăng, người dân phải cân nhắc tới túi tiền của mình làm

cho nhu cầu sử dụng sách giảm xuống. Bên cạnh đó, giá sách đầu vào tăng

làm giảm lợi nhuận.

c. Tình trạng xã hội:

+ Cải cách sách giáo khoa, nhu cầu sách cho bậc học được cải cách sẽ tăng,

vậy thì phải nhập bao nhiêu cho loại sách có tính mùa vụ này.

d. Tỉ giá ngoại tệ:

+ Biến động của USD ảnh hưởng tới những loại sách được nhập khẩu từ các

nhà xuất bản nước ngoài. Nếu nhập sách vào thời điểm đồng ngoại tệ quá

cao sẽ làm giảm lợi nhuận so với số lượng sách mà thị trường đang cần.

+ Lãi suất ngân hàng, nếu lãi suất vay vồn tăng dẫn tới tăng chi phí đầu vào sẽ

làm giảm lợi nhuận kinh doanh.

V. MỤC TIÊU HỆ THỐNG MỚI ĐẠT ĐƯỢC

Để tạo nên sự thống nhất và đồng bộ dữ liệu giữa các bộ phận, hệ thống mới sử

dụng cơ sở dữ liệu quan hệ và mô hình dữ liệu phân tán trên nền tảng công

nghệ client server mà hệ quản trị cơ sở dữ liệu ở đây là SQL Server 2005.

Việc truy cập để lấy thông tin phải nhanh chóng và có thể thực hiện vào bất kỳ

thời điểm nào khi có yêu cầu. Người sử dụng tùy theo chức năng nhiệm vụ

được cung cấp thông tin đủ cho công việc của mình.

Trang 8

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 9/81

Tạo ra các dạng dữ liệu chuẩn, được kiểm tra tự động khi cập nhật, việc này sẽ

giúp cho những bộ phận khác nhau khi sử dụng hệ thống có thể chủ động công

việc của mình tạo độ tin cậy cao của dữ liệu, tránh phụ thuộc vào các bộ phận

khác.

Sách được phân loại theo nhiều cấp khác nhau tùy vào từng lĩnh vực mà có sự

 phân cấp hợp lý để giúp cho quá trình quản lý, tìm kiếm, thống kê được dễ

dàng.

Lập hóa đơn thanh toán cho khách hàng phải chính xác, đầy đủ thông tin cần

thiết, dễ hiểu dễ kiểm tra, thuận tiện trong khi lập, kiểm soát được quá trình

nhận tiền và trả lại tiền thừa cho khách.

Do hệ thống xây dựng cho môi trường đa người dùng nên vấn đề bảo mật, antoàn hệ thống được thiết kế phù hợp với nhiệm vụ công việc của từng người,

từng bộ phận. Tránh được các rủi ro từ bên ngoài tác động lên hệ thống.

Hệ thống báo cáo, thống kê được xây dựng theo các mẫu biểu có sẵn của nhà

sách.

Phần tìm kiếm, tra cứu có nhiều lựa chọn tạo nên sự nhanh chóng tiện lợi trong

hoạt động tìm kiếm.

Quản lý kho một cách đơn giản, báo cáo chính xác, nhanh chóng khi có yêu

cầu.

Quản lý sách trên quầy nhanh chóng chính xác. Thống kê trong ngày những

loại sách được bán từ quầy và nhập lên quầy từ kho, dùng để đối chiếu để

 phòng việc mất mát sách trên quầy.

Để nâng cao công tác lập kế hoạch, hệ thống dựa trên những dữ liệu chuẩn hóa

xây dựng các dự báo lượng hàng bán ra nhằm đem lại hiệu quả trong hoạt động

kinh doanh, giảm thiểu rủi do, tăng khả năng cạnh tranh cho doanh nghiệp.

Hệ thống phải đảm bảo sự thuận tiện, với các giao diện thân thiệt, dễ sử dụng,

có những chỉ dẫn phù hợp.

Trang 9

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 10/81

CHƯƠNG I: KHẢO SÁT HỆ THỐNG

I. Khảo sát sơ bộ

Hệ thống quản lý sách và tối ưu trong quá trình xuất nhập sách cho Nhà sách.

Hệ thống mang lại sự tiện lợi, chính xác, chuyên nghiệp cho quá trình quản lý bán

sách. Đồng thời cũng trợ giúp cho việc tối ưu hóa trong quá trình nhập xuất sách,

giảm thiểu rủi do, nâng cao hiệu quả kinh doanh.

1. Nhiệm vụ cơ bảnKhi có nhu cầu nhập sách, bộ phận đặt hàng liên hệ và gửi đơn hàng tới nhà

xuất bản. Sách chuyển từ Nhà xuất bản được bộ phận thủ kho kiểm tra, nhận và quản

lý. Bộ phận bán hàng có nhiệm vụ lập bản dự trù, nhận phiếu phát sách đưa lên quầy,

quản lý sách trên quầy, hướng dẫn khách hàng tìm được sách cần mua. Khi khách

hàng tìm được sách, bộ phận bán hàng hướng dẫn khách hàng ra quầy thu ngân thanh

toán. Nhân viên thu ngân thực hiện việc lập đơn hàng, thu tiền , in hóa đơn bán hàng

cho khách hàng.

2. Cơ cấu tổ chức và sự phân công trách nhiệm

Để phục vụ cho quá trình nhập, xuất và quản lý sách, Nhà sách có 4 bộ phận,

hoạt động tương đối độc lập, trực tiếp tham gia vào hệ thống mới.

Bộ phận bán hàng đảm nhiệm việc lập bản dự trù sách, nhận sách từ kho

và quản lý sách trên quầy. Hướng dẫn khách hàng nhanh tìm được sách cần

mua, tư vấn cho khách về sách, tài liệu trong mọi lĩnh vực mà khách có nhu

cầu. Bộ phận này sử dụng máy tính, trên đó có hệ chương trình: lập bản dựtrù (DT), thống kê sách (TKS)

Bộ phận đặt hàng đảm nhiệm việc đặt hàng . Bộ phận này sử dụng máy

tính, trên đó có hệ chương trình gọi là Đặt hàng (ĐH) trợ giúp cho việc tìm

nhà xuất bản, nhà cung cấp trong và ngoài nước, làm đơn hàng và theo dõi

sự hoàn tất của đơn hàng.

Bộ phận thủ kho đảm nhiệm việc nhập, xuất và quản lý sách trong kho. Bộ

 phận này có sử dụng máy tính, trên đó có hệ chương trình: kho hàng (KHO)theo dõi việc nhập hàng vào kho theo các đơn đặt hàng, xuất hàng theo hợp

Trang 10

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 11/81

đồng, xuất hàng ra quầy nếu có yêu cầu từ bộ phận bán hàng và hệ chương

trình: sách (SACH) để phân loại và quản lý thông tin của sách.

Bộ phận thu ngân đảm nhiệm việc lập hóa đơn bán hàng cho khách hàng.

Bộ phận này sử dụng máy tính, trên đó có hệ chương trình Lập hóa đơn bánhàng, in hóa đơn thanh toán cho khách hàng, khi khách hàng chọn được

sách và ra quầy thu ngân thanh toán.

3. Quy trình xử lý 

Qua điều tra khảo sát, ta thấy quy trình làm việc cùng các loại chứng từ giao

dịch sử dụng trong quy trình đó như sau:

Bộ phận đặt hàng khi có nhu cầu đặt mua sách trước hết chọn Nhà xuất bản

để đặt mua các loại sách. Muốn vậy, họ dùng máy tính để tìm kiếm thông tin về cácnhà xuất bản lưu trong tệp NXB. Sau đó sẽ gửi đơn yêu cầu đến nhà xuất bản, nhà

xuất bản sẽ gửi lại cho Nhà sách bảng báo giá sách và tỉ lệ phần trăm hoa hổng được

hưởng cho mỗi đầu sách. Nếu đồng ý mua bộ phận đặt hàng sẽ lập đơn hàng thông

qua hệ chương trình Đơn hàng (ĐH) và gửi đơn đặt hàng đến Nhà xuất bản, sau đó 2

 bên sẽ cùng nhau ký kết hợp đồng. Nhà xuất bản dựa vào đơn hàng, chuyển hàng đến

cho nhà sách kèm theo phiếu giao hàng. Bộ phận thủ kho tiếp nhận hàng đó. Sách

được chuyển vào kho, thông tin trên phiếu giao hàng được lưu vào tệp nhận hàng

đồng thời in một bản gửi lại cho nhà xuất bản để họ sang bộ phận đặt hàng thanh toán.

Bộ phận đặt hàng căn cứ vào phiếu nhận hàng để thanh toán cho nhà xuất bản và lấy

hóa đơn thanh toán của nhà xuất bản, thông tin trên hóa đơn thanh toán được lưu trong

tệp hóa đơn thanh toán.

Bộ phận thủ kho tiếp nhận bản dự trù sách của bộ phận bán hàng trong đó có

các thông tin tên sách cùng với số lượng tương ứng. Để đáp ứng yêu cầu của bộ phận

 bán hàng, bộ phận quản lý kho kiểm tra thông tin số lượng sách trong kho với bản dự

trù, nếu số lượng sách có thể đáp ứng được họ sẽ lập phiếu xuất kho và phát sách chonhân viên bán hàng. Khi sách trên quầy không bán được, nhân viên bán hàng sẽ

chuyển xuống cho bộ phận kho và bộ phận này sẽ làm phiếu nhập kho gửi cho bộ

 phận bán hàng.

Sách được nhân viên kho quản lý bằng cách phân loại theo nhóm chủ đề, mỗi

quyển sách được lưu trữ trong kho SACH bao gồm các thông tin:

Trang 11

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 12/81

 Mã số sách (ISBN - International Standard Book Number) - Tên sách – Mã

loại – Tên tác giả - Nhà xuất bản – Năm xuất bản - Lần xuât bản – Mã quốc gia – 

 Ngôn ngữ – Số trang – Kích thước – Trọng lượng – Nội dung giới thiệu  sách.

Hàng tháng nhân viên bộ phận kho phải thực hiện kiểm kê lập báo cáo lượngsách tồn trong kho cho bộ phận đặt hàng để lên kế hoạch đặt hàng.

Bộ phận bán hàng dựa vào hệ chương trình DT để lập bản dự trù sách gửi cho

 bộ phận kho và nhận sách từ kho đưa lên quầy sách. Hàng ngày bộ phận này phải tiến

hành kiểm kê sách trên quầy, dùng hệ chương trình TKS để lập báo cáo cho bộ phận

đặt hàng. Khi khách hàng có nhu cầu chọn sách, bộ phận bán hàng giúp khách hàng

tìm được sách cần mua và hướng dẫn khách hàng đến quầy thanh toán.

Nhân viên thu ngân lập hóa đơn thanh toán khi có yêu cầu thanh toán củakhách hàng, sau đó nhận tiền và gửi lại khách hóa đơn thanh toán trong đó có ghi rõ:

Số hóa đơn – Mã nhân viên lập hóa đơn – Ngày lập hóa đơn – Mã khách hàng 

(bán sỉ) – Địa chỉ (bán sỉ) - Tổng số tiền.

Thông tin chi tiết của hóa đơn:

Số hóa đơn – Tên sách – Đơn giá – Số lượng của từng cuốn sách – Thành tiền.

 Ngoài ra, mỗi tuần nhân viên thu ngân phải lập báo cáo doanh thu chi tiết của

từng loại sách gửi cho bộ phận đặt hàng.

4. Quy tắc quản lý 

Hàng quý nhà sách tiến hành thống kê các loại sách nào còn tồn kho hơn 3

tháng kể từ ngày nhập để qui định mức giảm giá phù hợp, chỉ bán 50% so với giá bán

qui định từ trước.

Trang 12

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 13/81

5. Mẫu biểu

Mẫu của các loại giấy tờ giao dịch của hệ thống bao gồm:

 Nhà cung cấp gửi cho hệ thống bảng giới thiệu về mình và đơn giá của từng

loại sách cũng như phần trăm hoa hồng được hưởng. Hệ thống lưu lại thông tin đótrong tệp NXB bao gồm:

BM1 NHÀ XUẤT BẢN

Tên NXB:…………………………………………………...

Địa chỉ NXB:………………………………………………..

Số điện thoại:………………………………………………..

ISBN Đơn giá chuẩn Phần trăm

Bộ phận đặt hàng nhận hóa đơn từ nhà xuất bản.

BM2 HÓA ĐƠN TỪ NHÀ XUẤT BẢN

HÓA ĐƠN

SỐ:………Tên NXB:……………………………………………………………..

 Ngày HĐ:……/………/…………

ISBN Số lượng Đơn giá Thành tiền SH giao hàng

Đơn hàng hệ thống lưu để theo dõi.

Trang 13

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 14/81

BM3 ĐƠN ĐẶT HÀNG

ĐƠN HÀNG

SỐ:…………

Tên NXB:………………………………………………………………..

  Ngày ĐH:………/………/……………………………………………..

ISBN Đơn giá Lượng đăt

Thông tin nhận hàng.

BM4 NHẬN HÀNG

SH giao hàng:……………………………………………….............

Tên NXB:…………………………………………………………….

 Ngày giao hàng:……/………/…………Nơi cất…………………….

ISBN Lượng giao SH Đơn

Phiếu giao hàng.

BM5 GIAO HÀNG

PHIẾU GIAO HÀNG

SH Giao hàng:…………………………………………………………

Tên NXB:……………………………………………………………..

 Ngày giao hàng:……/………/………………………………………

ISBN Lượng giao SH Đơn

Hóa đơn bán hàng cho khách hàng do bộ phận thu ngân lập.

BM6 HÓA ĐƠN BÁN HÀNG

Trang 14

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 15/81

HÓA ĐƠN BÁN HÀNG

SỐ HĐ:…………………

  Ngày HĐ:……/……/………………………………………………….

Mã khách hàng:……………………………………………………….

Địa chỉ:…………………………………………………………………

ISBN Tên sách Đơn giá Số lượng Thành tiền

Dự trù sách xuất ra quầy

BM7 PHIẾU DỰ TRÙ

SH Dự trù:…………………………………………………………..

SH Quầy:…………………………………………………………….

  Ngày DT:……/………/………………………………………………

ISBN Số lượng

Phiếu phát sách từ kho ra quầy.

BM8 PHIẾU PHÁT SÁCH

SH xuất nhập:………………………………………………………

Xuất nhập:………………………………………………………….

SH Quầy:…………………………………………………………..

 Ngày xuất nhập:……/………/……………………………………..

ISBN Số lượng

Phiếu kiểm kê sách cuối ngày tại quầy

BM9 PHIẾU KIỂM KÊ SÁCH

Trang 15

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 16/81

Mã kiểm kê:………………………………………………………….

SH Quầy:…………………………………………………………….

 Ngày kiểm kê:………/………/………………………………………

ISBN Số lượng

Trang 16 

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 17/81

II. Mô hình tiến trình nghiệp vụ hệ thống

1. Định nghĩa ký hiệu

: Bộ phận bên trong hệ thống.

: Tác nhân bên ngoài có tác động tới hệ thống.

: Luồng thông tin.

2. Giải thích vẽ mô hình

Bộ phận đặt hàng liên hệ với nhà xuất bản để biết giá sách, sau đó lập đơn đặt hàng

gửi nhà xuất bản. Sau khi có phiếu nhận hàng từ bộ phận thủ kho của nhà sách, bộ phận nàythực hiện việc thanh toán với nhà xuất bản và nhận hóa đơn.

Bộ phận thủ kho tiếp nhận hàng và phiếu giao hàng từ nhà xuất bản, đồng thời lập

 phiếu nhận hàng. Khi có phiếu dự trù gửi từ bộ phận bán hàng, bộ phận này lập phiếu xuất

kho và xuất hàng cho bộ phận bán hàng đưa lên quầy.

 Nhân viên bán hàng lập bản dự trù gửi cho bộ phận kho để nhận sách đưa lên quầy và

 phiếu xuất kho. Hàng ngày bộ phận này thực hiện việc kiểm kê sách trên quầy và nộp về cho

 bộ phận đặt hàng.

Sau khi khách hàng đã chọn được sách ra quầy thu ngân thanh toán, bộ phận thu ngân

thu tiền và lập hóa đơn thanh toán gửi cho khách hàng.

Trang 17 

<Tên bộ phận>

- Chức năng1

- Chức năng 2

-…………….

- Chức năng n

Tên tácnhân

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 18/81

3. Vẽ mô hình

BP BÁN HÀNG

- Lập bản dự trù sách lênquầy- Phiếu xuất kho- Phiếu kiểm kê sách

BP THU NGÂN

- Tiếp nhận đơn hàng- Lập hóa đơn bán hàng- Lập báo cáo doanh thu

BP ĐẶT HÀNG

- Chọn NXB- Tiếp nhận giá sách- Biên soạn ĐHàng- Theo dõi thực hiện đơn

hàng- Tiếp nhận hóa đơn từ

 NXB- In DS đặt hàng

BP THỦ KHO

- Nhận hàng và phiếu giaohàng- Lập phiếu nhận hàng- In ds nhận hàng- Lập phiếu xuất hàng lên

quầy

 NHÀ XUẤT BẢN

KHÁCH HÀNGĐơn hàng

Hóa đơn bán hàng TT Sách

Phiếu dự trù

Đơn đặt hàng

Hóa đơn

Phiếu nhận hàng

Phiếu xuất kho

Hàng + Phiếu giao hàng

Giao dịch

TT Giá sách

 Hình 1.1: Mô hình tiến trình nghiệp vụ hệ thống “Quản lý bán sách” 

Trang 18

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 19/81

CHƯƠNG II: PHÂN TÍCH HỆ THÔNG

I. Sơ đồ phân rã chức năng

1. Ký hiệu sử dụng 

Tên chức năng của hệ thống:

Quan hệ phân cấp

2. Vẽ sơ đồ

Quản lý bán sách

Quản lý kho Bán hàng và thu ngân Đặt hàng

Lập phiếu nhận hàng

Lập phiếu xuất kho

Lưu bản dự trù

Lập hóa đơn

Lập phiếu kiểm kê

Chọn nhà xuất bản

Lập đơn hàng

 Nhận hóa đơn

Báo cáo tồn kho

Báo cáo doanh thu

 Hình 2.1: Sơ đồ phân cấp chức năng hệ thống “Quản lý bán sách” 

Trang 19

<Tên chức năng>

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 20/81

II. Sơ đồ luồng dữ liệu

1. Ký hiệu sử dụng 

2. Vẽ sơ đồ

DFD mức khung cảnh hệ thống quản lý bán sách (mức 0)

Quản lý bán sách KHÁCH HÀNG NHÀ XUẤT BẢN

Sách + Phiếu giao hàng

Đơn hàngGiao dịch + Đơn đặt hàng

TT báo giá

Hàng + Hóa đơn bán hàng

Hóa đơn

 Hình 2.2: Sơ đồ luồng dữ liệu mức khung cảnh hệ thống “Quản lý bán sách” 

Trang 20

Tiến trình (chức năng):

Luồng dữ liệu:

Kho dữ liệu:

Tác nhân ngoài:

Tác nhân trong:

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 21/81

DFD mức dưới đỉnh hệ thống quản lý bán sách (mức 1)

Đặt hàng Bán hàng và thu ngân

Quản lý kho

Đơn hàng

Phiếu nhận hàng

Hóa đơn bán hàng NXB

Phiếu xuất kho

Bản dự trù

DS hàng nhận

 NHÀ XUẤT BẢN

KHÁCH HÀNG

Xuất kho

Bản dự trù

Hàng + Hóa đơn bán hàng

Đơn hàng

Báo giá

Hóa đơn thanh toán

Hàng + phiếu giao hàng

Phiếu nhận hàng

Giao dịch + Đơn hàng

Tồn kho

Sách

 Hình 2.3: Sơ đồ luồng dữ liệu mức 1 hệ thống “Quản lý bán sách” 

Trang 21

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 22/81

DFD mức 2 của chức năng “Đặt hàng”

Chọn nhà xuất bản

 Nhận hóa đơn

Lập đơn hàng

Hóa đơn NXB

Đơn hàng

Đặt hàngDS hàng đặt

Hóa đơn

TT nhà xuất bản

 NHÀ XUẤT BẢN

 NHÀ XUẤT BẢN

Báo giá

Đơn hàng

Giao dịchHóa đơn thanh toán

Ttin NXB

Đơn hàng

Sách

 Hình 2.4: Sơ đồ luồng dữ liệu mức 2 chức năng “Đặt hàng” 

Trang 22

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 23/81

DFD mức 2 chức năng “Quản lý kho”

Lập phiếu nhận hàng

Lập phiếu xuất kho

Lưu bản dự trù

Phiếu nhận hàng

Phiếu xuất kho

Bản dự trù

Quản lý kho

 NHÀ XUẤT BẢN

Dự trù

Hàng + Phiếu giao hàng

Phiếu nhận hàng

Phiếu xuất kho

Ds hàng

 Hình 2.5: Sơ đồ luồng dữ liệu mức 2 chức năng “Quản lý kho” 

Trang 23

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 24/81

DFD mức 2 chức năng “Bán hàng và thu ngân”

Bán hàng và thu ngânKHÁCH HÀNG

Thống kê sách

Hóa đơn bán hàng

Báo cáo doanh thu

Lập hóa đơn bán hàng

Kiểm kê sáchTT quầy sách

Báo cáo tuần

Đơn hàng

Hàng + hóa đơn

 Hình 2.6: Sơ đồ luồng dữ liệu mức 2 chức năng “Bán hàng và thu ngân” 

Trang 24

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 25/81

III. Thực thể liên kết (Entity Relationship-ER) mở rộng

1. Xác định kiểu thực thể, kiểu thuộc tính

Sách (ISBN, Tên sách, Mã loại sách, Tên tác giả, Tên nhà xuất bản, Nămxuất bản, Lần xuất bản, Số tập, Mã quốc gia, Ngôn ngữ, Số trang, Trọng

lương, Nội dung giới thiệu)

Khách hàng (Mã khách hàng, Tên khách hàng, Địa chỉ, Số điện thoại)

Nhà xuất bản (Mã NXB, Tên NXB, Địa chỉ, Số điện thoại, ISBN, Đơn giá

chuẩn, Phần trăm )

Đơn hàng (SH Đơn, Tên NXB, Ngày đặt hàng, ISBN, Đơn giá, Lượng đặt)

Hóa đơn (SH Hóa đơn, Tên NXB, ngày HĐ, ISBN, Số lượng, Đơn giá,

Thành tiền, SH giao hàng)

Giao nhận hàng (SH giao hàng, Tên NXB, Ngày giao hàng, Nơi cất,

ISBN, Lượng giao, SH Đơn)

Hóa đơn bán hàng (SH hóa đơn, ngày HĐ, Mã khách hàng, Địa chỉ, ISBN,

Tên sách, Số lượng, Đơn giá, Thành tiền)

Dự trù (SH Dự trù, SH Quầy, Ngày DT, Mã nhóm sách, ISBN, Số lượng)

Xuất nhập sách (SH xuất nhập, SH Quầy, Ngày xuất nhập, ISBN, Số

lượng, Nhập xuất)

Kiểm kê sách (Mã kiểm kê, SH Quầy, Ngày kiểm kê, ISBN, Số lượng)

Quầy sách (SH Quầy, Tên quầy)

Trang 25

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 26/81

2. Xác định kiểu liên kết 

XUẤT BẢN NHÀ XUẤT BẢN SÁCH

CÓ NHÀ XUẤT BẢN ĐƠN HÀNG

CÓĐƠN HÀNG SÁCH

GIAO NHÀ XUẤT BẢN GIAO NHẬN HÀNG

CÓKHÁCH HÀNG HÓA ĐƠN BÁN HÀNG

GỒMDỰ TRÙ SÁCH

GỒMSÁCH HÓA ĐƠN BÁN HÀNG

LẬP NHÀ XUẤT BẢN HÓA ĐƠN

CÓKIỂM KÊ SÁCH SÁCH

CÓXUẤT NHẬP SÁCH SÁCH

GỒMSÁCH HÓA ĐƠN

THEOĐƠN HÀNG GIAO NHẬN HÀNG

THEOHÓA ĐƠN GIAO NHẬN HÀNG

ĐƯỢCSÁCH GIAO NHẬN HÀNG

GỒMDỰ TRÙ QUẦY SÁCH

CÓKIỂM KÊ SÁCH QUẦY SÁCH

Trang 26 

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 27/81

3. Vẽ ER mở rộng 

a. Định nghĩa ký hiệu

Max=n; min=0;

Thực thể

Max=1; min=0;Thực thể

Max=1; min=1;Thực thể

Max=n; min=1;Thực thể

Kiểu thực thể trong mô hình thực thể:

Tên kiểu thực thể

Tên kiểu thuộc tính1Tên kiểu thuộc tính2

…..Tên kiểu thuộc tính n

b. Vẽ mô hình

Trang 27 

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 28/81

S Á C H

I S B NT ê n s á c hM ã l o ạ i s á c hT ê n t á c g i ảT ê n n h à x u ấ t b ả nN ă m x u ấ t b ả nL ầ n x u ấ t b ả nM ã q u ố c g i a

  N g ô n n g ữS ố t r a n gT r ọ n g l ư ơ n gN ộ i d u n g g i ớ i t h iệ uS ố t ậ p

 N H À X U Ấ T B Ả N

M ã N X BT ê n N X BĐ ị a c h ỉS ố đ i ệ n t h o ạ iI S B NĐ ơ n g i á c h u ẩ nP h ầ n t r ă m

K H Á C H H À N G

M ã k h á c h h à n gT ê n k h á c h h à n gĐ ị a c h ỉS ố đ i ệ n t h o ạ i

Đ Ơ N H À N G

S H Đ ơ nT ê n N X BN g à y đ ặ t h à n gI S B NĐ ơ n g i áL ư ợ n g đ ặ t

G I A O N H Ậ NH À N G

S H g i a o h à n gT ê n N X BN g à y g i a o h à n gN ơ i c ấ tI S B NL ư ợ n g g i a oS H Đ ơ n

H Ó A Đ Ơ N

S H H ó a đ ơ nT ê n N X BN g à y H ĐI S B NS ố l ư ợ n gĐ ơ n g i áT h à n h t iề nS H g i a o h à n g

D Ự T R Ù

S H D ự tr ùS H Q u ầ yN g à y D TI S B NS ố l ư ợ n g

X U Ấ T N H Ậ P SÁ C H

S H x u ấ t n hậ pS H Q u ầ yN g à y x u ấ t n h ậ pM ã l o ạ i sá c hI S B NS ố l ư ợ n gN h ậ p x u ấ t

K I Ể M K Ê S Á C H

M ã k i ể m k êS H Q u ầ yN g à y k i ể m k êI S B NS ố l ư ợ n g

H Ó A Đ Ơ N B Á NH À N G

S H h ó a đ ơ nN g à y H ĐM ã k h á c h h à n gĐ ị a c h ỉI S B NT ê n s á c hS ố l ư ợ n gĐ ơ n g i áT h à n h t iề n

GIA O

C Ó

GỒ M

G ỒM

C Ó

X U Ấ T B Ả N

LẬ P

GỒ M

C Ó

C Ó

C Ó

T H E O

T H E O

Đ Ư Ợ C

Q U Ầ Y S Á C H

S H Q u ầ yT ê n q u ầ y

GỒ M

C Ó

 Hình 2.7: Mô hình thực thể mở rộng hệ thống “Quản lý bán sách” 

Trang 28

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 29/81

IV. Chuẩn hóa dữ liệu

1. Chuyển từ ER mở rộng về ER kinh điển

Xử lý các thuộc tính đa trị

Kiểu thực thể “ Sách” có thuộc tính đa trị {Mã loại}, {Mã quốc gia}, {Ngôn ngữ}.

Chuyển sang ER kinh điển ta có:

SÁCH

ISBNTên sáchTên tác giảTên nhà xuất bảnNăm xuất bản

Lần xuất bảnSố trangTrọng lươngNội dung giới thiệuMã loạiNgôn ngữMã quốc giaSố tập

 NGÔN NGỮ 

Ngôn ngữTên ngôn ngữ

LOẠI SÁCH

Mã loại sáchTên loại sách

QUỐC GIA

Mã quốc giaTên quốc gia

THUỘC

GỒM

SÁCH

ISBNTên sáchMã loại sáchTên tác giảTên nhà xuất bản

Năm xuất bảnLần xuất bảnMã quốc gia  Ngôn ngữSố trangTrọng lươngNội dung giới thiệuSố tập

Kiểu thực thể “ Nhà xuất bản” có thuộc tính đa trị {ISBN, Đơn giá chuẩn, Phần

trăm}. Chuyển sang ER kinh điển ta có:

 NHÀ XUẤT BẢN

Mã NXBTên NXBĐịa chỉSố điện thoại

SÁCH_NXB

ISBNĐơn giá chuẩnPhần trăm

CỦA

 NHÀ XUẤT BẢN

Mã NXBTên NXBĐịa chỉSố điện thoạiISBNĐơn giá chuẩnPhần trăm

Kiểu thực thể “ Đơn hàng ” có thuộc tính đa trị {ISBN, Đơn giá, Lượng đặt},

{Tên NXB}. Chuyển sang ER kinh điển ta có:

ĐƠN HÀNG

SH ĐơnTên NXBNgày đặt hàng

CHI TIẾT ĐƠNHÀNG

ISBNĐơn giáLượng đặt

CỦA

ĐƠN HÀNG

SH ĐơnTên NXBNgày đặt hàngISBNĐơn giáLượng đặt

Trang 29

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 30/81

Kiểu thực thể “ Hóa đơn” có thuộc tính đa trị {ISBN, Số lượng, Đơn giá, Thành

tiền, SH giao hàng}, {Tên NXB}. Chuyển sang ER kinh điển ta có:

HÓA ĐƠN

SH Hóa đơn

Tên NXBNgày HĐISBNSố lượngĐơn giáThành tiềnSH giao hàng

HÓA ĐƠN

SH Hóa đơnTên NXBNgày HĐ

CHI TIẾT HÓA ĐƠN

ISBNTên sáchSố lượngĐơn giáThành tiềnSH giao hàng

CỦA

Kiểu thực thể “ Hóa đơn bán hàng ” có thuộc tính đa trị {ISBN, Số lượng, Đơn

giá, Thành tiền}. Chuyển sang ER kinh điển ta có:

HÓA ĐƠN BÁNHÀNG

SH hóa đơnNgày HĐMã nhân viênMã khách hàngĐịa chỉISBNTên sáchSố lượngĐơn giáThành tiền

HÓA ĐƠN BÁNHÀNG

SH hóa đơnNgày HĐMã khách hàngĐịa chỉ

DÒNG HÓA ĐƠN

ISBNTên sáchSố lượngĐơn giáThành tiền

CỦA

Kiểu thực thể “Giao nhận hàng ” có thuộc tính đa trị {ISBN, Số lượng giao,

SH Đơn}, {Tên NXB}. Chuyển sangg ER kinh điển ta có:

GIAO NHẬNHÀNG

SH giao hàngTên NXBNgày giao hàng

Nơi cấtISBNLượng giaoSH Đơn

GIAO NHẬNHÀNG

SH giao hàngMã NXBNgày giao hàngNơi cất

CHI TIẾT GIAO NHẬN HÀNG

ISBNLượng giao

SH Đơn

CỦA

Trang 30

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 31/81

Kiểu thực thể “ Dự trù”, “ Kiểm kê sách”, “ Xuất nhập sách” cùng có thuộc tính đa

trị {ISBN, Số lượng}. Chuyển sang ER kinh điển ta có:

DỰ TRÙ

SH Dự trùSH QuầyNgày DTISBNSố lượng

XUẤT NHẬP SÁCH

SH xuất nhậpSH QuầyNgày xuất nhậpISBNSố lượngNhập xuất

KIỂM KÊ SÁCH

Mã kiểm kêSH QuầyNgày kiểm kêISBNSố lượng

DỰ TRÙ

SH Dự trùSH QuầyNgày DT

XUẤT NHẬP SÁCH

SH xuất nhậpSH QuầyNgày xuất nhậpNhập xuất

KIỂM KÊ SÁCH

Mã kiểm kêSH QuầyNgày kiểm kê

DÒNG XUẤT NHẬP

ISBNSố lượng

CỦA

CỦA

CỦA

DÒNG KIỂM KÊ

ISBNSố lượng

DÒNG DỰ TRÙ

ISBNSố lượng

2. Chuyển ER kinh điển về mô hình quan hệ

Biểu diễn các quan hệ trong mô hình quan hệ:

Quan hệ 1  – 1 :

Quan hệ 1 - nhiều:

Vẽ mô hình quan hệ

Trang 31

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 32/81

Tbl_DUTRU

IDDuTruIDQuayNgayDT

Tbl_XUATNHAP

IDXuatNhapIDQuayNgayXuatNhapNhapXuat

Tbl_KIEMKESACH

IDKiemKeIDQuayNgayKiemKe

tbl_DONGXUATNHAP

IDXuatNhapISBNSoLuong

Tbl_DONHANG

IDDonIDNhaXuatBanNgayDatHang

Tbl_CTDONHANG

ISBN

IDDonDonGiaLuongDat

GIAOHANG

IDGiaoHangIDNhaXuatBanNgayGiaoHangNoiCat

Tbl_CTGIAONHAN

ISBNIDGiaoHangLuongGiaoIDDon

Tbl_HDONBH

IDHoaDonNgayHDIDKhachHang

Tbl_DHOADON

ISBNIDHoaDonSoLuongDonGia

Tbl_HOADON

IDHoaDon

IDNhaXuatBanNgayHD

Tbl_CTHOADON

ISBNIDHoaDonSoLuongDonGiaIDGiaoHang

Tbl_NHAXUATBAN

IDNhaXuatBanTenNXBDiaChiSoDienThoai

Tbl_SACH_NXB

ISBNIDNhaXuatBanDonGiaChuanPhanTram

Tbl_SACH

ISBNTenSachTenTacGiaNamXuatBanLanXuatBanSoTapSoTrangTrongLuongNoiDungGioThieuIDLoaiSachIDNgonNguIDQuocGia

Tbl_NGONNGU

IDNgonNguTenNgonNgu

Tbl_LOAISACH

IDLoaiSachTenLoaiSach

Tbl_QUOCGIA

IDQuocGiaTenQuocGia

Tbl_KHACHHANG

IDKhachHangTenKhachHangDiaChiSoDienThoai

Tbl_QUAYSACH

IDQuayTenQuay

Tbl_DDUTRU

ISBNIDDuTruSoLuong

Tbl_DKIEMKE

ISBNIDKiemKeSố lượng

 Hình 2.8: Mô hình thực thể quan hệ của hệ thống “Quản lý bán sách” 

Trang 32

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 33/81

V. Đặc tả bảng dữ liệu trong mô hình quan hệ

1) tbl_LOAISACH

STTKhóa

chinh

Khóa

ngoạiTên trường Kiểu dữ liệu Diễn giải

1 IDLoaiSach Int (identity) Mã loại sách

2 TenLoaiSach Nvarchar(200) Tên loại sách

2) tbl_NGONNGU

STTKhóa

chinh

Khóa

ngoạiTên trường Kiểu dữ liệu Diễn giải

1 IDNgonNgu Varchar(10) Mã ngôn ngữ của sách

2 TenNgonNgu Nvarchar(50) Tên ngôn ngữ

3) tbl_QUOCGIA

STTKhóa

chinh

Khóa

ngoạiTên trường Kiểu dữ liệu Diễn giải

1 IDQuocGia Varchar(10) Mã quốc gia

2 TenQuocGia Nvarchar(100) Tên quốc gia4) tbl_QUAYSACH

STTKhóa

chinh

Khóa

ngoạiTên trường Kiểu dữ liệu Diễn giải

1 IDQuay Varchar(10) Mã quầy sách

2 TenQuay Nvarchar(100) Tên quấy sách

5) tbl_SACH

STT Khóa Khóa Tên trường Kiểu dữ liệu Diễn giải

Trang 33

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 34/81

chinh ngoại

1 ISBN Varchar(10) Mã số sách

2 TenSach Nvarchar(200) Tên sách

3 TenTacGia Nvarchar(100) Tên tác giả4 NamXuatBan Varchar(7) Năm xuất bản

5 LanXuatBan Varchar(2) Lần xuất bản

6 SoTrang Int Số trang

7 SoTap smallint Số tập

8 TrongLuong Float Trọng lượng sách

9 NoiDungGioiThieu Nvarchar(500) Nội dung tóm tắt

10 IDLoaiSach Int Mã loại sách

11 IDNgonNgu Varchar(10) Mã ngôn ngữ

12 IDQuocGia Varchar(10) Mã quốc gia

6) tbl_NHAXUATBAN

STTKhóa

chinh

Khóa

ngoạiTên trường Kiểu dữ liệu Diễn giải

1 IDNhaXuatBan Varchar(10) Mã nhà xuất bản2 TenNXB Nvarchar(100) Tên nhà xuất bản

3 DiaChi Nvarchar(100) Địa chỉ nhà xuất bản

4 SoDienThoai Varchar(11) Số điện thoại

7) tbl_SACH_NXB

STTKhóa

chinh

Khóa

ngoạiTên trường Kiểu dữ liệu Diễn giải

1 ISBN Varchar(10) Mã số sách

2 IDNhaXuatBan Varchar(10) Mã nhà xuất bản

Trang 34

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 35/81

3 DonGiaChuan Float Đơn giá chuẩn sách

4 PhanTram Int Phần trăm hoa hồng

8) tbl_KHACHHANG

STTKhóachinh

Khóangoại

Tên trường Kiểu dữ liệu Diễn giải

1 IDKhachHang Varchar(10) Mã khách hàng

2 TenKhachHang Nvarchar(100) Tên khách hàng

3 DiaChi Nvarchar(200) Địa chỉ khách hàng

4 SoDienThoai Varchar(11) Số điện thoại

9) tbl_HOADONBH

STTKhóa

chinh

Khóa

ngoạiTên trường Kiểu dữ liệu Diễn giải

1 IDHoaDon Varchar(20) Số hóa đơn

2 NgayHD Datetime Ngày lập hóa đơn

3 IDKhachHang Varchar(10) Mã khách hàng bán sỉ

10) tbl_DHOADON

STT Khóachinh

Khóangoại

Tên trường Kiểu dữ liệu Diễn giải

1 ISBN Varchar(10) Mã số sách

2 IDHoaDon Varchar(20) Số hóa đơn

3 SoLuong Int Số lượng

4 DonGia Float Đơn giá

11) tbl_HOADON

STTKhóa

chinh

Khóa

ngoạiTên trường Kiểu dữ liệu Diễn giải

1 IDHoaDon Varchar(20) Số hóa đơn

2 IDNhaXuatBan Varchar(10) Mã nhà xuất bản

3 NgayHD Datetime Ngày lập hóa đơn

12) tbl_GIAOHANG

STT Khóa Khóa Tên trường Kiểu dữ liệu Diễn giải

Trang 35

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 36/81

chinh ngoại

1 IDGiaoHang Varchar(10) Mã giao hàng

2 IDNhaXuatBan Varchar(10) Mã nhà xuất bản

3 NgayGiaoHang Datetime Ngày giao hàng

4 NoiCat Nvarchar(50) Nơi cất hàng

13) tbl_CTHOADON

STTKhóa

chinh

Khóa

ngoạiTên trường Kiểu dữ liệu Diễn giải

1 ISBN Varchar(10) Mã số sách

2 IDHoaDon Varchar(20) Số hóa đơn

3 SoLuong Int Số lượng

4 DonGia Float Đơn giá

5 IDGiaoHang Varchar(10) Mã giao hàng

14) tbl_DONHANG

STTKhóa

chinh

Khóa

ngoạiTên trường Kiểu dữ liệu Diễn giải

1 IDDon Varchar(10) Mã số đơn đặt hàng2 IDNhaXuatBan Varchar(10) Mã nhà xuất bản

3 NgayDatHang Datetime Ngày đặt hàng

15) tbl_CTDONHANG

STTKhóa

chinh

Khóa

ngoạiTên trường Kiểu dữ liệu Diễn giải

1 ISBN Varchar(10) Mã số sách

2 IDDon Varchar(10) Mã số đơn hàng

3 DonGia Float Đơn giá

4 LuongDat Int Lượng đặt

16) tbl_CTGIAOHANG

STTKhóa

chinh

Khóa

ngoạiTên trường Kiểu dữ liệu Diễn giải

1 ISBN Varchar(10) Mã số sách

Trang 36 

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 37/81

2 IDGiaoHang Varchar(10) Mã giao hàng

3 LuongGiao Int Lượng giao

4 IDDon Varchar(10) Mã đơn đặt hàng

17) tbl_DUTRU

STTKhóa

chinh

Khóa

ngoạiTên trường Kiểu dữ liệu Diễn giải

1 IDDuTru Varchar(10) Mã số bản dự trù

2 IDQuay Varchar(10) Mã số quầy

3 NgayDT Datetime Ngày lập bản dự trù

18) tbl_KIEMKESACH

STTKhóa

chinh

Khóa

ngoạiTên trường Kiểu dữ liệu Diễn giải

1 IDKiemKe Varchar(10) Mã số kiểm kê sách

2 IDQuay Varchar(10) Mã số quầy sách

3 NgayKiemKe Datetime Ngày kiểm kê sách

19) tbl_XUATNHAP

STTKhóa

chinh

Khóa

ngoạiTên trường Kiểu dữ liệu Diễn giải

1 IDXuatNhap Varchar(10) Mã số nhập xuất

2 IDDuTru Varchar(10) Mã bản dự trù

3 NgayXuatNhap Datetime Ngày lập bản nhập xuất

4 NhapXuat Bit Kiểu nhập xuất

20) tbl_DXUATNHAP

STTKhóa

chinh

Khóa

ngoạiTên trường Kiểu dữ liệu Diễn giải

1 IDXuatNhap Varchar(10) Mã số nhập xuất

2 ISBN Varchar(10) Mã số sách

3 SoLuong Int Số lượng

21) tbl_DKIEMKE

Trang 37 

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 38/81

STTKhóa

chinh

Khóa

ngoạiTên trường Kiểu dữ liệu Diễn giải

1 ISBN Varchar(10) Mã số sách

2 IDKiemKe Varchar(10) Mã số kiểm kê3 SoLuong Int Số lượng

22) tbl_DDUTRU

STTKhóa

chinh

Khóa

ngoạiTên trường Kiểu dữ liệu Diễn giải

1 ISBN Varchar(10) Mã số sách

2 IDDuTru Varchar(10) Mã bản dự trù

3 SoLuong Int Số lượng

CHƯƠNG III: THIẾT KẾ HỆ THỐNG

I. Thiết kế giao diện

Trang 38

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 39/81

1. Thiết kế menu chương trình

Quản lý bán sách

 Nghiệp vụ Tìm kiếmBáo cáo

Mua hàng

Bán hàng

Kho hàng

Hóa đơn bán hàng

Thống kê sách

 Nhà xuất bản

Đơn đặt hàng

Hóa đơn mua hàng

Báo cáo tồn kho

Báo cáo doanh thu

Danh mục hệ thống

 Nhà xuất bản

Khách hàng

Phân loại sách

Cập nhật sách

 Ngôn ngữ

Quốc giaXuất nhập kho

Bản dự trù

Quầy sách

Khách hàng

Sách

Dự báo kinh doanh

Thiết lập mạng

Huấn luyện mạng

Dự báo sản phẩm

 Hình 3.1: Menu hệ thống “Quản lý bán sách và tối ưu quá trình xuất nhập sách” 

Trang 39

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 40/81

2. Thiết kế chức năng 

Chức năng cập nhật sách

Thêm Sửa Xoá Cập nhật In Tìm kiếm Tìm

ISBN Tên sách Tên tác giả Tên nhà xuất bản Năm xuất bản Lần xuất bản Số trang

 Hình 3.2: Chức năng cập nhật sách

+ Nút Xoá

Muốn xoá một bản ghi dữ liệu sách, người dùng chọn bản ghi cần xoá trong GridView, sau

đó nhấn nút xoá, bản ghi đó sẽ được đánh dấu xoá trong bảng tbl_SACH của csdl hệ thống.

+ Nút Thêm, Sửa: khi người dùng nhấn nút Thêm hoặc nút Sửa form nhập liệu xuất hiện nhưhình dưới

txtISBN

 Nhóm sách

 Nhóm con 1

 Nhóm con 2

Phân loại sách

cboNXB

txtTenSach

txtNamXuatBan

Mã số sách: Tên sách:

Tên tác gi ả:

 Năm xuất bản:Lần xuất bản:

Số trang: Trọng lượng:

Giới thiệu:

 Ngôn ngữ:Quốc gia:

 Nhà xuất b ản:txtTenTacGia

txtLanXuatBan

txtSoTrang txtTrongLuong

cboIDNgonNgu

txtGioThieu

cboIDQuocGia

Thêm Cập nhật Huỷ bỏ Thoát

 Hình 3.3: Form cập nhật sách

Trang 40

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 41/81

Form nhập liệu Sách tham chiếu tới các thuộc tính của các bảng như sau:

STT Tên điều khiển Tên trường Tên bảng Mô tả

1 txtISBN ISBN Tbl_SACH

2 txtTenSach TenSach Tbl_SACH

3 txtTenTacGia TenTacGia Tbl_SACH

4 cboNXB TenNhaXuatBan

IDNhaXuatBan

Tbl_NHAXUATBAN Tên NXB để

hiển thị

Mã NXB để

cập nhật

5 txtNamXuatBan NamXuatBan Tbl_SACH

6 txtLanXuatBan LanXuatBan Tbl_SACH

7 txtSoTrang SoTrang Tbl_SACH

8 txtTrongLuong TrongLuong Tbl_SACH

9 cboQuocGia TenQuocGia Tbl_QUOCGIA

10 cboNgonNgu NgonNgu Tbl_NGONNGU

11 txtGioiThieu GioiThieuNoiDung Tbl_SACH

12 Nhóm con N IDLoaiSach Tbl_LoaiSach

II. Thiết kế kiểm soát

1. Xác định các nhu cầu bảo mật của hệ thống 

Hệ thống quản lý bán sách và tối ưu hóa việc nhập xuất sách được xây dựng

cho môi trường đa người dùng trên nền tảng công nghệ client - server, do đó yêu cầu

Trang 41

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 42/81

 bảo mật cho nghiệp vụ hệ thống là hết sức quan trọng. Chức năng bảo mật của hệ

thống phải đảm bảo được một số yếu tố sau:

+ Tính đúng đắn

+ Tính ổn định

+ Độ tin cậy cao

+ Tính riêng tư

Từ quá trình khảo sát hệ thống ta thấy, nhà sách có nhiều bộ phận sử dụng hệ

thống cho công việc của mình. Các nhân viên trong mỗi bộ phận sử dụng các chức

năng của bộ phận đó để thao tác xử lý công việc. Do đó, chức năng bảo mật phải đảm

 bảo được các nhân viên của mỗi bộ phận chỉ được phép thao tác trên các chức năngcủa bộ phận mình mà không được can thiệp vào dữ liệu của bộ phận khác.

Hệ thống cần có nhân viên quản trị, quản lý danh sách tài khoản hệ thông, cấp

 phát, thu hồi quyền của người sử dụng.

 Ngoài ra, để đảm bảo các yêu cầu bảo mật, hệ thống mật khẩu của người dùng

cần được mã hóa theo thuật toán băm.

2. Phân định các nhóm người dùng 

Từ nhu cầu bảo mật của hệ thống ta có các nhóm người sử dụng như sau:

 Nhóm quản trị

 Nhóm quản lý kho

 Nhóm đặt hàng

 Nhóm bán hàng

 Nhóm thu ngân

III. Thiết kế CSDL vật lý

1. Xác định các thuộc tính tình huống 

Thuộc tính Active

Trang 42

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 43/81

Khi thực hiện xóa một bản ghi ở bảng dữ liệu gốc, dữ liệu ở các bảng phụ

thuộc con cũng đồng thời mất đi, làm mất mát thông tin liên quan giữa các bảng của

hệ thống. Do đó, thay vì xóa trực tiếp bản ghi vật lý trên cơ sở dữ liệu chúng ta thực

hiện xóa logic bản ghi đó bằng cách thêm vào thuộc tính  Active để đánh dấu bản ghi

đó đã không được sử dụng nữa mà không làm ảnh hưởng tới dữ liệu của các bảng liên

quan. Thực hiện thêm trường Active vào tất cả các bảng của cơ sở dữ liệu hệ thống.

Tên trường Kiểu dữ liệu Giá trị mặc định

Active bit True

Thuộc tính lưu tiền khách thanh toán trong bảng Hóa đơn bán hàng .

Khách hàng thanh toán tiền cho nhân viên thu ngân, để tránh tình trạng nhầm

lẫn trong việc nhận và trả lại tiền cho khách hàng. Chúng ta sẽ thêm vào bảng hóa đơn bán hàng hai trường Nhận tiền, Tiền thừa. Khi nhân viên nhập vào số tiền khách đã

trả, hệ thống sẽ tự động tính số tiền thừa của khách hàng.

Tên trường Kiểu dữ liệu Giá trị mặc định

 NhanTien Float 0

TienThua Float 0

Thuộc tính lưu thông tin nhân viên lập hóa đơn bảng Hóa đơn bán hàng 

Để quản lý hóa đơn bán hàng của hệ thống một cách chặt chẽ và thuận lợi chocông việc lập trình sau này, chúng ta sẽ lưu trữ luôn tên tài khoản đăng nhập của nhân

viên lập hóa đơn vào bảng hóa đơn bán hàng.

Tên trường Khóa Ngoại Kiểu dữ liệu

IDUser  Varchar(20)

Thuộc tính đa cấp cho bảng Loại sách

Khi sách được nhập kho, bộ phận quản lý kho sẽ tiến hành phân loại sách. Để

 phân loại chi tiết các nhóm sách theo nhiều mức (nhiều hơn 2 mức) bảng  Loại Sách

hiện thời chưa đáp ứng được yêu cầu trên. Mặt khác, do số mức để phân loại nhóm

sách là không biết trước lên không thể xây dựng thêm bảng để thực hiện việc này. Vìvậy, ta thêm một trường IDNhom vào bảng  Loại sách, trường IDNhom quan hệ với

Trang 43

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 44/81

trường IDLoaiSach và bảng  Loại sách trở thành bảng tự quan hệ đáp ứng nhu cầu

 phân loại sách theo nhiều mức.

Tên trường Khóa Ngoại Kiểu dữ liệu Giá trị mặc định

IDNhom Int NULLTrong bảng Loại sách, trường IDNhom có giá trị NULL tức là nhóm sách ở 

mức 1, mức cao nhất.

2. Xác định các bảng dữ liệu phục vụ nhu cầu bảo mật 

Để đáp ứng được yêu cầu bảo mật cho hệ thống chúng ta cần sử dụng một số bảng

dữ liệu sau:

1) tbl_GROUP_ROLE

STTKhóa

chinh

Khóa

ngoạiTên trường Kiểu dữ liệu Diễn giải

1 IDGroupRole Int (identity) Mã nhóm chức năng

2 GroupRoleName Nvarchar(200) Tên nhóm chức năng

3 Active Bit

2) tbl_ROLE

STTKhóa

chinh

Khóa

ngoạiTên trường Kiểu dữ liệu Diễn giải

1 IDRole Int (identity) Mã chức năng

2 RoleName Nvarchar(200) Tên chức năng

3 IDGroupRole Int Mã nhóm chức năng

3) tbl_GROUP_USER 

STTKhóa

chinh

Khóa

ngoạiTên trường Kiểu dữ liệu Diễn giải

1 IDGroupUser Int Mã nhóm người dùng

2 GroupUserName Nvarchar(50) Tên nhóm người dùng

3 Active Bit

4) tbl_USER 

Trang 44

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 45/81

STTKhóa

chinh

Khóa

ngoạiTên trường Kiểu dữ liệu Diễn giải

1 IDUser Varchar(20) Mã người dùng

2 UserName Nvarchar(50) Tên tài khoản3 Password Nvarchar(100) Mật khẩu

4 Active Bit

5) tbl_USER_ROLE

STTKhóa

chinh

Khóa

ngoạiTên trường Kiểu dữ liệu Diễn giải

1 IDUser Varchar(20) Mã người dùng

2 IDRole Int Mã chức năng

3 allowSelect Bit Quyền truy vấn

4 allowInsert Bit Quyền thêm mới

5 allowDelete Bit Quyền xóa

6 allowUpdate Bit Quyền cập nhật

7 AllowExec Bit Quyền thực thi

8 Active Bit

Trang 45

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 46/81

3. Mô hình dữ liệu của hệ thống 

 Hình 3.2: Mô hình dữ liệu hệ thống “Quản lý bán sách” 

Trang 46 

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 47/81

CHƯƠNG IV. MẠNG NƠRON VÀ DỰ 

BÁO DỮ LIỆU

ự báo lượng hàng bán ra trong tương lai là một trong những hoạt động quan

trọng nhất, là hình thức cơ sở cho tất cả các hoạt động lập kế hoạch, hoạch

định chiến lược nhằm đem lại hiệu quả trong hoạt động kinh doanh cho

doanh nghiệp. Vấn đề dự báo dữ liệu là một bài toán rất phức tạp, cả về số lượng dữliệu cần quan tâm cũng như độ chính xác của dữ liệu dự báo. Do vậy, việc cân nhắc để

có thể chọn được mô hình phù hợp cho việc dự báo dữ liệu là một việc rất khó khăn.

Tuy nhiên, việc sử dụng mạng nơron nói chung và mạng nơron truyền thẳng nhiều lớp

với thuật toán lan truyền ngược nói riêng được ứng dụng rộng rãi trong các lĩnh vực:

nhận dạng, phân lớp, dự báo… đã được thực tế chứng minh là một công cụ tốt áp

dụng cho các bài toán trong lĩnh vực dự báo dữ liệu.

D Trong phần này, để phục vụ cho mục đích nghiên cứu và xây dựng ứng dụng

tối ưu hóa quá trình nhập xuất sách của đề tài tôi tập chung nghiên cứu mạng nơron

nói chung để hiểu được cấu trúc mạng, cách thức làm việc của mạng.

Trang 47 

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 48/81

I. Các khái niệm cơ bản về mạng nơron

1. Sơ lược về mạng nơron

1.1 Lịch sử phát triển [2,3]

 Nghiên cứu và mô phỏng tế bào thần kinh (nơron) là một ước muốn từ lâu của

nhân loại. Từ ước muốn đó các nhà khoa học đã không ngừng nghiên cứu tìm hiều về

mạng nơron. Qúa trình phát triển của mạng nơron nhân tạo được đánh dấu bằng các

mốc lịch sử:

Cuối TK 19, đầu TK 20, sự phát triển chủ yếu chỉ là những công việc có sự

tham gia của cả ba ngành Vật lý học, Tâm lý học và Thần kinh học, bởi các nhà

khoa học như Hermann von Hemholtz, Ernst Mach, Ivan Pavlov. Các côngtrình nghiên cứu của họ chủ yếu đi sâu vào các lý thuyết tổng quát về HỌC

(Learning), NHÌN (vision) và LẬP LUẬN (conditioning),... và không hề đưa ra

những mô hình toán học cụ thể mô tả hoạt động của các nơron.

Vào những năm 1940 với công trình của Warren McCulloch và Walter Pitts đã

cho biết về nguyên tắc, mạng nơron nhân tạo có thể tính toán bất kỳ một hàm

số học hay logic nào.

Tiếp theo hai người là Donald Hebb, ông đã phát biểu rằng việc thuyết lập luậncổ điển (classical conditioning) (như Pavlov đưa ra) là hiện thực bởi do các

thuộc tính của từng nơron riêng biệt. Ông cũng nêu ra một phương pháp học

của các nơron nhân tạo.

Ứng dụng thực nghiệm đầu tiên của các nơron nhân tạo có được vào cuối

những năm 50 cùng với phát minh của mạng nhận thức (perceptron network)

và luật học tương ứng bởi Frank Rosenblatt. Mạng này có khả năng nhận dạng

các mẫu. Điều này đã mở ra rất nhiều hy vọng cho việc nghiên cứu mạngnơron. Tuy nhiên nó có hạn chế là chỉ có thể giải quyết một số lớp hữu hạn các

 bài toán.

Cùng thời gian đó, Bernard Widrow và Ted Hoff đã đưa ra một thuật toán học

mới và sử dụng nó để huấn luyện cho các mạng nơron tuyến tính thích nghi,

mạng có cấu trúc và chức năng tương tự như mạng của Rosenblatt. Luật học

Widrow-Hoff vẫn còn được sử dụng cho đến nay.

Tuy nhiên cả Rosenblatt và Widrow-Hoff đều cùng vấp phải một vấn đề doMarvin Minsky và Seymour Papert phát hiện ra, đó là các mạng nhận thức chỉ

Trang 48

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 49/81

có khả năng giải quyết các bài toán khả phân tuyến tính. Họ cố gắng cải tiến

luật học và mạng để có thể vượt qua được hạn chế này nhưng họ đã không

thành công trong việc cải tiến luật học để có thể huấn luyện được các mạng có

cấu trúc phức tạp hơn.

Mặc dù vậy, cũng có một vài phát kiến quan trọng vào những năm 70. Năm

1972, Teuvo Kohonen và James Anderson độc lập nhau phát triển một loại

mạng mới có thể hoạt động như một bộ nhớ. Stephen Grossberg cũng rất tích

cực trong việc khảo sát các mạng tự tổ chức (Self organizing networks).

Vào những năm 80, những đóng góp to lớn cho mạng nơron phải kể đến

Grossberg, Kohonen, Rumelhart và Holpfield. Đóng góp chính của Holpfield là

hai mô hình dạng phản hồi: mạng rời rạc năm 1982, mạng liên tục năm 1984.

1.2 Ứng dụng

Trong quá trình phát triển, mạng nơron được ứng dụng thành công trong nhiều

lĩnh vực. Dưới đây là một số ứng dụng chính của mạng nơron:

AeroSpace: Phi công tự động, giả lập đường bay, các hệ thống điều khiển lái

máy bay, bộ phát hiện lỗi.

Automotive: Các hệ thống dẫn đường tự động cho ô tô, các bộ phận phân tích

hoạt động xe.

Banking: Bộ đọc séc và các tài liệu, tính tiền của thẻ tín dụng.

Defense: Định vị, phát hiện vũ khí, dò mục tiêu phát hiện đối tượng, nhập dạng

nét mặt, xử lý ảnh radar,…

Electronics: Dự đoán mã tuần tự, phân tích nguyên nhân hỏng chíp, nhận dạng

giọng nói, mô hình phi tuyến.

Entertainment: Hoạt hình, các hiệu ứng đặc biệt, dự báo thị trường.

Trang 49

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 50/81

1.3 Mạng nơron sinh học

Bộ não con người có khoảng 1011 các phần từ liên kết chặt chẽ với nhau gọi là

các nơron. Mỗi nơron được cấu tạo bởi các thành phần: tế bào hình cây (dendrite) – tế

 bào thân (cell body) – và sợi trục thần kinh (axon). Tế bào hình cây có nhiệm vụ mangtín hiệu điện tới tế bào thân, tế bào thân có nhiệm vụ tổng hợp (Sum) và phân ngưỡng

(Thresholds) các tín hiệu đến. Sợi trục thần kinh có nhiệm vụ đưa tín hiệu từ tế bào

thân ra ngoài.

Điểm tiếp xúc giữ một sợi trục thần kinh của nơron này và tế bào hình cây của

nơron khác được gọi là khớp thần kinh (synapse). Sự sắp xếp của các nơron và mức

độ mạnh yếu của các khớp thần kinh được quyết định bởi các quá trình hóa học phức

tạp, sẽ thiết lập chức năng của mạng nơron.

Một vài nơron có sẵn từ khi sinh ra, các phần khác được phát triển thông qua

việc học, ở đó có sự thiết lập các liên kết mới và xóa bỏ các liên kết cũ.

Cấu trúc của mạng nơron luôn luôn phát triển và thay đổi. Các thay đổi có

khuynh hướng chủ yếu là việc tăng hay giảm độ mạnh yếu của các liên kết thông qua

các khớp thần kinh.

Mạng nơron nhân tạo được phát triển dựa trên 2 đặc điểm cơ bản của mạng nơ 

ron sinh học:Mạng nơron đôi khi được xem như các mô hình liên kết, là các mô hình song

song có các đặc trưng phân biệt sau:

1. Tập các đơn vị xử lý

2. Trạng thái kích hoạt hay là đầu ra của các đơn vị xử lý.

3. Liên kết giữa các đơn vị. Mỗi liên kết được định nghĩa bởi một trọng số wik  cho

 biết mức độ mạnh yếu của đơn vị i có trên đơn vị k.

4. Một luật lan truyền quyết định cách tính tín hiệu ra của từng đơn vị đầu vào của

nó.

5. Một hàm kích hoạt hay hàm chuyển (active function, transfer function).

6. Một đơn vị điều chỉnh (độ lệch – bias) của mỗi đơn vị.

7. Phương pháp thu thập thông tin (luật học learning rule).

8. Môi trường hệ thống có thể kích hoạt.

Trang 50

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 51/81

2. Đơn vị xử lý 

Một đơn vị xử lý cũng được gọi là một nơron hay một nút (node), thực hiện

một công việc đơn giản: nhận tín hiệu vào từ các đơn vị phía trước và sử dụng chúng

để tính tín hiệu ra sẽ được lan truyền sang các đơn vị khác.

 Hình 4.1: Đơn vị xử lý (Processing Unit)

Trong đó:

xi: các đầu vào của đơn vị xử lý thứ i

wij: trọng số kết nối giữa đơn vị xử lý thứ i với đơn vị xử lý thứ j

θ j: độ lệch (bias)

a j: đầu vào mạng (net input)

z j: đầu ra nơron

g(x): hàm kích hoạt

trong một mạng nơron có 3 kiểu đơn vị:

1. Các đơn vị đầu vào (input units), nhận tín hiệu từ đầu vào

2. Các đơn vị đầu ra (output units), gửi tín hiệu ra ngoài

3. Các đơn vị ẩn (hidden units), nằm giữa lớp đầu vào và lớp đầu ra.

Mỗi đơn vị j có một hoặc nhiều đầu vào: x1, x2, x3, …, xn, nhưng chỉ có một đầu ra z j.

Một đầu vào của đơn vị j có thể là dữ liệu từ bên ngoài mạng chuyển vào hoặc đầu ra

của một đơn vị khác hoặc đầu ra của chính nó.

Trang 51

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 52/81

3. Hàm xử lý 

a. Hàm kết hợp

Mỗi nơron trong lớp mạng kết hợp với các giá trị đưa vào nó thông qua các liên

kết với các nơron của lớp mạng khác, sinh ra một giá trị gọi là Net Input. Hàm thựchiện nhiệm vụ này gọi là hàm kết hợp hay thành phần tuyến tính của nơron. Tổng đầu

vào đơn vị j bằng tổng trọng số của các đầu ra từ các đơn vị kết nối cộng thêm ngưỡng

hay độ lệch (bias) θ j.

∑=

+=n

i

  j  jij  j xwa1

θ 

+  Nếu wij > 0, nơron được coi như đang ở trong trạng thái kích thích.

+  Nếu wij < 0, nơron ở trạng thái kiềm chế.

θ j: hằng số

b. Hàm kích hoạt

Các đầu ra của nơron sinh học là các xung, có giới hạn chặn. Trong mô phỏng,

để đảm bảo hệ ổn định đầu ra, người ta gán hàm chặn ở lối ra cho các tín hiệu. Để đặc

trưng cho điều đó, ở lối ra của mỗi nơron phải đặt một hàm chặn, thường ở dạng phi

tuyến. Kết quả của hàm này là một giá trị đặc trưng cho mức độ kích hoạt của nơron.Có 3 dạng hàm kích hoạt thường được sử dụng:

1. Hàm dấu (Hard Limiter Function)

g(x)

x

1

-1

0

 Hình 4.2: Hàm dạng dấu

2. Hàm bước nhị phân (Binary Step Function)

Giá trị đầu ra của hàm này được giới hạn vào một trong 2 giá trị:{ 0xnêu1

0xnêu0g(x)

<=

Trang 52

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 53/81

Dạng hàm này thường được sử dụng trong các mạng chỉ có một lớp và θ j = 1.

g(x)

x

1

0

 Hình 4.3: Hàm bước nhị phân

3. Hàm sigmoid (Sigmoid Function (logsig))

 xe x g  −

+

=1

1

)(

Hàm này sử dụng cho các mạng được huấn luyện (trained) bởi thuật toán Lan

truyền ngược (Back – Propagation), bởi vì nó dễ lấy đạo hàm, do đó giảm đáng kể

các phép tính trong quá trình huấn luyện mạng. Hàm này được sử dụng cho những

ứng dụng mà giá trị đầu ra nằm trong khoảng [0;1].

 Hình 4.4: Hàm sigmoid 

Các hàm chuyển đối với các nơron lớp ẩn là cần thiết để biểu diễn sự phi tuyến

vào trong mạng. Lý do là hợp thành của các hàm đồng nhất là một hàm đồng nhất.

Mặc dù vậy nhưng nó mang tính chất phi tuyến (nghĩa là, khả năng biểu diễn các hàm

 phi tuyến) làm cho các mạng nhiều lớp có khả năng rất tốt trong biểu diễn các ánh xạ

  phi tuyến. Tuy nhiên, đối với luật học lan truyền ngược, hàm phải khả vi

(differentiable) và sẽ có ích nếu như hàm được gắn trong một khoảng nào đó. Do vậy,

hàm sigmoid là lựa chọn tốt nhất.

Đối với các đơn vị đầu ra, các hàm chuyển được chọn sao cho phù hợp với sự

 phân phối của các giá trị đích mong muốn. Nếu giá trị ra trong khoảng [0;1] thì hàm

sigmoid là phù hợp nhất.

Trang 53

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 54/81

4. Phân loại mạng 

Cấu trúc mạng được định nghĩa bởi: số lớp (layers), số nơron mỗi lớp, và sự

liên kết giữa các lớp như thế nào. Các mạng về tổng thể được chia thành 2 loại dựa

trên cách thức liên kết giữa các lớp.a) Mạng truyền thẳng (Multilayered Feedforward Neural Network - MFNN)

Trong mạng nơron truyền thẳng, các liên kết đi theo một hướng nhất định từ

lớp vào tới lớp ra, không tạo thành đồ thị có chu trình với các đỉnh là các nơron, các

cung là các liên kết giữa chúng.

 Hình 4.5: Mạng nơron truyền thẳng nhiều lớp b) Mạng hồi quy (Recurrent Neural Network)

Cấu trúc mạng được kết nối chuyển tiếp tín hiệu từ lớp vào thông qua lớp ẩn

đến lớp ra và đồng thời hồi tiếp tín hiệu về đơn vị xử lý chính nó hoặc các đơn vị xử

lý trong lớp hoặc ở lớp khác. Mạng hồi qui cho phép các liên kết nơron tạo thành chu

trình. Vì các thông tin ra của các nơron được truyền lại cho các nơron đã góp phần

kích hoạt chúng, nên mạng hồi qui còn có khả năng lưu trữ trạng thái trong của nó

dưới dạng các ngưỡng kích hoạt ngoài các trọng số liên kết nơron.

 Hình 4.6: Mạng hồi quy

Trang 54

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 55/81

c) Mạng tự tổ chức (Self Origanizing Feature Maps – SOM)

Con người có khả năng sử dụng kinh nghiệm quá khứ để thích nghi với những

thay đổi của môi trường. Sự thích nghi đó không cần hướng dẫn hay chỉ đạo từ bên

ngoài. Mạng nơron thực hiện theo nguyên lý đó gọi là mạng tự tổ chức. SOM đượcKohonen phát triển vào đầu thập những năm 80, nên cũng thường được gọi là mạng

Kohonen. SOM được dùng để gom cụm dữ liệu (data clustering), nghĩa là học không

có hướng dẫn (unsupervised learning).

Cấu trúc SOM thường có hai lớp: lớp đầu vào (input layer) và lớp Kohonen

(Kohonen layer). Các nơ ron của lớp đầu vào tương ứng với một thành phần trong

vector đặc trưng đang xét. Ví dụ nếu xét dữ liệu có vector đặc trưng là 4 thành phần

thì lớp đầu vào sẽ có 4 nơ ron. Mỗi nơ ron của lớp đầu vào được nối với tất cả các nơ 

ron của lớp Kohonen. Các nơ ron trong lớp Kohonen được tổ chức thành một không

gian n chiều. N được gọi là số chiều của SOM. Ví dụ N=2: lớp Kohonen là một lưới 2

chiều các nơ ron. Với N=3: lớp Kohonen là một khối 3 chiều các nơ ron. Mỗi nơ ron

thuộc lớp Kohonen ngoài các giá đầu vào, đầu ra còn có vector trọng số liên kết với

các nơ ron thuộc lớp đầu vào. Hay nói cách khác, mỗi nơ ron của lớp Kohonen sẽ có

thêm một vector trọng số N chiều. Có thể xem mỗi nơ ron trong lớp Kohonen như là

đại diện cho một cụm với vector trọng số chính là vector trọng tâm của cụm đó. Thật

sự điều này không hẳn lúc nào cũng như vậy mà cần có sự linh hoạt trong việc xácđịnh cấu hình (số chiều) và số nơ ron trong lớp Kohonen, đây chỉ là một gợi ý cho

những ai chưa biết về SOM trong cài đặt sau này.

5. Huấn luyện mạng 

Mạng nơron như một hệ thống thích nghi có khả năng học (huấn luyện) để tinh

chỉnh các trọng số liên kết cũng như cấu trúc của nó sao cho phù hợp với các mẫu học

(sample). Có hai cách học trong các mạng nơron nhân tạo đó là học cấu trúc và học

thông số:Học cấu trúc là quá trình học thay đổi cấu trúc bên trong của mạng. Việc học

cấu trúc của mạng truyền thẳng gắn với yêu cầu tìm ra số lớp của mạng và số nơron

trên mỗi lớp. Tuy nhiên, với các mạng hồi qui còn phải xác định thêm các tham số

ngưỡng θ của các nơron trong mạng. Về thực chất, việc điều chỉnh cấu trúc mạng đều

qui về bài toán tìm kiếm tối ưu trong không gian tham số. Vì vậy, có thể áp dụng các

giải thuật tìm kiếm tối ưu (gradient, giải thuật di truyền…).

Trang 55

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 56/81

Học tham số là quá trình học cập nhật các trọng số kết nối giữa các đơn vị xử

lý trong mạng sao cho xấp xỉ với bộ trọng số mong muốn để có được ánh xạ vào ra

như mong muốn.

Cho wij là trọng số kết nối giữa đơn vị thứ i với đơn vị thứ j, luật học cập nhậttrọng số được thiết lập:

ijij www ∆+=ij

Trong đó:

ijw∆ : số gia trọng số

Có 3 kỹ thuật học:

a) Học có thầy (Supervised Learning)Trong học có thầy, mạng được cung cấp một tập mẫu học {(Xs,Ys)} theo nghĩa

Xs là các tín hiệu vào, thì kết quả ra đúng của hệ phải là Ys. Ở mỗi lần học, vectơ tín

hiệu vào Xs được đưa vào mạng, sau đó so sánh sự sai khác giữa các kết quả ra đúng

Ys với kết quả tính toán thực tế. Sai số này sẽ được dùng để hiệu chỉnh lại các trọng

số liên kết trong mạng. Quá trình cứ tiếp tục đến khi thỏa mãn một tiêu chuẩn nào đó.

 b) Học không có thầy (Unsupervised Learning)

Với cách học không có thầy, không có tập mẫu dữ liệu đẩu ra mong muốn, quátrình học với tập dữ liệu vào mong muốn, mạng tự cập nhật các trọng số kết nối dựa

trên cơ sở tập dữ liệu vào mong muốn sao cho dữ liệu ra thực sự của mạng thích nghi

với tập dữ liệu vào mong muốn.

Thể loại học này thường sử dụng dữ liệu không phân lớp và quá trình học tự

khám phá để phân lớp dữ liệu.

c) Học tăng cường (R einforcement Learning)

Trang 56 

Xs

Ds

zsMạng Neuron

Sai sốHiệu chỉnh W

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 57/81

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 58/81

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 59/81

Với nơron ẩn thứ j:

  j

n

i

iij  j xwa θ  ∑+

=

+=1

1

, )(   j  j a  f   y =

Với nơron ra thứ k:

 J 

  j

  jkjk  yva θ  +=∑+

=

1

1

, )( k k  a  f   z  =

Hàm kích hoạt được sử dụng trong MFNN:

 xe

 x  f  −+

=1

1)(  

Hàm f đơn điệu tăng, khả vi và cho giá trị thuộc [0;1].

)()).(1(1

)(' x  f   x  f  e

e x  f  

 x

 x

−=+

=−

Cho trước một mẫu đầu vào, mạng sẽ tạo ở đầu ra giá trị thực tế z k , giá trị này

được đem so sánh với giá trị mẫu mong muốn ở đầu ra dk . Trong vấn đề phân lớp, đáp

ứng giá trị mong muốn của mỗi nơron sẽ hoặc là 0 hoặc là 1, trong khi đó các vấn đề

dự báo sử dụng giá trị liên tục. Các trọng số của mạng sau đó được hiệu chỉnh cho

đúng hoặc giảm lỗi và các mẫu tiếp theo được biểu diễn. Trọng số tiếp tục được hiệuchỉnh cho tới khi tổng lỗi qua tất cả mẫu học được giảm tới mức cho phép. Thuật toán

học này hiểu như là thuật toán lan truyền ngược.

2. Khả năng tính toán của mạng nhiều lớp

Các mạng truyền thẳng cho ta một kiến trúc tổng quát thể hiện khả năng ánh xạ

hàm phi tuyến tính giữa một tập các mẫu đầu vào và tập các mẫu đầu ra. Khả năng thể

hiện của một mạng có thể được định nghĩa là khoảng mà nó có thể thực hiện ánh xạ

khi các trọng số biến thiên. Các mạng một lớp chỉ có khả năng thể hiện các hàm khả phân tuyến tính hay

các miền phân chia được (ví dụ như hàm logic AND có miền giá trị có thể phân

chia được bằng một đường thẳng trong khi miền giá trị của hàm XOR thì

không).

Các mạng có hai lớp ẩn có khả năng thể hiện một đường biên phân chia tùy ý

với một độ chính xác bất kỳ với các hàm chuyển phân ngưỡng và có thể xấp xỉ

 bất kỳ ánh xạ mịn nào với độ chính xác bất kỳ với các hàm chuyển có dạngsigmoid.

Trang 59

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 60/81

Một mạng có một lớp ẩn có thể xấp xỉ tốt bất kỳ một ánh xạ liên tục nào từ một

không gian hữu hạn sang một không gian hữu hạn khác, chỉ cần cung cấp số

nơron đủ lớn cho lớp ẩn. Chính xác hơn, các mạng truyền thẳng với một lớp ẩn

được luyện bởi các phương pháp bình phương tối thiểu (least-squares) là các bộ

xấp xỉ chính xác cho các hàm hồi quy nếu như các giả thiết về mẫu, độ nhiễu,

số đơn vị trong lớp ẩn và các nhân tố khác thỏa mãn. Các mạng nơron truyền

thẳng với một lớp ẩn sử dụng các hàm chuyển hay hàm phân ngưỡng là các bộ

xấp xỉ đa năng cho bài toán phân lớp nhị phân với các giả thiết tương tự.

3. Xác định cấu trúc mạng tối ưu

Mặc dù, về mặt lý thuyết, có tồn tại một mạng có thể mô phỏng một bài toán

với độ chính xác bất kỳ. Tuy nhiên, để có thể tìm ra mạng này không phải là điều đơn

giản. Để định nghĩa chính xác một kiến trúc mạng như: cần sử dụng bao nhiêu lớp ẩn,

mỗi lớp ẩn cần có bao nhiêu đơn vị xử lý cho một bài toán cụ thể là một công việc hết

sức khó khăn.

Dưới đây trình bày một số vấn đề cần quan tâm khi ta thiết kế một mạng.

a. Số lớp ẩn

Vì các mạng có hai lớp ẩn có thể thể hiện các hàm với dáng điệu bất kỳ, nên,

về lý thuyết, không có lý do nào sử dụng các mạng có nhiều hơn hai lớp ẩn. Thựcnghiệm đã chỉ ra rằng đối với phần lớn các bài toán cụ thể, chỉ cần sử dụng một lớp ẩn

cho mạng là đủ. Các bài toán sử dụng hai lớp ẩn hiếm khi xảy ra trong thực tế. Thậm

chí đối với các bài toán cần sử dụng nhiều hơn một lớp ẩn thì trong phần lớn các

trường hợp trong thực tế, sử dụng chỉ một lớp ẩn cho ta hiệu năng tốt hơn là sử dụng

nhiều hơn một lớp. Việc huấn luyện mạng thường rất chậm khi mà số lớp ẩn sử dụng

càng nhiều. Lý do sau đây giải thích cho việc sử dụng càng ít các lớp ẩn càng tốt là:

Phần lớn các thuật toán luyện mạng cho các mạng nơron truyền thẳng đều dựa

trên phương pháp gradient. Các lớp thêm vào sẽ thêm việc phải lan truyền các

lỗi làm cho vector gradient rất không ổn định. Sự thành công của bất kỳ một

thuật toán tối ưu theo gradient phụ thuộc vào độ không thay đổi của hướng khi

mà các tham số thay đổi.

Số các cực trị địa phương tăng lên rất lớn khi có nhiều lớp ẩn. Phần lớn các

thuật toán tối ưu dựa trên gradient chỉ có thể tìm ra các cực trị địa phương, do

vậy chúng có thể không tìm ra cực trị toàn cục. Mặc dù thuật toán luyện mạng

Trang 60

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 61/81

có thể tìm ra cực trị toàn cục, nhưng xác suất khá cao là chúng ta sẽ bị tắc trong

một cực trị địa phương sau rất nhiều thời gian lặp và khi đó, ta phải bắt đầu lại.

Dĩ nhiên, có thể đối với một bài toán cụ thể, sử dụng nhiều hơn một lớp ẩn với

chỉ một vài đơn vị thì tốt hơn là sử dụng ít lớp ẩn với số đơn vị là lớn, đặc biệtđối với các mạng cần phải học các hàm không liên tục. Về tổng thể, người ta

cho rằng việc đầu tiên là nên xem xét khả năng sử dụng mạng chỉ có một lớp

ẩn. Nếu dùng một lớp ẩn với một số lượng lớn các đơn vị mà không có hiệu

quả thì nên sử dụng thêm một lớp ẩn nữa với một số ít các đơn vị.

b. Số nơron trong lớp ẩn

Một vấn đề quan trọng trong việc thiết kế một mạng là cần có bao nhiêu đơn vị

trong mỗi lớp. Sử dụng quá ít đơn vị có thể dẫn đến việc không thể nhận dạng đượccác tín hiệu đầy đủ trong một tập dữ liệu phức tạp, hay thiếu ăn khớp (underfitting).

Sử dụng quá nhiều đơn vị sẽ tăng thời gian luyện mạng, có lẽ là quá nhiều để luyện

khi mà không thể luyện mạng trong một khoảng thời gian hợp lý. Số lượng lớn các

đơn vị có thể dẫn đến tình trạng thừa ăn khớp (overfitting), trong trường hợp này

mạng có quá nhiều thông tin, hoặc lượng thông tin trong tập dữ liệu mẫu (training set)

không đủ các dữ liệu đặc trưng để huấn luyện mạng. Số lượng tốt nhất của các đơn vị

ẩn phụ thuộc vào rất nhiều yếu tố - số đầu vào, đầu ra của mạng, số trường hợp trong

tập mẫu, độ nhiễu của dữ liệu đích, độ phức tạp của hàm lỗi, kiến trúc mạng và thuậttoán huấn luyện mạng.

Có rất nhiều “luật” để lựa chọn số đơn vị trong các lớp ẩn:

•  Nằm giữa khoảng kích thước lớp vào, lớp ra.

• 2/3 tổng kích thước lớp vào và lớp ra.

•  Nhỏ hơn hai lần kích thước lớp vào.

• Căn bậc hai của tích kich thước lớp vào và lớp ra.

Các luật này chỉ có thể được coi như là các lựa chọn thô khi chọn lựa kích

thước của các lớp. Chúng không phản ánh được thực tế, bởi lẽ chúng chỉ xem xét đến

nhân tố kích thước đầu vào, đầu ra mà bỏ qua các nhân tố quan trọng khác như: số

trường hợp đưa vào huấn luyện, độ nhiễu ở các đầu ra mong muốn, độ phức tạp của

hàm lỗi, kiến trúc của mạng (truyền thẳng hay hồi quy), và thuật toán học.

Trong phần lớn các trường hợp, không có một cách để có thể dễ dàng xác định

được số tối ưu các đơn vị trong lớp ẩn mà không phải luyện mạng sử dụng số các đơn

Trang 61

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 62/81

vị trong lớp ẩn khác nhau và dự báo lỗi tổng quát hóa của từng lựa chọn. Cách tốt nhất

là sử dụng phương pháp thử-sai (trial-and-error). Trong thực tế, có thể sử dụng

 phương pháp Lựa chọn tiến (forward selection) hay Lựa chọn lùi (backward selection)

để xác định số đơn vị trong lớp ẩn.

Lựa chọn tiến bắt đầu với việc chọn một luật hợp lý cho việc đánh giá hiệu

năng của mạng. Sau đó, ta chọn một số nhỏ các đơn vị ẩn, luyện và thử mạng; ghi lại

hiệu năng của mạng. Sau đó, tăng một chút số đơn vị ẩn; luyện và thử lại cho đến khi

lỗi là chấp nhận được, hoặc không có tiến triển đáng kể so với trước. Lựa chọn lùi,

ngược với lựa chọn tiến, bắt đầu với một số lớn các đơn vị trong lớp ẩn, sau đó giảm

dần đi. Quá trình này rất tốn thời gian nhưng sẽ giúp ta tìm được số lượng đơn vị phù

hợp cho lớp ẩn.

4. Huấn luyện mạng bằng thuật toán lan truyền ngược

Cần có một sự phân biệt giữa kiến trúc của một mạng và thuật toán học của nó,

các mô tả trong các mục trên, mục đích là nhằm làm rõ các yếu tố về kiến trúc của

mạng và cách mà mạng tính toán các đầu ra từ tập các đầu vào. Sau đây là mô tả của

thuật toán học sử dụng để điều chỉnh hiệu năng của mạng sao cho mạng có khả năng

sinh ra được các kết quả mong muốn. Như đã nêu, về cơ bản có hai dạng thuật toán để

luyện mạng: học có thầy và học không có thầy. Các mạng nơron truyền thẳng nhiều

lớp được luyện bằng phương pháp học có thầy. Phương pháp này căn bản dựa trênviệc yêu cầu mạng thực hiện chức năng của nó và sau đó trả lại kết quả, kết hợp kết

quả này với các đầu ra mong muốn để điều chỉnh các tham số của mạng, nghĩa là

mạng sẽ học thông qua những sai sót của nó.

Thuật toán lan truyền ngược hướng được sử dụng để hiệu chỉnh các trọng số

kết nối sao cho tổng sai số E nhỏ nhất.

2

1

)(k k 

 K 

 z d  E  −=

∑=

Phương pháp hiệu chỉnh trọng số liên kết nơron dựa trên nguyên tắc lan truyền

ngược sai số có thể lý giải dựa trên nguyên lý tìm kiếm gradient trong không gian

tham số trọng số kết nối sao cho cực tiểu hàm sai số tổng cộng:

2

1

)(2

1

k k 

 K 

 z d  E  −= ∑=

, Đặt )(k k k  z d e −= ∑

=

=⇒ K 

k e E 1

2

2

1

Lấy đạo hàm riêng của E theo v jk :

Trang 62

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 63/81

  jk 

k   jk  v

a

a

 z 

 z 

e

e

 E 

v

 E 

∂∗

∂∗

∂∗

∂=

∂(1)

Trong đó:

 K 

ee

e

e

 E =

   

  ∂

=∂∂ ∑

=1

2

2

1

(1.1)

1)(

−=∂−∂

=∂∂

k k 

 z 

 z d 

 z 

e(1.2)

)('))((

k  a  f  a

a  f  

a

 z =

∂∂

=∂∂

(1.3)

  j

  jk 

 J 

  j

  j  jk 

  jk 

k   yv

 yv

v

a=

   

  

 ∂

=∂∂

∑+

=

1

1 (1.4)

Thay (1.1), (1.2), (1.3), (1.4) vào công thức (1) ta được:

  jk   jk k 

  jk 

 y ya  f  ev

 E ∗−=∗∗−=

∂⇒ δ  )(' (1.5)

  ))(1).(().()(' k k k k k k k  a  f  a  f   z d a  f  e −−=∗=δ   (1.6)

Lấy đạo hàm riêng của E theo wij:

ij

  j

  j

  j

  jijw

a

a

 y

 y

 E 

w

 E 

∂∗

∂∗

∂=

∂(2)

Trong đó:

)('))((

  j

  j

  j

  j

  ja  f  

a

a  f  

a

 y=

∂=

∂(2.1)

i

ij

n

i

  jij

ij

  j x

w

 xw

w

a=

∂=

∂ ∑+

=

1

1 (2.2)

∑∑

=

=

∂∂

=∂

  

  

 ∂

=∂∂ K 

k  j

k k 

  j

 K 

  j y

ee

 y

e

 y

 E 

1

1

2

.2

1

(2.3)

  j

  j

 y

a

a

e

 y

e

∂∗

∂=

(2.3.1)

Trang 63

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 64/81

( ) ( ))('

)(k 

k k 

k k 

k  a f  a

a f  d 

a

 z d 

a

e−=

−∂=

−∂=

∂(2.3.1.1)

  jk 

  j

 J 

  j

  j  jk 

  j

k  v y

 yv

 ya =∂

  

 

 

 

 ∂

=∂∂∑+

=

1

1

(2.3.1.2)

Thay (2.3.1.1), (2.3.1.2) vào (2.3.1) ta được:

  jk k 

  j

k  va  f   y

e).('−=

∂⇒ (2.3.2)

Thay (2.3.2) vào (2.3.1) ta được:

∑= −=∂

 K 

k   jk k k 

  jva  f  e y

 E 

1 )).('.( (2.4)

Thay (2.1), (2.2), (2.4) vào (2) ta được:

i  ji

 K 

  jk k   ji  j

 K 

  jk k k 

ij

 x xva y xa  f  va  f  ew

 E ...).(').(').)).('.((

11

δ  δ   −=  

  

 −=−=∂∂⇒ ∑∑

==(2.5)

  

  

 −= 

 

  

 = ∑∑

==

 K 

  jk k   j  j

 K 

  jk k   j  j va  f  a  f  va y11

.).(1).((.).(' δ δ δ  (2.6)

Việc hiệu chỉnh vectơ trọng số W={wij}, V={v jk } sao cho min→ E  dẫn tới việc

xác định vectơ gia số ijwW  ∆=∆ ,   jk vV  ∆=∆ ngược hướng với vectơ gradient ijw E  ∂∂  

và   jk v E  ∂∂ . Nói cách khác:

ik ik   jk  y yv ..)..( δ  α δ  α  =−−=∆ (3)

i  ji  jij x xw ..)..( δ  α δ  α  =−−=∆ (Với α: hệ số học) (4)

Giải thuật học lan truyền ngược cập nhật trọng số kết nối trong mạng được cài

đặt gồm các bước sau:

Bước 1: Nhập tập mẫu huấn luyện vào, ra mong muôn {Xs, Ds}

Trong đó: Xs là vectơ mẫu vào Xs = {x1, x2, x3,… ,xn}

Ds là vectơ mẫu ra Ds ={d1,d2,d3,…, dJ}

Khởi tạo [ ]5.0,5.0−∈ijw

Bước 2: Tính giá trị đầu vào và đầu ra cho nơron lớp ẩn.

Trang 64

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 65/81

  j

n

i

iij  j xwa θ +=∑+

=

1

1

, )(   j  j a  f   y =

Bước 3: Tính giá trị đầu vào và đầu ra cho nơron lớp ra.

 J 

  j

  j  jk k  yva θ  +=∑+

=

1

1

, )( k k  a  f   z  =

Bước 4: Hiệu chỉnh trọng số liên kết dẫn đến lớp ra.

))(1).(().( k k k k k  a  f  a  f   z d  −−=δ   theo (1.6)

i  j  jk   jk  yvv ... δ  α β  +∆=∆ theo (3)

  jk   jk   jk  vvv ∆+=

k k  δ  α θ   .=∆ , k k k  θ θ θ  ∆+=∆

Bước 5: Hiệu chỉnh trọng số liên kết dẫn đến lớp ẩn.

  

  

 −= ∑=

 K 

  jk k   j  j  j va  f  a  f  1

.).(1).(( δ δ  theo (2.6)

i  jijij xww ... δ  α β  +∆=∆ theo (4)

ijijij www ∆+=  

  j  j δ  α θ   .=∆ ,   j  j  jθ  θ  θ   ∆+=∆

Bước 6: Tính sai số gặp phải

2

1

)( k k 

 K 

 z d  E  E  −+= ∑=

Lặp lại từ Bước 1 cho tới khi tất cả các mẫu được biểu diễn (một vòng lặp-one epoch)

Bước 7: Nếu giá trị E đạt mức chấp nhận được cho trước (0.00001) thì dừng quá trìnhhuấn luyện mạng. Ngược lại, gán E=0, và lặp từ bước 1 cho vòng lặp khác.

5. Sự hội tụ và độ phức tạp của quá trình huấn luyện mạng 

Độ phức tạp thời gian của mạng nhiều lớp chủ yếu phụ thuộc vào thời gian

huấn luyện mạng với tập mẫu nào đó. Giả sử có m mẫu vào và |ws| trọng số. Mỗi lần

đưa tất cả các mẫu đi qua mạng (gọi là một vòng lặp - one epoch) phải tốn O(m.|w s| )

thao tác trên nơron. Trong trường hợp xấu nhất, số vòng lặp sẽ phụ thuộc hàm mũ vàsố đầu vào n. Do đó, chi phí thời gian sẽ là O(k n.m.|ws|).

Trang 65

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 66/81

III. Ứng dụng mạng nơron truyền thẳng vào dự dữ liệu.

1. Sơ lược về dự báo dữ liệu

Sử dụng mạng nơron huấn luyện bởi thuật toán lan truyền ngược là phương

 pháp hữu hiệu khi tiếp cận bài toán dự báo dữ liệu. Để sử dụng mạng nơron chúng ta

cần phải cân nhắc, lựa chọn các tham số như:

Số lớp ẩn

Số nơron cho mỗi lớp

Hằng số học

Khoảng, khuân dạng dữ liệu đưa vào huấn luyện

Hàm kích hoạt

Bộ trọng số ban đầu

Hệ số quán tính (Momentium)

Việc dự báo là vấn đề phức tạp, cả về số lượng dữ liệu cần quan tâm cũng như

độ chính xác của dữ liệu dự báo. Do đó, việc lựa chọn một cấu trúc mạng phù hợp cho

việc dự báo là một việc rất khó khăn (chỉ có thể bằng phương pháp thử sai). Tuy

nhiên, việc sử dụng thuật toán lan truyền ngược đã được thực tế chứng minh là mộtcông cụ tốt cho các bài toán trong lĩnh vực dự báo dữ liệu.

Do đặc trưng về độ phức tạp dữ liệu, các dữ liệu đầu ra thường là các con số

(mảng các số) dấu phảy động cho nên việc lựa chọn cấu trúc mạng phù hợp thường là

sử dụng phương pháp thử-sai (trial and errors). Đồng thời cần phải chuẩn hóa (loại bỏ

các dữ liệu sai, thừa, đưa chúng về đoạn [0,1] hoặc [-1,1],...) các dữ liệu đầu vào và

đầu ra để mạng có khả năng học tốt hơn từ các dữ liệu được cung cấp. Trong việc dự

 báo dữ liệu, nếu dữ liệu ở nhiều khoảng thời gian khác nhau được đưa vào mạng đểhuấn luyện thì việc dự báo chính xác là rất khó nếu như mục đích là dự báo chính xác

100% dữ liệu trong tương lai. Ta chỉ có thể có được kết quả dự báo với một mức độ

chính xác nào đó chấp nhận được.

2. Thu thập, phân tích và xử lý dữ liệu

Dữ liệu đóng một vai trò rất quan trọng trong các giải pháp sử dụng mạng

nơron. Chất lượng, độ tin cậy, tính sẵn có và phù hợp của dữ liệu được sử dụng để

 phát triển hệ thống giúp cho các giải pháp thành công. Các mô hình đơn giản cũng cóthể đạt được những kết quả nhất định nếu như dữ liệu được xử lý tốt, bộc lộ được các

Trang 66 

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 67/81

thông tin quan trọng. Bên cạnh đó, các mô hình tốt có thể sẽ không cho ta các kết quả

mong muốn nếu dữ liệu đưa vào quá phức tạp và rắc rối.

Việc xử lý dữ liệu bắt đầu bằng việc thu thập và phân tích dữ liệu, sau đó là

 bước tiền xử lý. Dữ liệu sau khi qua bước tiền xử lý được đưa vào mạng nơron. Cuốicùng, dữ liệu đầu ra của mạng nơron qua bước hậu xử lý, bước này sẽ thực hiện biến

đổi kết quả trả về của  mạng nơron sang dạng hiểu được theo yêu cầu của bài toán

(Hình 15). Sau đây, trong các mục tiếp theo, ta sẽ đi vào xem xét từng bước trong quá

trình xử lý dữ liệu.

Thu thập , phân tíchdữ liệu

Tiền xử lý

Hậu xử lý

Mạng nơron

2.1 Thu thập dữ liệu

2.1.1 Xác đinh yêu cầu dữ liệu

Điều đầu tiên cần thực hiện khi lập kế hoạch thu thập dữ liệu là xác định xem

dữ liệu nào là cần thiết để có thể giải quyết bài toán. Ta cần phải xác định:

Các dữ liệu có liên quan chắc chắn đến bài toán

Trang 67 

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 68/81

Các dữ liệu có thể liên quan

Các dữ liệu nào là phụ trợ 

Dư liệu có liên quan và có thể liên quan đến bài toán phải được xem là các tham số

đầu vào của hệ thống.

2.1.2 Xác định nguồn dữ liệu

Bước kế tiếp là quyết định nơi sẽ lấy dữ liệu, điều này cho phép ta xác định

được các ước lượng thực tế về những khó khăn và phí tổn cho việc thu thập dữ liệu.

 Nếu ứng dụng yêu cầu các dữ liệu thời gian thực, những ước lượng này cần tính đến

khả năng chuyển đổi các dữ liệu tương tự thành dạng số.

Trong một số trường hợp, ta có thể chọn lựa dữ liệu mô phỏng từ các tìnhhuống thực tế. Tuy nhiên, cần phải quan tâm đến độ chính xác và khả năng thể hiện

của dữ liệu đối với các trường hợp cụ thể.

2.1.3 Xác định lượng dữ liệu

Ta cần phải ước đoán số lượng dữ liệu cần thiết để có thể sử dụng trong việc

xây dựng mạng. Nếu lấy quá ít dữ liệu thì những dữ liệu này sẽ không thể phản ánh

toàn bộ các thuộc tính mà mạng cần phải học và do đó mạng sẽ không có được phản

ứng mong đợi đối với những dữ liệu mà nó chưa được huấn luyện. Mặt khác, cũngkhông nên đưa vào huấn luyệncho mạng quá nhiều dữ liệu. Về tổng thể, lượng dữ liệu

cần thiết bị chi phối bởi số các trường hợp cần luyện cho mạng. Bản chất đa chiều của

dữ liệu và cách giải quyết mong muốn là các nhân tố chính xác định số các trường hợp

cần luyện cho mạng và kéo theo là lượng dữ liệu cần thiết.

Việc định lượng gần đúng lượng dữ liệu cần đưa vào luyện mạng là hết sức cần

thiết. Thông thường, dữ liệu thường thiếu hoàn chỉnh, do đó nếu muốn mạng có khả

năng thực hiện được những điều mà ta mong đợi thì nó cần phải được luyện với lượng

dữ liệu lớn hơn. Đương nhiên, nếu có được độ chính xác và hoàn chỉnh của dữ liệu thìsố các trường hợp cần thiết phải đưa vào mạng có thể giảm đi.

2.2 Phân tích dữ liệu

Có hai kỹ thuật cơ bản giúp ta có thể hiểu được dữ liệu:

2.2.1. Phân tích thống kê

Mạng nơron có thể được xem như là một mở rộng của các phương pháp thống

kê chuẩn. Các thử nghiệm có thể cho ta biết được khả năng mà mạng có thể thực hiện.Hơn nữa, phân tích có thể cho ta các đầu mối để xác định các đặc trưng, ví dụ, nếu dữ

Trang 68

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 69/81

liệu được chia thành các lớp, các thử nghiệm thống kê có thể xác định được khả năng

 phân biệt các lớp trong dữ liệu thô hoặc dữ liệu đã qua tiền xử lý.

2.2.2. Trực quan hóa dữ liệu

Trực quan hóa dữ liệu bằng cách vẽ biểu đồ trên các dữ liệu theo một dạngthích hợp sẽ cho ta thấy được các đặc trưng phân biệt của dữ liệu, chẳng hạn như: các

điểm lệch hay các điểm đỉnh. Điều này nếu thực hiện được, có thể áp dụng thêm các

thao tác tiền xử lý để tăng cường các đặc trưng đó.

Thông thường, phân tích dữ liệu bao gồm cả các kiểm tra thống kê và trực quan

hóa. Các kiểm tra này sẽ được lặp đi lặp lại. Trực quan hóa cho ta sự đánh giá về dữ

liệu và các khái niệm sơ khởi về các mẫu nằm sau dữ liệu. Trong khi các phương pháp

thống kê cho phép ta kiểm thử những khái niệm này.2.3 Xử lý dữ liệu

2.3.1 Dẫn nhập về xử lý dữ liệu

Khi những dữ liệu thô đã được thu thập, chúng cần phải được chuyển đổi sang

các khuôn dạng phù hợp để có thể đưa vào luyện mạng. Ở bước này, ta cần thực hiện

các công việc sau:

Kiểm tra tính hợp lệ dữ liệu (Data validity checks)

Việc kiểm tra tính hợp lệ sẽ phát hiện ra các dữ liệu không thể chấp nhận được

mà nếu sử dụng chúng thì sẽ cho ra các kết quả không tốt.

 Nếu có một mẫu cho một phân bố sai của dữ liệu (ví dụ, nếu phần lớn dữ liệu

được thu thập ở một ngày trong tuần) ta cần xem xét nguyên nhân của nó. Dựa trên

 bản chất của nguyên nhân dẫn đến sai lầm, ta có thể hoặc phải loại bỏ các dữ liệu này,

hoặc cho phép những thiếu sót đó. Nếu có các thành phần quyết định không mong

muốn như là các xu hướng hay các biến thiên có tính chất mùa vụ, chúng cần được

loại bỏ ngay.

Phân hoạch dữ liệu (Partitioning data)

Phân hoạch là quá trình chia dữ liệu thành các tập kiểm định, huấn luyện, và

kiểm tra. Theo định nghĩa, tập kiểm định được sử dụng để xác định kiến trúc của

mạng; các tập huấn luyện được dùng để cập nhật các trọng số của mạng; các tập kiểm

tra được dùng để kiểm tra hiệu năng của mạng sau khi luyện. Ta cần phải đảm bảo

rằng:

Trang 69

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 70/81

a) Tập huấn luyện chứa đủ dữ liệu, các dữ liệu đó phân bố phù hợp sao cho có

thể biểu diễn các thuộc tính mà ta muốn mạng sẽ học được.

 b) Không có dữ liệu trùng nhau hay tương tự nhau của các dữ liệu trong các tập

dữ liệu khác nhau.

2.3.2. Tiền xử lý 

Về mặt lý thuyết, một mạng nơron có thể dùng để ánh xạ các dữ liệu thô đầu

vào trực tiếp thành các dữ liệu đầu ra. Nhưng trong thực tế, việc sử dụng quá trình tiền

xử lý cho dữ liệu thường mang lại những hiệu quả nhất định trước khi những dữ liệu

này được đưa vào mạng. Có rất nhiều kỹ thuật liên quan đến tiền xử lý dữ liệu. Tiền

xử lý dữ liệu có thể là thực hiện lọc dữ liệu (trong dữ liệu biến thiên theo thời gian

time-series) hay các phương pháp phức tạp hơn như là các phương pháp kết xuất, tríchchọn các đặc trưng từ dữ liệu ảnh tĩnh (image data). Bởi lẽ việc chọn thuật toán dùng

trong tiền xử lý dữ liệu là phụ thuộc vào ứng dụng và bản chất của dữ liệu, cho nên,

các khả năng lựa chọn là rất lớn. Tuy nhiên, mục đích của các thuật toán tiền xử lý dữ

liệu thường tương tự nhau, như sau:

1) Chuyển đổi dữ liệu về khuôn dạng phù hợp đối với đầu vào mạng nơron -

điều này thường đơn giản hóa quá trình xử lý của mạng phải thực hiện trong thời gian

ngắn hơn.

Các chuyển đổi này có thể bao gồm:

• Áp dụng một hàm toán học (hàm logarit hay bình phương) cho đầu vào;

• Mã hóa các dữ liệu văn bản trong cơ sở dữ liệu;

• Chuyển đổi dữ liệu sao cho nó có giá trị nằm trong khoảng [0, 1].

• Lấy biến đổi Fourier cho các dữ liệu thời gian.

2) Lựa chọn các dữ liệu xác đáng nhất - việc lựa chọn này có thể bao gồm cácthao tác đơn giản như lọc hay lấy tổ hợp của các đầu vào để tối ưu hóa nội dung của

dữ liệu. Điều này đặc biệt quan trọng khi mà dữ liệu có nhiễu hoặc chứa các thông tin

thừa. Việc lựa chọn cẩn thận các dữ liệu phù hợp sẽ làm cho mạng dễ xây dựng và

tăng cường hiệu năng của chúng đối với các dữ liệu nhiễu.

3) Tối thiểu hóa số các đầu vào mạng - giảm số chiều của dữ liệu đầu vào và

tối thiểu số các mẫu đưa vào có thể đơn giản hóa được bài toán. Trong một số trường

hợp - chẳng hạn trong xử lý ảnh – ta không thể nào đưa tất cả các dữ liệu vào mạng.

Ví dụ như trong ứng dụng nhận dạng ảnh, mỗi một ảnh có thể chứa hàng triệu điểm

Trang 70

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 71/81

ảnh, khi đó rõ ràng là không khả thi nếu sử dụng nhiều đầu vào như vậy. Trong trường

hợp này, việc tiền xử lý cần thực hiện giảm số đầu vào của dữ liệu bằng cách sử dụng

các tham số đơn giản hơn chẳng hạn như sử dụng các tham số vùng ảnh và tỷ lệ chiều

dài/chiều cao. Quá trình này còn gọi là trích chọn dấu hiệu (feature extraction).

2.3.3 Hậu xử lý 

Hậu xử lý bao gồm các xử lý áp dụng cho đầu ra của mạng. Cũng như đối với

tiền xử lý, hậu xử lý hoàn toàn phụ thuộc vào các ứng dụng cụ thể và có thể bao gồm

cả việc phát hiện các tham số có giá trị vượt quá khoảng cho phép hoặc sử dụng đầu ra

của mạng như một đầu vào của một hệ khác, chẳng hạn như một bộ xử lý dựa trên

luật. Đôi khi, hậu xử lý chỉ đơn giản là quá trình ngược lại đối với quá trình tiền xử lý.

3.2.4. Tổng hợp

Trong thực tế khi xây dựng các mạng nơron ứng dụng trong lĩnh vực dự báo dữ

liệu, việc áp dụng các phương pháp tiền xử lý dữ liệu đầu vào (và sau đó áp dụng

 phương pháp hậu xử lý để biến đổi đầu ra về dạng phù hợp) giúp ích rất nhiều trong

các ứng dụng. Như đã nêu ở trên, có rất nhiều các phương pháp có thể áp dụng cho dữ

liệu ở quá trình tiền xử lý cũng như hậu xử lý. Các phương pháp này thực sự hiệu quả

cho các bài toán cụ thể bởi lẽ chúng làm giảm bớt đi độ phức tạp của dữ liệu đầu vào,

từ đó làm giảm thời gian học của mạng nơron.Các phương pháp xử lý dữ liệu còn phụ thuộc vào công việc thu thập, phân tích

và lựa chọn dữ liệu đầu vào cho mạng. Đây cũng là yếu tố quyết định cho sự thành

công của các ứng dụng mạng nơron. Việc dữ liệu được chuẩn hóa trước khi đưa vào

mạng huấn luyện có thể làm giảm bớt thời gian mạng học, làm tăng độ chính xác cho

dữ liệu dự báo. Điều này rất có ý nghĩa bởi lẽ thuật toán lan truyền ngược khi thực thi

rất tốn thời gian!

3. Áp dụng xây dựng chương trình dự báo dữ liệu3.1 Các bước chính trong quá trình thiết kế và xây dựng 

Trước hết, dưới đây nêu ra các bước chính trong quá trình thiết kế và xây dựng

một ứng dụng dựa trên mạng nơron. Có rất nhiều vấn đề cần phải xem xét khi xây

dựng mạng nơron nhiều lớp sử dụng thuật toán lan truyền ngược:

Tiền xử lý dữ liệu

Tần số của dữ liệu: hàng ngày, hàng tuần, hàng tháng hay hàng quý.

Kiểu dữ liệu: các chỉ số kỹ thuật hay các chỉ số căn bản.

Trang 71

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 72/81

Cách thức chuẩn hóa dữ liệu: max/min hay Trung bình/Độ lệch chuẩn

(standard deviation).

 Huấn luyện

Hệ số học.

Hệ số bước đà.

Hệ số thứ lỗi.

Số chu kỳ tối đa.

Hệ số học tối đa.

Thực hiện lấy ngẫu nhiên trọng số.

Kích thước của các tập huấn luyện, kiểm tra, và kiểm định.

Cấu trúc mạng (topology)

Số đầu vào.

Số lớp ẩn.

Số nơron trong các lớp.

Số nơron đầu ra.

Hàm chuyển cho các nơron.

Hàm lỗi.

Dưới đây là các bước chính cần thực hiện khi thiết kế mô hình mạng nơron sử dụng

cho bài toán dự báo:

i) Chọn lựa các biến.

ii) Thu thập dữ liệu.

iii) Tiền xử lý dữ liệu.

iv) Phân chia tập dữ liệu thành các tập: huấn luyện, kiểm tra, kiểm định.

v) Xác định cấu trúc mạng:

• số lớp ẩn.

• số nơron trong các lớp ẩn.

• số nơron đầu ra.

• các hàm chuyển.

Trang 72

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 73/81

vi) Xác định tiêu chuẩn đánh giá (hàm lỗi)

vii) Huấn luyện mạng.

viii) Thực thi trong thực tế.

Trong khi thực hiện, không nhất thiết phải theo thứ tự các bước mà có thể quay

lại các bước trước đó, đặc biệt là ở bước huấn luyện và lựa chọn các biến.

Bước 1: Chọn lựa các biến

Trong bài toán dự báo các dữ liệu thương mại thì các học thuyết kinh tế có thể

giúp chọn lựa các biến là các chỉ số kinh tế quan trọng. Đối với một bài toán cụ thểcần thực hiện xem xét các vấn đề lý thuyết mà từ đó sẽ xác định được các nhân tố ảnh

hưởng đến bài toán. Tại bước này trong quá trình thiết kế, điều cần quan tâm đó là các

dữ liệu thô từ đó có thể phát triển thành các chỉ số quan trọng. Các chỉ số này sẽ tạo ra

các đầu vào cho mạng.

Bước 2: Thu thập dữ liệu

Cần xem xét khả năng có thể thu thập được các dữ liệu. Các dữ liệu kỹ thuật có

thể thu thập được dễ dàng hơn là các dữ liệu cơ bản. Mặt khác, các dữ liệu sau khi thuthập cần được kiểm tra tính hợp lệ của chúng. Đồng thời, các dữ liệu bị thiếu sót cần

được xử lý cẩn thận, có thể bỏ qua chúng hoặc giả sử rằng các dữ liệu bị thiếu đó

không thay đổi so với dữ liệu trước nó.

Bước 3: Tiền xử lý dữ liệu

Tiền xử lý dữ liệu liên quan đến việc phân tích và chuyển đổi giá trị các tham

số đầu vào, đầu ra mạng để tối thiểu hóa nhiễu, nhấn mạnh các đặc trưng quan trọng,

 phát hiện các xu hướng và cân bằng phân bố của dữ liệu. Các đầu vào, đầu ra củamạng nơron hiếm khi được đưa trực tiếp vào mạng. Chúng thường được chuẩn hóa

vào khoảng giữa cận trên và cận dưới của hàm chuyển (thường là giữa đoạn [0;1] hoặc

[-1;1]).

Các phương pháp phổ biến có thể là:

SV = ((0.9 - 0.1) / (MAX_VAL - MIN_VAL)) * (OV - MIN_VAL)

hoặc đưa về khoảng giữa giá trị min và max:

Trang 73

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 74/81

SV = TFmin + ((TFmax - TFmin) / (MAX_VAL - MIN_VAL)) * (OV -

MIN_VAL)

trong đó:

SV: Giá trị sau khi biến đổi

MAX_VAL: Giá trị lớn nhất của dữ liệu

MIN_VAL: Giá trị nhỏ nhất của dữ liệu

TFmax: Giá trị lớn nhất của hàm chuyển

TFmin: Giá trị nhỏ nhất của hàm chuyển

OV: Giá trị ban đầu

Bước 4: Phân chia tập dữ liệu

Trong thực tế, khi huấn luyện, người ta thường chia tập dữ liệu thành các tập:

Huấn luyện, kiểm tra và kiểm định (ngoài các mẫu). Tập huấn luyện thường là tập lớn

nhất được sử dụng để huấn luyện cho mạng. Tập kiểm tra thường chứa khoảng 10%

đến 30% tập dữ liệu huấn luyện, được sử dụng để kiểm tra mức độ tổng quát hóa của

mạng sau khi huấn luyện. Kích thước của tập kiểm định cần được cân bằng giữa việc

cần có đủ số mẫu để có thể kiểm tra mạng đã được huấn luyện và việc cần có đủ các

mẫu còn lại cho cả pha huấn luyện và kiểm tra.Có hai cách thực hiện xác định tập kiểm tra. Một là lấy ngẫu nhiên các mẫu từ

tập huấn luyện ban đầu. Lợi điểm của cách này là có thể tránh được nguy hiểm khi mà

đoạn dữ liệu được chọn có thể chỉ điển hình cho một tính chất của dữ liệu (đang tăng

hoặc đang giảm). Hai là chỉ lấy các dữ liệu ở phần sau của tập huấn luyện, trong

trường hợp các dữ liệu gần với hiện tại là quan trọng hơn các dữ liệu quá khứ.

Bước 5: Xác định cấu trúc mạng

Phương pháp thực hiện xây dựng mạng nơron bao gồm việc xác định sự liênkết giữa các nơron, đồng thời xác định cấu trúc của mạng bao gồm số lớp ẩn, số nơron

trong từng lớp.

Tuy nhiên, các thực nghiệm cho thấy rằng, số lớp ẩn sử dụng trong mạng

không nên vượt quá 4 lớp. Ngoài ra, không có phương pháp nào có thể chọn được số

tối ưu các nơron sử dụng trong lớp ẩn. Mặc dù vậy cũng có một số phương pháp cho

ta lựa chọn ban đầu. Nhưng để có được số tối ưu các nơron trong các lớp ẩn thì người

 phát triển mô hình cần phải thực hiện nhiều thí nghiệm để có được nó. Bên cạnh đó,

Trang 74

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 75/81

việc chọn lựa số các đầu vào mạng cũng mang một tính chất quyết định đến cấu trúc

của mạng để có được khả năng tổng quát hóa tốt.

Ta có thể thực hiện lựa chọn số nơron trong các lớp ẩn bằng cách bắt đầu bằng

một số nào đó dựa trên các luật. Sau khi thực hiện huấn luyện, kiểm tra lỗi tổng quáthóa của từng cấu trúc, có thể tăng hoặc giảm số các nơron.

Bất kể phương pháp nào thì luật tổng quát nhất là thực hiện chọn cấu trúc mạng

cho ta lỗi tổng quát hóa trên tập dữ liệu huấn luyện là nhỏ nhất. Khi thực hiện điều

chỉnh, nên giữ các tham số còn lại không thay đổi để tránh tạo ra các cấu trúc khác có

khả năng đưa lại các phức tạp không cần thiết trong quá trình lựa chọn số tối ưu các

nơron trong lớp ẩn.

Bước 6: Xác định tiêu chuẩn đánh giá

Hàm được sử dụng để đánh giá mạng thường là hàm trung bình bình phương

lỗi. Các hàm khác có thể là hàm độ lệch nhỏ nhất (least absolute deviation), hiệu phần

trăm (percentage differences), bình phương nhỏ nhất bất đối xứng (asymetric least

squares),... Tuy nhiên, các hàm này có thể không phải là hàm đánh giá chất lượng cuối

cùng cho mạng. Phương pháp đánh giá các giá trị dự báo hay được sử dụng là giá trị

trung bình tuyệt đối phần trăm lỗi (Mean A bsolute Percentage Error - MAPE).Chẳng hạn trong các hệ thống bán hàng, các giá trị dự báo của mạng nơron sẽ

được chuyển sang tín hiệu mua hoặc bán tùy thuộc vào một tiêu chuẩn xác định trước

đó.

Bước 7: Huấn luyện mạng

Huấn luyện mạng học các dữ liệu bằng cách lần lượt đưa các mẫu vào cùng với

những giá trị mong muốn. Mục tiêu của việc huấn luyện mạng đó là tìm ra tập các

trọng số cho ta giá trị nhỏ nhất toàn cục của chỉ số hiệu năng hay hàm lỗi.Vấn đề đặt ra là khi nào thì ngừng huấn luyện. Có hai quan điểm trong vấn đề

này. Quan điểm thứ nhất cho rằng chỉ nên ngừng huấn luyện chừng nào không có tiến

triển nào của hàm lỗi nữa đối với dữ liệu dựa trên một số tập các tham số của mạng

được chọn ngẫu nhiên. Nói cách khác là xác định được khả năng đạt đến được điểm

cực tiểu toàn cục lớn nhất. Trường phái thứ hai cho rằng cần thực hiện xem xét

thường xuyên khả năng tổng quát hóa của mạng bằng cách sau một số chu kỳ nào đó

thực hiện kiểm tra và kiểm tra sự tổng quát hóa của mạng, sau đó lại tiếp tục quá trình

huấn luyện.

Trang 75

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 76/81

Cả hai quan điểm này đều thống nhất rằng kết quả kiểm tra trên tập kiểm định

là chính xác nhất bởi lẽ nó thể hiện trực tiếp kết quả trả lời của mạng sau khi được

huấn luyện. Việc thực hiện huấn luyện mạng còn cần phải xem xét khả năng của mạng

nơron với một số nào đó lần thực hiện huấn luyện mạng trên các tập khởi tạo ban đầu

của các tham số. Sau khi thực hiện huấn luyện trên tất cả các tham số này cần thực

hiện đánh giá lại kết quả, từ đó đưa ra kết luận về số lần tối đa thực hiện huấn luyện

cho mạng cho từng bài toán cụ thể của mình. Một phương pháp khác là thực hiện vẽ

đồ thị để có thể theo dõi trạng thái lỗi của mạng, từ đó có thể quan sát được các vùng

mà mạng có trạng thái không thay đổi đối với dữ liệu vào. Thông thường, số lần tối đa

thực hiện huấn luyện cho mạng thường có khoảng biến thiên khá lớn: từ vài nghìn cho

đến vài chục, vài trăm nghìn chu kỳ, việc theo dõi được trạng thái của mạng đối với

tập huấn luyện và khả năng tổng quát hóa để có thể ngừng khi cần là khá quan trọng.Có thể thực hiện cập nhật đồ thị sau mỗi chu kỳ để có thể theo dõi được các tham số

này.

Bước 8: Thực thi

Bước thực thi thực ra cần được xem xét trước cả bước thu thập dữ liệu. Bởi lẽ,

việc xác định khả năng sẵn có của dữ liệu, xác định hàm lỗi sử dụng và thời gian huấn

luyện đều là những đặc trưng của môi trường mà mạng sẽ được triển khai. Người ta

thấy rằng, do mạng nơron có đặc trưng tính toán song song, do vậy mạng nơron tốtnhất nên được thực hiện cài đặt trên các vi mạch điện tử. Tuy nhiên, môi trường máy

tính cá nhân lại phù hợp hơn trong quá trình huấn luyện, dễ cài đặt, đồng thời có khả

năng linh hoạt đáp ứng được nhiều bài toán hơn.

Sau khi cài đặt, triển khai, khả năng hoạt động của mạng nơron sẽ giảm đi theo

thời gian nếu như không có bước thực hiện huấn luyện lại, bởi lẽ không thể đảm bảo

được rằng các tham biến được lựa chọn sẽ luôn đóng vai trò quyết định đối với các kết

quả mà ta mong muốn theo thời gian. Tần số thực hiện huấn luyện lại mạng cần hợp

lý sao cho mạng có thể đạt được trạng thái hoạt động tốt nhất.

3.2. Xây dựng chương trình dự báo

Về tổng thể, chương trình dự báo dữ liệu được xây dựng dựa trên các cơ sở lý

thuyết đã nêu trên. Mạng sử dụng trong bài toán dự báo dữ liệu là mạng truyền thẳng

nhiều lớp, được huấn luyện bởi thuật toán lan truyền ngược sửa đổi (có sử dụng tham

số bước đà) để tăng khả năng tổng quát hóa và thời gian hội tụ. Về tổng thể, các mạng

nơron truyền thẳng nhiều lớp được huấn luyện bởi thuật toán lan truyền ngược cần có

khả năng linh hoạt đáp ứng được nhiều bài toán. Điều quan trọng là xác định được các

Trang 76 

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 77/81

 biến chi phối trong bài toán, khả năng sẵn có của dữ liệu (hàng ngày, hàng tháng hay

quý, năm),...

Ở đây bài toán dự báo dữ liệu được áp dụng vào Bài toán dự báo số lượng sách

 bán ra của nhà sách. Do các chủng loại sách độc lập với nhau trong bài toán dự báo vàsố lượng dữ liệu cần chuẩn bị cho quá trình huấn luyện, kiểm tra và dự báo rất lớn,

điều kiện thời gian có hạn tôi xin chọn loại sách cần dự báo ở đây là sách giáo khoa

các cấp, các loại sách khác cũng được dự báo tương tự dựa trên danh sách các tham số

đầu vào được phân tích trong nhóm sách giáo khoa.

Ta sẽ bắt đầu xây dựng hệ thống này coi như một case study cho việc phát triển

các hệ thống dự báo dữ liệu.

3.2.1. Các yếu tố ảnh hưởng Phần khó nhất trong việc xây dựng mô hình là xác định và thu thập được các

dữ liệu huấn luyện và kiểm tra. Người ta đã chỉ ra các yếu tố ảnh hưởng đến nhu cầu

sử dụng sách như sau:

Thời điểm: bao gồm các yếu tố: ngày, thứ trong tuần, tháng.

Tháng: do đặc trưng là sách giáo khoa phổ thông các cấp nên tháng là một

trong những yếu tố quan trọng, lượng sách bán ra tăng mạnh vào các tháng 7, 8, 9.

Thứ trong tuần: Mặc dù không thể tổng quát hóa thành một quy tắc chung,

nhưng các ngày giữa tuần (Thứ Ba, Tư, Năm, Sáu) chắc chắn sẽ có nhu cầu khác so

với những ngày còn lại.

Sự kiện: yếu tố này được thể hiện rõ nét với sự kiện cải cách sách giáo khoa.

Nhóm sách: vấn đề cải cách sách chỉ được tiến hành với một số bậc học nào đó

làm số lượng sách bán ra thay đổi.

3.2.2. Mô hình dự báoDữ liệu vào:

Dữ liệu vào sử dụng trong mô hình này được kết xuất từ cơ sở dữ liệu quản lý

sách. Các dữ liệu lịch sử mà chúng ta quan tâm được lưu trữ dưới dạng sau:

Tiền xử lý:

Với các dữ liệu đã cho, ta có thể thiết lập mô hình dữ liệu đã cho như sau:

Trang 77 

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 78/81

 Ngày trong tuần: Thể hiện các ngày Chủ Nhật, thứ Hai, thứ Ba, thứ Tư, thứ

 Năm, thứ Sáu, thứ Bảy bằng các số 0, 1, 2, 3, 4, 5, 6.

 Ngày cuối tuần: thể hiện thứ Hai, thứ Ba, thứ Tư, thứ Năm, thứ Sáu bởi 0; thứ

Bảy và Chủ nhật bởi 1.Tháng trong năm: thể hiện 12 tháng trong năm bới các giá trị từ 0 đến 11.

Loại sách: do chúng ta tập trung dự báo cho nhóm sách giáo khoa phổ thông

nên các lớp từ 1 đến 12 được thể hiện bới các giá trị từ 0 đến 11.

Cấu trúc mạng:

Mạng bao gồm một lớp ra, một lớp ẩn. Rõ ràng là chỉ có duy nhất một đơn vị ở đầu ra - lượng tiêu thụ. Số đầu vào động, phụ thuộc vào số nhân tố ảnh hưởng được sử

dụng. Số đơn vị trong lớp ẩn được xác định bằng cách huấn luyện với một số tập kiểm

tra. Mạng sẽ yêu cầu một số đơn vị trong lớp ẩn vừa đủ để có thể học được các đặc

trưng tổng quát về mối quan hệ giữa các nhân tố đầu vào và đầu ra. Mục tiêu của

chúng ta là làm sao chỉ phải sử dụng số các đơn vị trong lớp ẩn càng ít càng tốt, đồng

thời vẫn duy trì được khả năng của mạng có thể học được mối quan hệ giữa các dữ

liệu. Như đã nêu, sử dụng nhiều hơn một lớp ẩn không tăng đáng kể độ chính xác của

các dự báo. Các hàm kích hoạt của các đơn vị trong lớp ẩn là các hàm sigmoid. Đốivới các đơn vị ở lớp ra có thể là hàm sigmoid hoặc hàm đồng nhất.

Trang 78

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 79/81

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 80/81

KẾT LUẬN

Trang 80

8/2/2019 Bao Cao Mo Hinh Alll

http://slidepdf.com/reader/full/bao-cao-mo-hinh-alll 81/81

PHỤ LỤC

TÀI LIỆU THAM KHẢO

[1]. Đào Thanh Tĩnh – Phân tích và thiết kế hệ thống thông tin – NXB Quân đội nhân

dân – Năm 2004.

[2]. Kate Smith, Jatinder Gupta - Neural Networks in Bussiness: Techniques and

Applications - Idea Group Publishing © 2000.

[3]. G. Peter Zhang (ed) - Neural Networks in Business Forecasting - Idea GroupPublishing © 2004.