Anda di halaman 1dari 15

Tugas – 4

1. Masalah Bacaan

1.1. Bab 9

1.1.1. Tiga komputer, A, B, dan C, memiliki fitur numerik yang tercantum di bawah ini:

Kita dapat membayangkan nilai-nilai ini sebagai vektor untuk setiap komputer; misalnya,
vektor A adalah [3,06, 500, 6]. Kita dapat menghitung jarak kosinus antara dua vektor
mana pun, tetapi jika kita tidak menskalakan komponen, maka ukuran disk akan
mendominasi dan membuat perbedaan pada komponen lain pada dasarnya tidak terlihat.
Mari kita gunakan 1 sebagai faktor skala untuk kecepatan prosesor, α untuk ukuran disk,
dan β untuk ukuran memori utama.

Kecepatan Ukuran Ukuran Memori


Fitur Prosesor Diska Utama
A 3.06 500α 6β
B 2.68 320α 4β
C 2.92 640α 6β

(a) Dalam hal α dan β, hitung cosinus sudut antara vektor untuk setiap pasangan dari tiga
komputer.

A=[3.06, 500α, 6β]


B=[2.68, 320α, 4β]

Cos θ = 8.2008 + 160000α2 + 24β2


√(9.36 + 250000α2 + 36β2) * √(7.18 + 102400α2 + 16β2)

A=[3.06, 500α, 6β]


C=[2.92, 640α, 6β]

Cos θ = 8.9352 + 320000α2 + 36β2


√(9.36 + 250000α2 + 36β2) * √(8.53 + 409600α2 + 36β2)
B=[2.68, 320α, 4β]
C=[2.92, 640α, 6β]

Cos θ = 7.8256 + 204800α2 + 24β2


√(7.18 + 102400α2 + 16β2) * √(8.53 + 409600α2 + 36β2)

(b) Berapa sudut antara vektor jika α = β = 1?

A=[3.06, 500α, 6β]


B=[2.68, 320α, 4β]

Cos θ = 8.2008 + 160000α2 + 24β2


√(9.36 + 250000α2 + 36β2) * √(7.18 + 102400α2 + 16β2)

= 8.2008 + 160000(1)2 + 24(1)2


√(9.36 + 250000(1)2 + 36(1)2) * √(7.18 + 102400(1)2 + 16(1)2)

= 8.2008 + 160000 + 24
√(9.36 + 250000 + 36) * √(7.18 + 102400 + 16)

= 0.99

Sudut antara vektor A dan B kira-kira 0◦

A=[3.06, 500α, 6β]


C=[2.92, 640α, 6β]

Cos θ = 8.9352 + 320000α2 + 36β2


√(9.36 + 250000α2 + 36β2) * √(8.53 + 409600α2 + 36β2)

= 8.9352 + 320000(1)2 + 36(1)2


√(9.36 + 250000(1)2 + 36(1)2) * √(8.53 + 409600(1)2 + 36(1)2)

= 8.9352 + 320000 + 36
√(9.36 + 250000 + 36) * √(8.53 + 409600 + 36)

= 0.99

Sudut antara vektor A dan C kira-kira 0◦


B=[2.68, 320α, 4β]
C=[2.92, 640α, 6β]

Cos θ = 7.8256 + 204800α2 + 24β2


√(7.18 + 102400α2 + 16β2) * √(8.53 + 409600α2 + 36β2)

= 7.8256 + 204800(1)2 + 24(1)2


√(7.18 + 102400(1)2 + 16(1)2) * √(8.53 + 409600(1)2 + 36(1)2)

= 7.8256 + 204800 + 24
√(7.18 + 102400 + 16) * √(8.53 + 409600 + 36)

= 0.99

Sudut antara vektor B dan C kira-kira 0◦

(c) Berapa sudut antara vektor jika α = 0,01 dan β = 0,5?

A=[3.06, 500α, 6β]


B=[2.68, 320α, 4β]

Cos θ = 8.2008 + 160000α2 + 24β2


√(9.36 + 250000α2 + 36β2) * √(7.18 + 102400α2 + 16β2)

= 8.2008 + 160000(0.01)2 + 24(0.5)2


√(9.36 + 250000(0.01)2 + 36(0.5)2) * √(7.18 + 102400(0.01)2 + 16(0.5)2)

= 8.2008 + 16 + 6
√(9.36 + 25 + 9) * √(7.18 + 10.24 + 4)

= 0.99

Sudut antara vektor A dan B kira-kira 0◦

A=[3.06, 500α, 6β]


C=[2.92, 640α, 6β]

Cos θ = 8.9352 + 320000α2 + 36β2


√(9.36 + 250000α2 + 36β2) * √(8.53 + 409600α2 + 36β2)

= 8.9352 + 320000(0.01)2 + 36(0.5)2


√(9.36 + 250000(0.01)2 + 36(0.5)2) * √(8.53 + 409600(0.01)2 + 36(0.5)2)

= 8.9352 + 32 + 9
√(9.36 + 25 + 9) * √(8.53 + 40.96 + 9)
= 0.99
Sudut antara vektor A dan C kira-kira 0◦

B=[2.68, 320α, 4β]


C=[2.92, 640α, 6β]

Cos θ = 7.8256 + 204800α2 + 24β2


√(7.18 + 102400α2 + 16β2) * √(8.53 + 409600α2 + 36β2)

= 7.8256 + 204800(0.01)2 + 24(0.5)2


√(7.18 + 102400(0.01)2 + 16(0.5)2) * √(8.53 + 409600(0.01)2 + 36(0.5)2)

= 7.8256 + 20.48 + 6
√(7.18 + 10.24 + 4) * √(8.53 + 40.96 + 9)

= 0.97

Sudut antara vektor B dan C kira-kira 0◦

(d) Salah satu cara yang adil untuk memilih faktor skala adalah membuat masing-masing
berbanding terbalik dengan nilai rata-rata dalam komponennya . Berapa nilai α dan β, dan
berapa sudut antara vektor?

Faktor skala α = β = [berbanding terbalik dengan nilai rata-rata komponennya]

Nilai α = 3 = 0.002
(500+320+640)

Nilai β = 3 = 0.1875
(6+4+6)

A=[3.06, 500α, 6β]


B=[2.68, 320α, 4β]

Cos θ = 8.2008 + 160000α2 + 24β2


√(9.36 + 250000α2 + 36β2) * √(7.18 + 102400α2 + 16β2)

= 8.2008 + 160000(0.002)2 + 24(0.1875)2


√(9.36 + 250000(0.002)2 + 36(0.1875)2) * √(7.18 + 102400(0.002)2 + 16(0.1875)2)

= 8.2008 + 0.64 + 0.84


√(9.36 + 1 + 1.27) * √(7.18 + 0.41 + 0.56)
= 0.994

Sudut antara vektor A dan B kira-kira 0◦


A=[3.06, 500α, 6β]
C=[2.92, 640α, 6β]

Cos θ = 8.9352 + 320000α2 + 36β2


√(9.36 + 250000α2 + 36β2) * √(8.53 + 409600α2 + 36β2)

= 8.9352 + 320000(0.002)2 + 36(0.1875)2


√(9.36 + 250000(0.002)2 + 36(0.1875)2) * √(8.53 + 409600(0.002)2 + 36(0.1875)2)

= 8.9352 + 1.28 + 1.27


√(9.36 + 1 + 1.27) * √(8.53 + 1.64 + 1.27)

= 0.996

Sudut antara vektor A dan C kira-kira 0◦

B=[2.68, 320α, 4β]


C=[2.92, 640α, 6β]

Cos θ = 7.8256 + 204800α2 + 24β2


√(7.18 + 102400α2 + 16β2) * √(8.53 + 409600α2 + 36β2)

= 7.8256 + 204800(0.002)2 + 24(0.1875)2


√(7.18 + 102400(0.002)2 + 16(0.1875)2) * √(8.53 + 409600(0.002)2 + 36(0.1875)2)

= 7.8256 + 0.82 + 0.84


√(7.18 + 0.41 + 0.56) * √(8.53 + 1.64 + 1.27)

= 0.98

Sudut antara vektor B dan C kira-kira 0◦

1.1.2. Seorang pengguna tertentu telah menilai ketiga komputer Latihan 9.2.1 sebagai berikut:
A: 4 bintang, B: 2 bintang, C: 5 bintang.

(a) Normalisasi peringkat untuk pengguna ini.

Peringkat pengguna untuk 3 komputer (A, B dan C): 4, 2 dan 5

Peringkat pengguna rata-rata = 4+2+5


3
= 11
3
= 3.67

Peringkat yang dinormalisasi untuk A= 4 – 11 = 1 = 0,33


3 3

Peringkat yang dinormalisasi untuk B= 2 – 11 = - 5 = - 1,67


3 3

Peringkat yang dinormalisasi untuk C= 5 – 11 = 4 = 1,33


3 3

Peringkat Normalisasi Gabungan = (4 - 3,67) + (2 - 3,67) + (5 – 3,67)


3
= - 0.01
3
= - 0.003333

(b) Hitung profil pengguna untuk pengguna, dengan komponen kecepatan prosesor, ukuran
disk, dan ukuran memori utama, berdasarkan data Latihan 9.2.1.

Kecepatan Prosesor = 3.06 * 1/3 - 2.68 * 5/3 + 2.92 * 4/3 = 0.4467


Ukuran Diska = 500 * 1/3 – 320 * 5/3 + 640 * 4/3 = 486.6667
Memori utama = 6 * 1/3 – 4 * 5/3 + 6 * 4/3 = 3.3333

Kecepatan Ukuran Memori


Fitur Prosesor Ukuran Diska Utama
Penggu
na 0.4467 486.6667 3.3333

1.1.3. Gambar 9.8 adalah matriks utilitas, yang mewakili peringkat, pada skala bintang 1–5,
dari delapan item, a sampai h, oleh tiga pengguna A, B, dan C. Hitung yang berikut dari
data matriks ini.

(a) Perlakukan matriks utilitas sebagai boolean, hitung jarak Jaccard antara setiap pasangan
pengguna.

Jarak Jaccard = F 11
F 11 +F 01 +F 10

J kartu(A, B) = 4 = 1 = 0,5
8 2

Jaccard(B, C) = 4 = 1 = 0,5
8 2

Jaccard(A, C) = 4 = 1 = 0,5
8 2

(b) Ulangi Bagian (a), tetapi gunakan jarak kosinus.

A=[4,5,0,5,1,0,3,2]
B=[0,3,4,3,1,2,1,0]

cos(A, B) = (4*0)+(5*3)+(0*4)+(5*3)+(1*1)+(0*2)+(3*1)+( 2*0) = 34 = 0.601


√(16+25+0+25+1+0+9+4) * √(0+9+16+9+1+4+1+0) √(80)*√(40)

B=[0,3,4,3,1,2,1,0]
C=[2,0,1,3,0,4,5,3]

cos(B, C) = (0*2)+(3*0)+(4*1)+(3*3)+(1*0)+(2*4)+(1*5)+( 0*3) = 26 = 0.514


√(0+9+16+9+1+4+1+0) * √(4+0+1+9+0+16+25+9) √(40)*√(64)

A=[4,5,0,5,1,0,3,2]
C=[2,0,1,3,0,4,5,3]

cos(A, C) = (4*2)+(5*0)+(0*1)+(5*3)+(1*0)+(0*4)+(3*5)+( 2*3) = 44 = 0.615


√(16+25+0+25+1+0+9+4) * √(4+0+1+9+0+16+25+9) √(80)*√(64)

(c) Perlakukan peringkat 3, 4, dan 5 sebagai 1 dan 1, 2, dan kosong sebagai 0. Hitung jarak
Jaccard antara setiap pasangan pengguna.

A B C D e F G H
A 1 1 0 1 0 0 1 0
B 0 1 1 1 0 0 0 0
C 0 0 0 1 0 1 1 1

Jarak Jaccard = F 11
F 11 +F 01 +F 10

J kartu(A, B) = 2 = 0,4
5
Jaccard(B, C) = 1 = 0,167
6

Jaccard(A, C) = 2 = 1 = 0,333
6 3
(d) Ulangi Bagian (c), tetapi gunakan jarak kosinus.

A=[1,1,0,1,0,0,1,0]
B=[0,1,1,1,0,0,0,0]

cos(A, B) = (1*0)+(1*1)+(0*1)+(1*1)+(0*0)+(0*0)+(1*0)+( 0*0) = 2 = 0.577


√(4) * √(3) 2√3

B=[0,1,1,1,0,0,0,0]
C=[0,0,0,1,0,1,1,1]

cos(B, C) = (0*0)+(1*0)+(1*0)+(1*1)+(0*0)+(0*1)+(0*1)+( 0*1) = 1 = 0.289


√(3) * √(4) 2√3

A=[1,1,0,1,0,0,1,0]
C=[0,0,0,1,0,1,1,1]

cos(A, C) = (1*0)+(1*0)+(0*0)+(1*1)+(0*0)+(0*1)+(1*1)+( 0*0) = 2 = 1 = 0,5


√(4) * √(4) 4 2

(e) Normalisasikan matriks dengan mengurangkan dari setiap entri yang tidak kosong nilai rata-
rata untuk penggunanya.

Matriks Normalisasi

A B C D e F G H
A 0.67 1.67 1.67 -2.34 -0.34 -1.34
B 0.67 1.67 0.67 -1.34 -0.34 -1.34
C -1 -2 0 1 2 0

(f) Dengan menggunakan matriks ternormalisasi dari Bagian (e), hitung jarak kosinus antara
setiap pasangan pengguna.

A=[0,67,1,67,0,1,67,-2,34,0,-0,34,-1,34]
B=[0,0.67,1.67,0.67,-1.34,-0.34,-1.34,0]

cos(A, B) = (1,67*0,67)+(1,67*0,67)+(-2,34*-1,34)+ (-0,34*-1,34) = 5,829 = 0,5858


√(13.41) * √(7.39) 9.95
B=[0,0.67,1.67,0.67,-1.34,-0.34,-1.34,0]
C=[-1,0,-2,0,0,1,2,0]

cos(B, C) = (1,67*-2)+ (0,67*0)+ (-0,34*1)+(-1,34*2) = - 6,36 = -0,74


√(7.39) * √(10) 8.60
A=[0,67,1,67,0,1,67,-2,34,0,-0,34,-1,34]
C=[-1,0,-2,0,0,1,2,0]

cos(A, C) = (0,67*-1)+ (1,67*0)+(-0,34*2)+(-1,34*0) = -1,35 = -0,12


√(13.41) * √(10) 11.58

1.1.4. Dimulai dengan dekomposisi Gambar 9.10, kita dapat memilih salah satu dari 20 entri
dalam U atau V untuk dioptimalkan terlebih dahulu. Lakukan langkah pengoptimalan
pertama ini dengan asumsi kita memilih:

(a) kamu 32

1 1 2 2 2 2 2
1 1 1 1 1 1 1 2 2 2 2 2
1 X X = 1+x 1+x 1+x 1+x 1+x
1 1 1 1 1 1 1 2 2 2 2 2
1 1 2 2 2 2 2
Kontribusi terhadap jumlah kuadrat dari baris ketiga adalah
(x − 1) 2 + (𝑥 − 2) 2 +𝑥 2 + (𝑥 − 3) 2

Kami menemukan nilai minimum dari ekspresi ini dengan membedakan dan menyamakan
dengan 0, sebagai:
2 × ((x − 1) + (x − 2) + x + (x − 3)) = 0

Solusi untuk x adalah x = 1,5

1 1 2 2 2 2 2
1 1 1 1 1 1 1 2 2 2 2 2
1 1.5 X = 2.5 2.5 2.5 2.5 2.5
1 1 1 1 1 1 1 2 2 2 2 2
1 1 2 2 2 2 2
(b) v 14

1 1 2 2 2 y+1 2
1 1 1 1 1 y 1 2 2 2 y+1 2
1 1 X = 2 2 2 y+1 2
1 1 1 1 1 1 1 2 2 2 y+1 2
1 1 2 2 2 y+1 2

Kontribusi terhadap jumlah kuadrat dari kolom keempat adalah


(y − 3) 2 + (𝑦 − 3) 2 +𝑦 2 + (𝑦 − 2) 2 + (𝑦 − 3) 2

Kami menemukan nilai minimum dari ekspresi ini dengan membedakan dan menyamakan
dengan 0, sebagai:
2 × ((y − 3) + (y − 3) + y + (y − 2) + (y − 3)) = 0

Solusi untuk x adalah y=2.2

1 1 2 2 2 3.2 2
1 1 1 1 1 2.2 1 2 2 2 3.2 2
1 1 X = 2 2 2 3.2 2
1 1 1 1 1 1 1 2 2 2 3.2 2
1 1 2 2 2 3.2 2

2. Masalah Praktikum

2.1. Masalah 1
Muat dataset Movielens 100k (ml-100k.zip) ke dalam Python menggunakan kerangka data
Pandas. Bangun profil pengguna pada data yang tidak diskalakan untuk pengguna 200 dan 15,
dan hitung kesamaan kosinus dan jarak antara preferensi pengguna dan item/film 95. Kepada
pengguna mana sistem pemberi rekomendasi menyarankan film ini?

Item/Film 95 [Profil Item]:


Pengguna 15 [Profil Pengguna]:

Pengguna 200 [Profil Pengguna]:

Kepada pengguna mana sistem pemberi rekomendasi menyarankan film ini?

Kemiripan & Jarak Cosine antara Preferensi Pengguna dan Profil Item:
Berdasarkan skor Cosine Distance and Similarity antara preferensi Pengguna dan profil Item
untuk film 95, sistem pemberi rekomendasi harus menyarankan film ini kepada Pengguna
200 dengan skor Cosine Similarity yang lebih tinggi yaitu 0,38745727.

2.2. Masalah 2
Muat dataset Movielens 100k (ml-100k.zip) ke dalam Python menggunakan kerangka data
Pandas. Ubah data peringkat menjadi representasi matriks utilitas, dan temukan 10 pengguna
yang paling mirip untuk pengguna 1 berdasarkan kesamaan kosinus dari data peringkat
pengguna. Berdasarkan rata-rata rating item 508 dari pengguna serupa, berapa rating yang
diharapkan untuk item ini untuk pengguna 1?

Data yang Tidak Dinormalkan:

Ubah data peringkat menjadi representasi matriks utilitas:


Temukan 10 pengguna yang paling mirip untuk pengguna 1 berdasarkan kesamaan kosinus dari
data peringkat pengguna:

Berdasarkan rata-rata rating untuk item 508 dari pengguna serupa, berapa rating yang
diharapkan untuk item ini untuk pengguna 1?
Data yang Dinormalisasi [dengan memundurkan rata-rata pengguna dalam Matriks Utilitas]:

Ubah data peringkat menjadi representasi matriks utilitas:

Temukan 10 pengguna yang paling mirip untuk pengguna 1 berdasarkan kesamaan kosinus dari
data peringkat pengguna:
Berdasarkan rata-rata rating untuk item 508 dari pengguna serupa, berapa rating yang
diharapkan untuk item ini untuk pengguna 1?

Anda mungkin juga menyukai