Difference between revisions of "Andika Ramadhan Gurnida"
Line 197: | Line 197: | ||
[[File:bio neuron vs ann.png|600px]] | [[File:bio neuron vs ann.png|600px]] | ||
− | '''Back Propagation'' | + | '''Back Propagation''' |
+ | |||
Arsitektur algoritma backpropagation terdiri dari tiga layer, yaitu input layer, hidden layer dan output layer. Pada input layer tidak terjadi proses komputasi, namun pada input layer terjadi pengiriman sinyal input X ke hidden layer. Pada hidden dan output layer terjadi proses komputasi terhadap bobot dan bias dan dihitung pula besarnya output dari hidden dan output layer tersebut berdasarkan fungsi aktivasi tertentu. Dalam algoritma backpropagation ini digunakan fungsi aktivasi sigmoid biner, karena output yang diharapkan bernilai antara 0 sampai 1. | Arsitektur algoritma backpropagation terdiri dari tiga layer, yaitu input layer, hidden layer dan output layer. Pada input layer tidak terjadi proses komputasi, namun pada input layer terjadi pengiriman sinyal input X ke hidden layer. Pada hidden dan output layer terjadi proses komputasi terhadap bobot dan bias dan dihitung pula besarnya output dari hidden dan output layer tersebut berdasarkan fungsi aktivasi tertentu. Dalam algoritma backpropagation ini digunakan fungsi aktivasi sigmoid biner, karena output yang diharapkan bernilai antara 0 sampai 1. | ||
Revision as of 17:45, 17 December 2019
Nama : Andika Ramadhan Gurnida NPM : 1506742943 Hobi : Panjat Tebing, Musik
Contents
Pertemuan 1
Pada pertemuan ini para mahasiswa di kelas Metnum-02 diperkenalkan dengan web air.eng.ui.ac.id . Web yang dibuat oleh Pak DAI itu digunakan untuk mengupload tugas-tugas selama kuliah metode numerik ini. Pada pertemuan ini kami diajarkan cara membuat page, dimana post pertama kami adalah "mengapa kita harus belajar kalkulus"
Metoda numerik merupakan bagian dari ilmu matematika. Numerik dapat digunakan sebagai pemecah masalah bagi mereka yang sudah memiliki ide, namun saja perhitungan akan sangat banyak. Pada mata kuliah ini, bahasa pemrograman yang akan digunakan merupakan Python
Pertemuan 2
Pada pertemuan ini dijelaskan tentang bahasa pemrograman Python. Keuntungan dari Python sendiri antara lain: 1. Merupakan software yang bersifat open-source, 2. Tersedia untuk major operating system, 3. Lebih mudah untuk dipelajari, 4. Mudah untuk diinstall
AI merupakan rekayasa yang dibuat oleh manusia untuk membantu manusia tersebut. Manusia membutuhkan AI dikarenakan kemampuannya yang terbatas, terutama dalam memproses angka yang sangat banyak jumlahnya, kemudian juga manusia mempunyai kemampuan menghapal yang lemah. Contohnya apabila manusia bermain catur melawan komputer, tentunya komputer tersebut akan meaning dikarenakan sudah menyimpan sejumlah database gerakan. Namun perbedaan manusia dengan AI yang terbesar adalah manusia mempunyai hati.
Pak DAI juga menyampaikan bahwa industri 5.0 adalah pancasila karena seharusnya teknologi tidak membodohi dan melemahkan manusia, tetapi harus membantu manusia.
Di akhir kelas kami diberi tugas untuk membuat "Hello World" menggunakan bahasa pemrograman Python.
Pertemuan 3
Pada pertemuan ketiga kami diberi tugas untuk membuat program untuk menyelesaikan deret fibonacci :
Syntax
Hasil
Headline text
QUIZ 2
#ProbSet 2.1 no.6 #jawaban from numpy import linalg import numpy as np #Definisi row1 = [0,0,2,1,2] row2 = [0,1,0,2,-1] row3 = [1,2,0,-2,0] row4 = [0,0,0,-1,1] row5 = [0,1,-1,1,-1] nmat = np.array([row1,row2,row3,row4,row5]) print("n matrix are:") print(nmat) cons = np.array([1,1,-4,-2,-1]) print("Y matrix are:") print(cons) #Penyelesaian Ans = linalg.solve(nmat,cons) x1val=int(Ans[0]) x2val=int(Ans[1]) x3val=int(Ans[2]) x4val=int(Ans[3]) x5val=int(Ans[4]) print("x result are:") print("x1=",x1val) print("x2=",x2val) print("x3=",x3val) print("x4=",x4val) print("x5=",x5val)
Ujian Tengah Semester
'''No.1''' from math import *
g = 9.81 m1 = eval(input("mass 1: ")) m2 = eval(input("mass 2: ")) m3 = eval(input("mass 3: ")) alpha = eval(input("alpha: ")) u = eval(input("friction coefficient: ")) x = sin(alpha) y = cos(alpha) t1 = m1*g*(x-(u*y)) t2 = (m2*g*(x-(u*y))) + t1 t3 = (m3*g*(x-(u*y))) + t2 t4 = t3 #Hasil print("t1: ",t1) print("t2: ",t2) print("t3: ",t3) print("t4: ",t4)
from math import * from sympy import * g = 9.81 pro = 1.2 cd = eval(input("drag coefficient: ")) area = eval(input("area : ")) v0 = 0 m = eval(input("car mass: ")) u = eval(input("friction: ")) a = eval(input("acceleration: ")) vt = eval(input("top speed: ")) fs = g*u fdrag= (cd*area*pro*v0**2)/2*m f1 = a atot = f1 - (fdrag + fs) t = (vt-v0)/atot print("time to reach top speed : ",t)
Video Muhasabah : https://youtu.be/RUl5zqLGhoE
Perbaikan UTS
Perbaikan kasus A dengan menggunakan metode eliminasi Gauss :
import math import numpy as np #matrix C & D C = np.array([[1., 0., 0.], [-1., 1., 0.], [0., -1., 1.]], float) D = np.array([21.37, 14.24, 7.12], float) n = len(C) #panjang dari baris c print('Matriks C :') print(C,'\n') print('Matriks C mempunyai ', n , ' baris','\n') print('Matriks D :') print(D,'\n') for k in range(0,n-1): #menggunakan metode eliminasi gauss for i in range(k+1,n): if C[i,k]!=0 : lam = C[i,k]/C[k,k] C[i,k:n] = C[i,k:n]-(C[k,k:n]*lam) D[i] = D[i]-(D[k]*lam) print('matrix C:', '\n', C, '\n') print('Nilai tegangan tali :') x = np.zeros(n,float) for m in range(n-1,-1,-1): x[m]=(D[m]-np.dot(C[m,m+1:n],x[m+1:n]))/C[m,m] print('T',m+1,'=', x[m])
Kasus B dengan menggunakan metode Runge Kutta :
g = 9.81 u = eval(input("Friction Coefficient: ")) a = eval(input("Percepatan mobil : ")) cd = eval(input("Drag coefficient : ")) m = eval(input("Massa mobil : ")) t0 = 0 v0 = 0 dt = 1 error = 100 F = a - g*u #dibagi dengan massa fs = cd/m #dibagi dengan massa lst = [] def dvdt(t0, v0): return F-(fs*(v0)**(1.5)) while error > 0.005: k1 = dvdt(t0, v0) k2 = dvdt(t0 + 0.5 * dt, v0 + 0.5 * dt * k1) k3 = dvdt(t0 + 0.5 * dt, v0 + 0.5 * dt * k2) k4 = dvdt(t0 + dt, v0 + dt * k3) v1 = v0 + (1.0 / 6.0)*(k1 + 2 * k2 + 2 * k3 + k4) t0 = t0 + dt error = ((v1 - v0) / v1)*100 #persentase error v0 = v1 lst.append(v1) waktu = len(lst) print ("Waktu yang dibutuhkan mobil untuk mencapai top speed dari diam: ", waktu+1, "s") print ("top speed: ", v1, "m/s")
Neural Network
Artificial Neural Network adalah sistem jaringan pembelajaran terawasi yang terdiri dari elemen sederhana. Elemen tersebut adalah neuron dan perceptron. Setiap neuron dapat membuat keputusan sederhana, dan memberi makan keputusan itu ke neuron lain, yang diorganisasikan dalam lapisan yang saling berhubungan.
Back Propagation
Arsitektur algoritma backpropagation terdiri dari tiga layer, yaitu input layer, hidden layer dan output layer. Pada input layer tidak terjadi proses komputasi, namun pada input layer terjadi pengiriman sinyal input X ke hidden layer. Pada hidden dan output layer terjadi proses komputasi terhadap bobot dan bias dan dihitung pula besarnya output dari hidden dan output layer tersebut berdasarkan fungsi aktivasi tertentu. Dalam algoritma backpropagation ini digunakan fungsi aktivasi sigmoid biner, karena output yang diharapkan bernilai antara 0 sampai 1.
Langkah membangun ANN:
1. Data Preprocessing
2. Add input layer
3. Random w init
4. Add Hidden Layers
5. Select Optimizer, Loss, and Performance Metrics
6. Compile the model
7. use model.fit to train the model
8. Evaluate the model
9. Adjust optimization parameters or model if needed