Deep Learning Types
Deep Learning Types
Machine Learning algorithms cannot solve classification problem that involve a complex relationship
Why Deep Learning : Feature Engineering
Feature engineering is a two-step process:
model = Sequential()
model.add(Dense(2, input_shape = (2,), activation='sigmoid'))
model.add(Dense(10, activation= 'sigmoid'))
model.add(Dense(10, activation= 'sigmoid'))
model.add(Dense(1))
Terjadi konvolusi memanfaatkan filter yang Untuk mereduksi input secara spasial dengan
memiliki tinggi, lebar, dan tebal tertentu. operasi down-sampling. Umumnya, metode
Filter ini diinisialisasi dengan nilai tertentu dan pooling yang digunakan adalah max pooling atau
nilainya akan di-update dalam proses learning. mengambil nilai terbesar dari bagian tersebut
Konvolusi
Filter/kernel
from keras.utils.np_utils import to_categorical
from keras.models import Sequential
from keras.layers import Dense, Dropout, Flatten, Conv2D, MaxPool2D # data augmentation to avoid overfitting problem
from keras.optimizers import RMSprop,Adam datagen = ImageDataGenerator(
from keras.preprocessing.image import ImageDataGenerator featurewise_center=False,
from keras.callbacks import ReduceLROnPlateau samplewise_center=False,
featurewise_std_normalization=False,
model = Sequential() samplewise_std_normalization=False,
# zca_whitening=False,
model.add(Conv2D(filters = 8, kernel_size = (5,5),padding = 'Same', rotation_range=5, zoom_range = 0.1,
activation ='relu', input_shape = (28,28,1))) width_shift_range=0.1,
model.add(MaxPool2D(pool_size=(2,2))) height_shift_range=0.1,
model.add(Dropout(0.25)) horizontal_flip=False,
# vertical_flip=False)
model.add(Conv2D(filters = 16, kernel_size = (3,3),padding = 'Same',
activation ='relu')) datagen.fit(X_train)
model.add(MaxPool2D(pool_size=(2,2), strides=(2,2)))
model.add(Dropout(0.25)) # Fit the model
# fully connected history = model.fit_generator(datagen.flow(X_train,Y_train,
model.add(Flatten()) batch_size=batch_size), epochs = epochs, validation_data =
model.add(Dense(256, activation = "relu")) (X_val,Y_val), steps_per_epoch=X_train.shape[0] // batch_size)
model.add(Dropout(0.5))
model.add(Dense(10, activation = "softmax")) Y_pred = model.predict(X_val)
# Compile the model
model.compile(optimizer = optimizer , loss = "categorical_crossentropy",
metrics=["accuracy"])