Я новичок в нейронных сетях, и я только что определил мою первую искусственную нейронную сеть следующим образом:
model = Sequential()
model.add(Dense(25,input_dim = 20, activation = 'relu'))
model.add(Dense(50,activation='relu'))
model.add(Dense(10,activation='relu'))
model.add(Dense(20,activation='relu'))
model.add(Dense(4,activation='softmax'))
Поэтому у нее есть 4 скрытых слоя (первый работает как входной) и выходной слой.
Затем я скомпилировал модель с использованием оптимизатора Адама с коэффициентом обучения 0,2 и категорической кроссентропией, потому что я имею дело с проблемой мультикласса. Смотри ниже:
adam = optimizers.Adam(lr = 0.2)
model.compile(loss='categorical_crossentropy', optimizer= adam, metrics=['accuracy'])
При проверке производительность модели (точность и потеря) довольно низкая. Ниже приведены результаты:
Пожалуйста, просмотрите результаты с уменьшенной скоростью обучения до lr = 0,001:
Пожалуйста, см. Информацию о наборе данных ниже:
RangeIndex: 2000 entries, 0 to 1999
Data columns (total 21 columns):
battery_power 2000 non-null int64
blue 2000 non-null int64
clock_speed 2000 non-null float64
dual_sim 2000 non-null int64
fc 2000 non-null int64
four_g 2000 non-null int64
int_memory 2000 non-null int64
m_dep 2000 non-null float64
mobile_wt 2000 non-null int64
n_cores 2000 non-null int64
pc 2000 non-null int64
px_height 2000 non-null int64
px_width 2000 non-null int64
ram 2000 non-null int64
sc_h 2000 non-null int64
sc_w 2000 non-null int64
talk_time 2000 non-null int64
three_g 2000 non-null int64
touch_screen 2000 non-null int64
wifi 2000 non-null int64
price_range 2000 non-null int64
dtypes: float64(2), int64(19)
Набор данных нормализован и применено кодирование One Hot для атрибута price_range
, который содержит 4 метки.