1. Trang chủ
  2. » Công Nghệ Thông Tin

BÁO CÁO CUỐI KÌ TRÍ TUỆ NHÂN TẠO

24 3,1K 15
Tài liệu đã được kiểm tra trùng lặp

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 24
Dung lượng 1,46 MB

Nội dung

Machine Learning học máy Là một lĩnh vực nhỏ của khoa học máy tính, nó có khả năng tự học hỏi dựa trên dữ liệu đưa vào mà không cần phải được lập trình cụ thể.. UNSUPERVISED LEARNING họ

Trang 1

ĐẠI HỌC ĐÀ NẴNG

TRƯỜNG ĐẠI HỌC SƯ PHẠM

KHOA TIN HỌC

- -

BÁO CÁO CUỐI KÌ

TRÍ TUỆ NHÂN TẠO

Đà Nẵng, 30/11/2018

Trang 2

ĐẠI HỌC ĐÀ NẴNG

TRƯỜNG ĐẠI HỌC SƯ PHẠM

KHOA TIN HỌC

- -

BÁO CÁO CUỐI KÌ

TRÍ TUỆ NHÂN TẠO

Đà Nẵng, 30/11/2018

Trang 3

TỔNG QUAN VỀ TRÍ TUỆ NHÂN TẠO 1/ Khái niệm

Trí tuệ nhân tạo là một ngành thuộc lĩnh vực khoa học máy tính do con

người lập trình tạo nên với mục tiêu giúp máy tính có thể tự động hóa các hành vi thông minh như con người

Có 2 loại:

1 Strong AI: Có thể tạo ra thiết bị có trí thông minh và các chương trình

máy tính thông minh hơn người

2 Weak AI: Chương trình máy tính có thể mô phỏng các hành vi thông

minh của con người

2/ Bốn quan điểm của trí tuệ nhân tạo

1 Suy nghĩ như người

Xử lý theo các thuật toán Tri thức được cấu trúc hóa, để trong bộ

nhớ và làm việc theo ký hiệu Định hướng xử lý theo các đại lượng,

định lượng số

Định hướng xử lý các đại lượng định tính, các ký hiệu tượng trưng và danh sách

Xử lý tuần tự theo mẻ Xử lý theo chế độ tương tác

Trang 4

Không giải thích trong quá trình thực

hiện

Có giải thích hành vi của hệ thống trong quá trình thực hiện

Kết quả chính xác, không được mắc lỗi Kết quả tốt, cho phép mắc lỗi

4/ Các lĩnh vực của trí tuệ nhân tạo

1 Tâm lý học nhận thức

2 Thần kinh học

3 Lý thuyết về hệ thống

4 Toán logic và logic học

5 Sinh học tiến hóa

2 Xử lý ngôn ngữ tự nhiên và giao diện người máy

3 Lập luận và giải quyết vấn đề tự động

4 Chuẩn đoán y khoa

5 Phân tích hóa chất

6 Thiết kế kĩ thuật

7 Các kí hiệu toán học

8 Nhìn và nhận dạng

9 Xử lý âm thanh, tiếng nói

10 Cuộc sống nhân tạo

Trang 5

6/ Một số ví dụ sử dụng thành công trí tuệ nhân tạo

1 Chương trình chơi cờ trên máy Deep Blue đánh bại đại kiện tướng Kasparov (1997)

2 Hệ chuyên gia MYCIN không thua kém chuyên gia người trong việc chuẩn đoán bệnh

3 Máy nhận dạng mắt người tại sân bay Heathrow

4 Chương trình lập lịch và điều khiển thông minh trên xe tự hành và Robot tự hành của NASA

5 Chương trình nhận dạng khuôn mặt trên ứng dụng facebook

6 Chiến tranh mô phỏng trên máy tính

Trang 6

MACHINE LEARNING 1/ Khái niệm

Có 2 khái niệm cơ bản

1 Machine Learning (học máy) Là một lĩnh vực nhỏ của khoa học máy tính,

nó có khả năng tự học hỏi dựa trên dữ liệu đưa vào mà không cần phải được

lập trình cụ thể (Theo Arthur Samuel)

2 Machine Learning Là 1 chương trình máy tính được nói là học hỏi từ kinh

nghiệm E từ các tác vụ T và với độ đo hiệu suất P Nếu hiệu suất của nó áp dụng trên tác vụ T và được đo lường bởi độ đo P tăng từ kinh nghiệm E

(Theo giáo sư Tom Mitchell – carnegie mellon university)

2/ Các ứng dụng của machine learning

1 Xe tự lái, giảm thiểu tai nạn của google

2 Nhận diện lừa đảo

3 Quảng cáo theo thời gian thực trên các trang web và các thiết bị di động

4 Nhận dạng qua pattern (mẫu) và hình ảnh

 Một ứng dụng phổ biến của machine learning hiện nay là việc nhận dạng pattern (mẫu) bởi vì nó có thể được sử dụng để nhận ra nhiều loại hình ảnh khác nhau

3/ Ví dụ sử dụng machine learning

Giả sử như bạn muốn máy tính xác định một tin nhắn có phải là SPAM hay không

Tác vụ T: xác định 1 tin nhắn có phải SPAM hay không?

Kinh nghiệm E: xem lại những tin nhắn đánh dấu là spam xem có những đặc tính

gì để có thể xác định nó là spam

Độ đo P: là phần trăm số tin nhắn spam được phân loại đúng

 Machine learning sử dụng các mô hình thống kê để "ghi nhớ" lại sự phân bố

của dữ liệu Tuy nhiên, không đơn thuần là ghi nhớ, machine learning phải

có khả năng tổng quát hóa những gì đã được nhìn thấy và đưa ra dự đoán cho những trường hợp chưa được nhìn thấy

4/ Các đối tượng đang sử dụng machine learning

Trang 7

5/ Làm thế nào để có một hệ thống machine learning tốt ?

1 Khả năng chuẩn bị dữ liệu

2 Thuật toán – căn bản & nâng cao

3 Quy trình tự động và quy trình lặp lại

4 Khả năng scale

5 Ensemble modelinG

6/ Một số method tiêu biểu trong machine learning

1 Supervised Learning (học có giám sát) Là một kĩ thuật học máy để học tập

từ tập dữ liệu được gán nhãn cho trước Tập dữ liệu cho trước sẽ chứa nhiều

bộ dữ liệu Mỗi bộ dữ liệu có cấu trúc theo cặp {x, y} với x được xem là dữ liệu thô (raw data) và y là nhãn của dữ liệu đó Nhiệm vụ của SL là dự đoán đầu ra mong muốn dựa vào giá trị đầu vào Học dựa vào sự trợ giúp của con người

SUPERVISED LEARNING cũng được áp dụng cho 2 nhóm bài toán chính là

bài toán dự đoán (regression problem) và bài toán phân lớp (classification

problem)

2 UNSUPERVISED LEARNING (học không giám sát) là một kĩ thuật của

máy học nhằm tìm ra một mô hình hay cấu trúc bị ẩn bơi tập dữ liệu

KHÔNG được gán nhãn cho trước Unsupervised learning khác với

supervised learning là không thể xác định trước output từ tập dữ liệu huấn luyện được Tùy thuộc vào tập huấn luyện kết quả output sẽ khác nhau Máy

sẽ tự động học không cần sự trợ giúp của con người và giá trị đầu ra phụ thuộc vào thuật toán unsupervised learning

3 SEMISUPERVISED LEARNING (học bán giám sát)

4 REINFORCEMENT LEARNING (học tăng cường)

Trang 8

CLASSIFICATION 1/ Khái niệm

• Classification là việc sử dụng input là một tập các mẫu dữ liệu huấn luyện, với một nhãn phân lớp cho mỗi mẫu dữ liệu Output là mô hình (bộ phân lớp) dựa trên tập huấn luyện và những nhãn phân lớp

• Hệ thống classification để dự đoán những nhãn phân lớp cho các bộ dữ

liệu/mẫu mới

2/ Quy trình tổng quan cho việc phân lớp

2.1 Xây dựng mô hình từ tập huấn luyện

• Mỗi bộ / mẫu dữ liệu được phân vào một lớp xác định trước

• Lớp của một bộ / mẫu dữ liệu được xác định bởi thuộc tính gán nhãn lớp

• Tập các bộ / mẫu dữ liệu huấn luyện-tập huấn luyện được dùng để xây dựng

mô hình

• Mô hình được biểu diễn bởi các luật phân lớp, các cây quyết định hoặc các công thức toán học

2.2 Sử dụng mô hình

• Kiểm tra tính đúng đắn của mô hình và dùng nói để phân lớp dữ liệu mới

• Phân lớp cho những đối tượng mới hoặc chưa được phân lớp

• Đánh giá độ chính xác của mô hình

• Lớp biết trước của một mẫu/bộ dữ liệu đem kiểm tra

• Được so sánh với kết quả thu được từ mô hình

• Tỉ lệ chính xác = phần trăm các mẫu/bộ dữ liệu

• Được phân lớp đúng bởi mô hình trong số các lần kiểm tra

2.3 Kiểm tra dữ liệu với mô hình (make prediction)

Ta đưa vào các dữ liệu mới để kiểm tra trên mô hình phân lớp

2.4 Đánh giá mô hình phân lớp và chọn ra mô hình tốt nhất

Trang 9

• Đánh giá mô hình bằng cách đánh giá mức độ lỗi của dữ liệu testing và dữ liệu traning thông qua mô hình tìm được

• Nếu không đạt được kết quả mong muốn thì phải thay đổi các tham số

(turning parameter) của các thuật toán học để tìm ra các mô hình tốt hơn và kiểm tra, đánh giá lại mô hình phân lớp Từ đó chọn ra mô hình phân lớp tối

ưu nhất cho bài toán

3/ Các thuật ngữ trong classification

1 Feature: Là các mẫu/đối tượng, bao gồm các thuộc tính(feature, attribute),

có thể được dùng trong training set hoặc testing set

2 Sample: Là thuộc tính của các đối tượng, dùng để phân loại các đối tượng

vào các lớp(lable/class) khác nhau

3 Training Dataset: Là tập dữ liệu dùng cho việc huấn luyện máy học, có các

thông số cụ thể, và có gắn sẵn các nhãn(label/class) Training set gồm 2 phần:

• input: là những dữ liệu đầu vào Những thuộc tính(feature, attribute)

• output: là những kết quả của mạng perceptron tương ứng với tập input Với bài toán phân loại thì output chính là nhãn(label/class)

4 Testing Dataset: Là tập dữ liệu độc lập với training set, được dùng để kiểm

thử độ chính xác của những mô hình máy học sau khi được huấn luyện Khác với training set, testing set chỉ có các giá trị input mà không có các giá trị output, với bài toán phân loại thì output ở đây là các nhãn(label/class) Máy tính sẽ nhận các giá trị input, xử lý rồi đưa ra các giá trị output tương

ứng cho các giá trị input

5 Confusion matrix: Thể hiện có bao nhiêu điểm dữ liệu thực sự thuộc vào

một class, và được dự đoán là rơi vào một class

6 Feature Selection: Giảm chiều dữ liệu, chỉ lựa chọn những thuộc tính đặc

trưng của các đối tượng để máy học

7 Feature Reduction: Dùng phương pháp PCA chiếu kết quả từ không 1 gian

to sang không gian nhỏ để dễ dàng đưa ra những kết luận

8 Validation: Là một tập hợp con khác của dữ liệu đầu vào mà chúng ta áp

dụng thuật toán học máy để xem chính xác cách xác định mối quan hệ giữa các kết quả đã biết cho biến mục tiêu và các tính năng khác của tập dữ liệu

Trang 10

9 k-fold cross validation: Là một phương pháp thống kê được sử dụng để ước

tính kỹ năng của các mô hình học máy

10 visualization: Trực quan hóa các kết quả, ở bài toán phân lớp thường thì sẽ

trực quan bằng cách cho kết quả lên một mô hình 2D

Trang 11

MẠNG NƠ RON NHÂN TẠO ARTIFICIAL NEURAL NETWORKS (ANN) 1/ Khái niệm

Mạng neruron nhân tạo (ANN) là một mô hình làm việc trên máy tính dựa trên cấu trúc và chức năng của mạng neuron sinh học, tập hợp các bộ xử lý đơn giản neuron

và nối với nhau

2/ Mô hình tổng quan của mạng nơ ron nhân tạo

Mạng neuron nhân tạo (artificial neural netwok – ANN): là một tập hợp các bộ xử

lý rất đơn giản – neuron – và nối với nhau

Cấu trúc và phương thức hoạt động của ANN mô phỏng tương tự mạng neuron

sinh học

1 Input: Mỗi input tương ứng với 1 thuộc tính (attribute) của dữ liệu

(patterns) Ví dụ như trong ứng dụng của ngân hàng xem xét có chấp nhận cho khách hàng vay tiền hay không thì mỗi input là một thuộc tính của

khách hàng như thu nhập, nghề nghiệp, tuổi, số con,…

Trang 12

2 Output: Kết quả của một ANN là một giải pháp cho một vấn đề, ví dụ như

với bài toán xem xét chấp nhận cho khách hàng vay tiền hay không thì

output là yes (cho vay) hoặc no (không cho vay)

3 Hidden Layer Gồm các nơron nhận dữ liệu input từ các nơron ở lớp (layer)

trước đó và chuyển đổi các input này cho các lớp xử lý tiếp theo Trong một ANN có thể có nhiều lớp ẩn

4 Connection Weights (Trọng số liên kết) : Đây là thành phần rất quan trọng

của một ANN, nó thể hiện mức độ quan trọng (độ mạnh) của dữ liệu đầu vào đối với quá trình xử lý thông tin (quá trình chuyển đổi dữ liệu từ layer này sang layer khác) Quá trình học (learning processing) của ANN thực ra là quá trình điều chỉnh các trọng số (weight) của các input data để có được kết quả mong muốn

5 Summation Function (Hàm tổng): Tính tổng trọng số của tất cả các input

được đưa vào mỗi neuron (phần tử xử lý PE) Hàm tổng của một neuron đối với n input được tính theo công thức sau:

Y(p) = step[ ∑𝒏𝒊=𝟏𝑾𝒊𝑿𝒊(𝒑) − 𝜽 ]

6 Transfer Function (Hàm chuyển đổi): Hàm tổng (summation function)

của một nơron cho biết khả năng kích hoạt (activation) của nơron đó còn gọi

là kích hoạt bên trong (internal activation) Các nơron này có thể sinh ra một output hoặc không trong ANN (nói cách khác rằng có thể output của 1 nơron

có thể được chuyển đến layer tiếp trong mạng nơron hoặc không) Mối quan

hệ giữa internal activation và kết quả (output) được thể hiện bằng hàm

chuyển đổi (transfer function)

Trang 13

3/ Thuật toán perceptron

Luật học

Bước 1: khởi tạo (w1, w2,…, wn, t)  [-0.5, 0.5]

Bước 2: kích hoạt tính kết xuất thực sự tại lần lặp p = 1

Y(p) = step[ ∑𝒏𝒊=𝟏𝑾𝒊𝑿𝒊(𝒑) − 𝜽 ]

Bước 3: cập nhật trọng số: wi(p+1) = wi(p) + ∆wi(p)

Trong đó ∆wi(p) = a * xi(p) * e(p)

Tăng p lên 1 đơn vị và quay lại bước 2

Ví dụ

Mạch AND có 2 input và 1 output, chỉ khi input x1, x2x1, x2 bằng 1 thì output mới bằng 1

Trang 14

Công việc cần làm là lựa chọn(ω1,ω2,θ) sao cho thỏa mãn như hình Ví dụ (ω1,

ω2, θ) = (0.5, 0.5, 0.7) Với parameter này, chỉ khi cả x1,x2 bằng 1 thì tổng mới >

θ và output y = 1

Nhược điểm của thuật toán perceptron

Chỉ chạy được các ma trận tuyến tính, không giải quyết được bài toán XOR

Trang 15

4/ Thuật toán multilayer perceptron

Luật học

• Bước 1: Khởi tạo

Đặt giá trị ngẫu nhiên các trọng số và ngưỡng của mạng

• Bước 3: Huấn luyện trọng số

a) Tính gradient sai số cho các neuron lớp xuất:

Trang 16

Cập nhật các trọng số của neuron lớp xuất:

b) Tính gradien sai số và cập nhật trọng số lớp ẩn

. Bước 4: Lặp

Trang 17

APPLICATION 1/ Mô tả dữ liệu

Tập dữ liệu dùng trong project là tập data iris Một tập dữ liệu gồm có 150 sample

chia thành 3 lớp khác nhau, mỗi lớp có 50 sample tiêu biểu Mỗi sample có 4

feature chính và một class

1.1 Cách phân chia dữ liệu training/testing

Từ tập iris.arff cho random dữ liệu để dữ liệu có thể được trải đều sau đó ,phân chia dữ liệu theo train dataset là 80% và phần còn lại 20% là của test

dataset

1.2 Feature selection

1.2.1 Plot dữ liệu với 2 features

Khi thực hiện với 2 features petal length và petal width thì ta nhận được accuracy: 77.7778%

Hiển thị dưới dạng visualize:

Trang 18

Khi thực hiện với 2 features petal length và petal width thì ta nhận được accuracy: 93.3333%

Hiển thị dưới dạng visualize:

1.2.2 Dùng đầy đủ 4 features

Khi thực hiện với full feature thì ta nhận được accuracy: 96.6667%

Hiển thị dưới dạng visualize:

Trang 19

2/ Ứng dụng ANN cho bài toán phân lớp tập dữ liệu iris

2.1 Xác định thuật toán

Code theo multilayer perceptron

2.2 Kết quả

Kết quả với 4 features gốc

Trường hợp dùng full features với tập dữ liệu đưa vào là tập iris.arff và cho

ra kết quả báo cáo như sau:

Trang 20

2.3 View Code

Trang 21

ModelGenerator.java

Trang 22

Test.java

Trang 23

MỤC LỤC

TỔNG QUAN VỀ TRÍ TUỆ NHÂN TẠO 1

1/ Khái niệm 1

2/ Bốn quan điểm của trí tuệ nhân tạo 1

3/ So sánh lập trình hệ thống và lập trình trí tuệ nhân tạo 1

4/ Các lĩnh vực của trí tuệ nhân tạo 2

5/ Ứng dụng của trí tuệ nhân tạo 2

6/ Một số ví dụ sử dụng thành công trí tuệ nhân tạo 3

MACHINE LEARNING 4

1/ Khái niệm 4

2/ Các ứng dụng của machine learning 4

Trang 24

3/ Ví dụ sử dụng machine learning 4

4/ Các đối tượng đang sử dụng machine learning 4

5/ Làm thế nào để có một hệ thống machine learning tốt ? 5

6/ Một số method tiêu biểu trong machine learning 5

CLASSIFICATION 6

1/ Khái niệm 6

2/ Quy trình tổng quan cho việc phân lớp 6

2.1 Xây dựng mô hình từ tập huấn luyện 6

2.2 Sử dụng mô hình 6

2.3 Kiểm tra dữ liệu với mô hình (make prediction) 6

2.4 Đánh giá mô hình phân lớp và chọn ra mô hình tốt nhất 6

3/ Các thuật ngữ trong classification 7

MẠNG NƠ RON NHÂN TẠO 9

ARTIFICIAL NEURAL NETWORKS (ANN) 9

1/ Khái niệm 9

2/ Mô hình tổng quan của mạng nơ ron nhân tạo 9

3/ Thuật toán perceptron 11

4/ Thuật toán multilayer perceptron 13

APPLICATION 15

1/ Mô tả dữ liệu 15

1.1 Cách phân chia dữ liệu training/testing 15

1.2 Feature selection 15

1.2.1 Plot dữ liệu với 2 features 15

1.2.2 Dùng đầy đủ 4 features 16

2/ Ứng dụng ANN cho bài toán phân lớp tập dữ liệu iris 17

2.1 Xác định thuật toán 17

2.2 Kết quả 17

2.3 View Code 18

Ngày đăng: 03/01/2019, 21:53

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w