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

Báo cáo nhập môn học máy

19 23 0

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Ứng dụng thuật toán Linear Regression dự đoán giá giá bất động sản
Chuyên ngành Học Máy
Thể loại Báo cáo
Định dạng
Số trang 19
Dung lượng 302,57 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Báo cáo về môn học Nhập môn học máy Tìm hiểu chi tiết sâu về môn học máy giúp người dùng hiểu hơn về môn học công nghệ thông tin Hướng dẫn chi tiết cách sử dụng và có kèm code python trong báo cáo, giúp người dùng hiểu hơn và dễ áp dụng

Trang 1

PHIẾU CHẤM ĐIỂM

ST

T

Họ và tên sinh

viên

1

Nhóm trưởng Code , chạy chương trình

Giảng viên chấm 1:

Giảng viên chấm 2:

MỤC LỤC

Trang 2

CHƯƠNG I: GIỚI THIỆU VỀ HỌC MÁY VÀ HỒI QUY TUYẾN TÍNH 4

1 5 4 Nghiệm cho bài toán Linear Regression 12

Trang 3

DANH MỤC HÌNH ẢNH

Hình 1 4 3 Đường hồi quy tuyến tính……… 10

Hình 2 2 2 1 Bảng mô tả dữ liệu……… 16

Hình 2 3.6 1 Code Python……… 19

Hình 2 4 1 Đánh giá kết quả……… 20

LỜI MỞ ĐẦU

Công nghệ thông tin (CNTT) ngày càng có vai trò quan trọng trong cuộc sống hằng ngày của chúng ta Việc ứng dụng CNTT vào các lĩnh vực trong đời sống giúp công việc được tiến hành nhanh chóng và hiệu quả hơn Có rất nhiều công việc mới phát triển song song với sự phát triển của CNTT, một trong những số

đó là phân tích chẩn đoán dữ liệu – big data, hướng đi mang lại hiệu quả rất lớn

Nhóm chúng em chọn đề tài “ Ứng dụng thuật toán Linear Regression dự đoán giá giá bất động sản ” sử dụng thuật toán hồi quy tuyến tính nhằm tìm hiểu sâu hơn về dữ liệu cách khai thác và sử dụng hiệu quả, từ đó viết một ứng dụng cụ thể thử nghiệm làm cơ sở củng cố kiến thức và định hướng, kế hoạch xây dựng các ứng dụng trong tương lai

Trang 4

CHƯƠNG I: GIỚI THIỆU VỀ HỌC MÁY VÀ

HỒI QUY TUYẾN TÍNH

1 1 Khái niệm học máy

Học máy (Machine Learning) là một ngành khoa học nghiên cứu các thuật toán cho phép máy tính có thể học được các khái niệm (concept)

Phân loại : có hai loại phương pháp học máy chính

- Phương pháp suy diễn : Máy học phân biệt các khái niệm dựa vào các luật Phương pháp này cho phép tận dụng được các kiến thức chuyên ngành để

hỗ trợ cho máy tính

- Phương pháp quy nạp : Máy học phân biệt các khái niệm dựa trên các dữ liệu đã thu thập được trước đó Phương pháp này cho phép chúng ta tận dụng được nguồn dữ liệu khổng lồ và sẵn có

Trong xã hội hiện nay, các thuật toán đều cố gắng tận dụng được ưu nhược điểm của hai phương pháp này

Các ngành khoa học liên quan:

- Lý thuyết thống kê: các kết quả trong xác suất thống kê là tiền đề cho rất nhiều các phương pháp học máy Đặc biệt, lý thuyết thống kê cho phép ước lượng sai số của các phương pháp học máy

- Các phương pháp tính: các thuật toán học máy thường sử dụng các tính toán số thực/nguyên tố trên dữ liệu rất lớn Trong đó các bài toán như: tối ưu có/không ràng buộc, giải phương trình tuyến tính,… được sử dụng rất phổ biến

- Khoa học máy tính: là cơ sở để thiết kế các thuật toán, đồng thời đánh giá thời gian chạy, bộ nhớ của các thuật toán học máy

Trang 5

Các nhóm giải thuật học máy:

- Học tăng cường: Máy tính đưa ra quyết định hành động (action) và nhận kết quả phản hồi (response/reward) từ môi trường (environment) Sau đó máy tính tìm cách chỉnh sửa cách ra quyết định hành động của mình

- Học có giám sát: Máy tính được xem một số mẫu gồm đầu vào (input) và đầu ra ( output ) tương ứng trước Sau khi học xong các mẫu này, máy tính sẽ quan sát một đầu vào mới và đưa ra kết quả

- Học không giám sát: Máy tính chỉ được xem các mẫu không có đầu ra, sau đó máy tính phải tự tìm cách phân loại các mẫu này và các mẫu mới nửa giám sát: Là một dạng lai giữa hai giải thuật trên

1 2 Ứng dụng học máy

Ứng dụng: Học máy có ứng dụng rộng khắp trong các ngành khoa học, sản xuất, đặc biệt những ngành cần phân tích khối lượng lớn dữ liệu khổng lồ Một số ứng dụng chúng ta thường thấy như:

- Xử lý ngôn ngữ tự nhiên ( Natural Language Processing ): xử lý văn bản, giao tiếp người và máy,…

- Nhận dạng ( Pattern Recognition ): nhận dạng tiếng nói, chữ viết tay, vân tay, thị giác máy ( Computer Vision)…

- Tìm kiếm ( Search Engine )

- Chẩn đoán trong y tế: phân tích ảnh X-quang, các hệ chuyên gia chuẩn đoán tự động,…

- Tin sinh học: phân loại chuỗi gene, quá trình hình thành gene/protein

- Vật lý: phân tích ảnh thiên văn, tác động giữa các hạt,…

Trang 6

- Phát hiện gian lận tài chính ( financial fraud ): gian lận thẻ tín dụng

- Phân tích thị trường chứng khoán ( stock market analysis )

- Chơi trò chơi : tự động chơi cờ, hành động của các nhân vật ảo,…

Robot: là tổng hợp của rất nhiều ngành khoa học, trong đó học máy tạo nên hệ thần kinh/bộ não của người máy

1 3 Định nghĩa về hồi quy tuyến tính

Mục tiêu của giải thuật hồi quy tuyến tính là dự đoán giá trị của một hoặc

nhiều biến mục tiêu liên tục (continuous target variable) y dựa trên một vectơ

đầu vào x

Ví dụ: dự đoán giá nhà ở Hà Nội dựa vào thông tin về diện tích, vị trí,

năm xây dựng của ngôi nhà thì t ở đây sẽ là giá nhà và X=(x1,x2,x3), x1 là diện

tích, x2 là vị trí và x3 là năm xây dựng

Nếu bạn còn nhớ thì đây chính là phương pháp phân tích hồi quy của xác suất thống kê Mọi lý thuyết cơ bản của phương pháp này vẫn được giữa nguyên nhưng khi áp dụng cho máy tính thì về mặt cài đặt có thay đổi đôi chút

Về cơ bản thì ta sẽ có một tập huấn luyện chứa các cặp (x(i), y(i)) tương

ứng và nhiệm vụ của ta là phải tìm giá trị y Hay nói cách trừu tượng hơn là ta cần vẽ được một đường quan hệ thể hiện mối quan hệ trong tập dữ liệu

1 4 Giải quyết thuật toán

1 4 1 Chuẩn bị

Để bắt đầu với Hồi quy tuyến tính, chúng ta hãy đi lướt qua một số khái niệm toán học về thống kê

- Tương quan (r) - Giải thích mối quan hệ giữa hai biến, giá trị có thể chạy

từ -1 đến +1

- Phương sai (σ2) - Đánh giá độ phân tán trong dữ liệu của bạn

Trang 7

- Độ lệch chuẩn (σ) - Đánh giá độ phân tán trong dữ liệu của bạn (căn bậc hai của phương sai)

- Phân phối chuẩn

- Sai số (lỗi) - {giá trị thực tế - giá trị dự đoán}

1 4 2 Giả định

Không một kích thước nào phù hợp cho tất cả, điều này cũng đúng đối với Hồi quy tuyến tính Để thoả mãn hồi quy tuyến tính, dữ liệu nên thỏa mãn một vài giả định quan trọng Nếu dữ liệu của bạn không làm theo các giả định, kết quả của bạn có thể sai cũng như gây hiểu nhầm

1 Tuyến tính & Thêm vào : Nên có một mối quan hệ tuyến tính giữa biến độc lập và biến không độc lập và ảnh hưởng của sự thay đổi trong giá trị của các biến độc lập nên ảnh hưởng thêm vào tới các biến phụ thuộc

2 Tính bình thường của phân bổ các lỗi : Sự phân bổ sai khác giữa các giá trị thực và giá trị dự đoán (sai số) nên được phân bổ một cách bình thường

3 Sự tương đồng: Phương sai của các lỗi nên là một giá trị không đổi so với

- Giá trị của các biến độc lập

4 Sự độc lập về thống kê của các lỗi: Các sai số (dư) không nên có bất kỳ mối tương quan nào giữa chúng

Ví dụ: Trong trường hợp dữ liệu theo chuỗi thời gian, không nên có sự

Trang 8

tương quan giữa các sai số liên tiếp nhau

1 4 3 Đường hồi quy tuyến tính

Trong khi sử dụng hồi quy tuyến tính, mục tiêu của chúng ta là để làm sao một đường thẳng có thể tạo được sự phân bố gần nhất với hầu hết các điểm

Do đó làm giảm khoảng cách (sai số) của các điểm dữ liệu cho đến đường đó

Hình 1.4.3 Minh Họa

Ví dụ, ở các điểm ở hình trên (trái) biểu diễn các điểm dữ liệu khác nhau

và đường thẳng (bên phải) đại diện cho một đường gần đúng có thể giải thích mối quan hệ giữa các trục x & y Thông qua, hồi quy tuyến tính chúng ta cố gắng tìm ra một đường như vậy Ví dụ, nếu chúng ta có một biến phụ thuộc Y

và một biến độc lập X - mối quan hệ giữa X và Y có thể được biểu diễn dưới dạng phương trình sau:

Y = Β0 + Β1*XX

Trang 9

Ở đây,

Y = Biến phụ thuộc

X = biến độc lập

Β0 = Hằng số

Β1 = Hệ số mối quan hệ giữa X và Y

1 5 Phân tích toán học

1 5 1 Dạng của Linear Regression

Hồi quy tuyến tính có phương trình đạng :

F(x) = w1x1 + w2x2 + w3x3 + w0 (1)

Trong đó, w1, w2, w3, w0, là các hằng số, w0 còn được gọi là bias Mối quan

hệ giữa y f(x) bên trên là một mối quan hệ tuyến tính (linear) Bài toán chúng

ta đang làm là một bài toán thuộc loại regression Bài toán đi tìm các hệ số tối

ưu { w1, w2, w3, w0 } chính vì vậy được gọi là bài toán Linear Regression

Trong phương trình (1) nếu chúng ta đặt w = [w1, w2, w3, w0]T là một vectơ (cột) hệ số cần phải tối ưu và = [1, x1, x2, x3] (đọc là x bar trong tiếng Anh) là vector (hàng) dữ liệu đầu vào mở rộng Số 1 ở đầu được thêm vào để phép tính đơn giản hơn và thuận tiện cho việc tính toán Khi đó, phương trình (1) có thể được viết lại dưới dạng:

1 5 2 Sai số dự đoán

Chúng ta mong muốn rằng sự sai khác giữa giá trị thực và giá trị dự đoán ŷ (đọc là y hat trong tiếng Anh) là nhỏ nhất Nói cách khác, chúng ta

Trang 10

muốn giá trị sau đây càng nhỏ càng tốt:

Trong đó hệ số (lại) là thuận tiện cho việc tính toán khi tính đạo hàm thì

số sẽ bị triệt tiêu Chúng ta cần vì có thể là một số âm, việc nói nhỏ nhất sẽ không đúng vì khi là rất nhỏ nhưng sự sai lệch là rất lớn

1 5 3 Hàm mất mát

Máy học từ giá trị trung bình của một hàm mất mát Đây là một phương pháp đánh giá độ hiệu quả của một thuật toán nào đó trên bộ dữ liệu cho trước Nếu kết quả dự đoán chênh lệch quá nhiều so với kết quả thực tế, hàm mất mát

sẽ là một số rất lớn Điều tương tự xảy ra với tất cả các cặp (input, outcome)

(xi, yi), i = 1, 2, 3, …, N với N là số lượng dữ liệu quan sát được Để hàm

mất mát nhỏ nhất khi đó tổng sai số là nhỏ nhất tương đương với việc tìm w để

hàm số sau đạt giá trị nhỏ nhất:

Hàm số F(w) được gọi là hàm mất mát (loss function) của bài toán Linear Regression Chúng ta luôn mong muốn rằng sự mất mát (sai số) là nhỏ nhất,

điều đó đồng nghĩa với việc tìm vectơ hệ số w sao cho giá trị của hàm mất mát này càng nhỏ càng tốt Giá trị của w làm cho hàm mất mát đạt giá trị nhỏ nhất

được gọi là điểm tối ưu (optimal point), ký hiệu:

Trước khi đi tìm lời giải, chúng ta đơn giản hóa phép toán trong phương trình hàm mất mát (2) Đặt là một vector cột chứa tất cả các output của training data; = là ma trận dữ liệu đầu vào (mở rộng) mà mỗi hàng của nó là một điểm

Trang 11

dữ liệu Khi đó hàm số mất mát F(w) được viết dưới dạng ma trận đơn giản hơn:

Với ||z||2 là Euclidean norm (chuẩn Euclid, hay khoảng cách Euclid), nói

cách khác là tổng của bình phương mỗi phần tử của vector z Tới đây, ta đã có

một dạng đơn giản của hàm mất mát được viết như phương trình (3)

1 5 4 Nghiệm cho bài toán Linear Regression

Để tìm nghiệm cho một bài toán tối ưu chúng ta thường giải phương trình đạo hàm (gradient) bằng 0 Tất nhiên đó là khi việc tính đạo hàm và việc giải phương trình đạo hàm bằng 0 không quá phức tạp Thật may mắn, với các mô hình tuyến tính, hai việc này là khả thi

Đạo hàm theo w của hàm mất mát là:

CHƯƠNG II: ÁP DỤNG THUẬT TOÁN

2 1 Mô tả bài toán

Đề tài Dự đoán giá bất động sản của chúng em áp dụng thuật toán hồi quy tuyến tính được dựa vào các dự liệu chúng em đã tham khảo trên trang

ngoài mô tả về giá nhà, giá bất động sản tại nơi đó dựa vào vị trí địa lý của mảnh đất hoặc khu nhà đó

Trang 12

2 2 Mô tả tập dữ liệu

2 2 1 Thông tin thuộc tính:

Các đầu vào như sau

X1 = tuổi nhà (đơn vị: năm)

X2 = khoảng cách đến trạm tàu điện ngầm gần nhất (đơn vị: mét ) X3 = số lượng cửa hàng tiện lợi trong vòng 1km (số nguyên)

X4 = tọa độ địa lý, vĩ độ (đơn vị: độ)

X5 = tọa độ địa lý, kinh độ (đơn vị: độ)

X6 = Ping đơn vị tính bên Đài Loan ( 1 mét vuông Ping = 3,3 mét vuông)

Sản lượng như sau

Y = giá nhà của đơn vị diện tích (10000 Đô la Đài Loan mới / Ping, trong đó Ping là đơn vị địa phương, 1 mét vuông Ping = 3,3 mét)

Trang 13

2 2 2 Dữ liệu

2.2.2.1 Bảng mô tả dữ liệu

2 3 Áp dụng thuật toán cho bài toán

2.3.1 Import thư viện

from future import division, print_function, unicode_literals

import numpy as np

import pandas as pd

Trang 14

import matplotlib.pyplot as plt

from sklearn.model_selection import train_test_split

2.3.2 Lấy dữ liệu

df=pd.read_csv('Real-estate-valuation-data-set-_2 2.csv')

a=df.values[:,0]

a1=df.values[:,1]

a2=df.values[:,2]

a3=df.values[:,3]

b=df.values[:,4]

2.3.3 Chuyển vị dữ liệu

X=np.array([a]).T

X1=np.array([a1]).T

X2=np.array([a2]).T

X3=np.array([a3]).T

y=np.array([b]).T

2.3.4 Xây dựng tập huấn luyện

# Building Xbar

one = np.ones((X.shape[0], 1))# array voi tat cac thong so la 1

Xbar = np.concatenate((one,X,X1,X2,X3),1)# Noi one voi X

Xbar_train, Xbar_test, y_train, y_test =

train_test_split(Xbar,y,test_size=0.33,random_state=42)

print(Xbar_test)

2.3.5 Ước lượng tham số

# Calculating weights of the fitting line

A = np.dot(Xbar_train.T, Xbar_train)# Nhan ma tran chuyen vi X voi X

b = np.dot(Xbar_train.T, y_train)#nhan ma tran chuyen vi cua X voi y

w = np.dot(np.linalg.pinv(A), b)# lay ma tran nghich dao cua A nhan b

print('w = ', w)

def per(x1,x2,x3,w):

return (w[0]+x1*Xw[1]+x2*Xw[2]+x3*Xw[3])

Trang 15

plt.scatter(Y_pre,y_test,color='red')

plt.xlabel("Giá trị dự đoán của Y")

plt.ylabel("Giá trị thực của Y")

plt.show()

2.3.6 Code Python

Trang 16

Hình 2.3.6.1 Code Python

2 4 Đánh giá kết quả

Trang 17

2.4.1 Đánh giá kết quả

Theo như hình trên, giá trị dự đoán của Y và giá trị thực của Y có sự sai lệch nhất định do mô hình được lựa chọn chưa chính xác 100%

Vậy nên thuật toán hồi quy tuyến tính còn mang nhiều hạn chế khác như :

- Chưa biểu diễn được những mô hình phức tạp hơn

- Còn nhiều thiếu sót trong khâu phân tích

- Thi thoảng gây nhiễu

CHƯƠNG III : KẾT LUẬN

Lý thuyết Hồi quy tuyến tính dựa trên những ý tưởng hết sức cơ bản,

nó đưa ra cách thức lựa chọn một phương án có tính tối ưu nhất, không phải

Trang 18

tất cả các dự đoán dựa trên Hồi quy đều chính xác nhưng nó sẽ lựa chọn ra phương án tốt nhất Trong bài tiếp theo, chúng ta sẽ áp dụng các lý thuyết này trong viết code Python để thực hiện vẽ ra đường thẳng thể hiện mối quan hệ giữa ngân sách và doanh thu

Thuật toán hồi quy tuyến tính đưa chúng ta đến bài toán dự đoán giá nhà đất một cách hoàn chỉnh cùng với những số liệu thực tế Mặc dù công thức chuẩn có thể tính được tham số nhưng với tập dữ liệu mà lớn thì khả năng sẽ không khít được với bộ nhớ của máy tính, nên trong thực tế người ta thường sử dụng phương pháp đạo hàm để tối ưu

Thuật toán mang lại cho người sử dụng nhiều dự đoán hơn trong ứng dụng cuộc sống không chỉ mỗi dự đoán về giá nhà đất mà có thể về thời tiết , giá vàng, … giúp ích rất nhiều cho người sử dụng nó

Chúng em chân thành xin gửi lời cảm ơn đặc biệt đến thầy giáo, người đã tận tình hướng dẫn môn Nhập Môn Học Máy cho chúng em trong

từng buổi học Thầy đã giúp trang bị cho chúng em kiến thức môn học và hơn cả là động lực để tiếp tục trên con đường chinh phục công nghệ

TÀI LIỆU THAM KHẢO

1 [ML] Hồi quy tuyến tính : https://dominhhai github

io/vi/2017/12/ml-linear-regression/

2 Machine Learning cơ bản: https://machinelearningcoban

com/2016/12/28/linearregression/

3 Phân tích hồi quy tuyến tính đa biến : https://bit ly/30xi3Vb

Trang 19

4 Trang dữ liệu : https://archive ics uci edu/

Ngày đăng: 15/12/2022, 16:12

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w