FNN 활용
유전자 분석을 통한 암 진단
신경망 구조
- 4층 짜리 FNN
- 입력층의 사이즈도 커지기에 2층과 3층에는 드롭아웃을 적용한다.
- 4개의 암 카테고리를 분류하기 위해 4로 지정 및 소프트맥스를 적용
층수 | 종류 | 크기 | 활성화 함수 |
---|---|---|---|
1층 | FNN | 20000 | - |
2층 | FNN | 2048 | ReLu |
- | Dropout | rate=0.5 | - |
3층 | FNN | 256 | ReLu |
- | Dropout | rate=0.5 | - |
4층 | FNN | 4 | Softmax |
딥러닝 모델 코딩
"""
Author : Byunghyun Ban
"""
from tensorflow import keras
import data_reader
# 몇 에포크 만큼 학습을 시킬 것인지 결정합니다.
EPOCHS = 20 # 예제 기본값은 20입니다.
# 데이터를 읽어옵니다.
dr = data_reader.DataReader()
# 인공신경망을 제작합니다.
model = keras.Sequential([
keras.layers.Dense(20000),
keras.layers.Dense(2048, activation="relu"),
keras.layers.Dropout(rate=0.5),
keras.layers.Dense(256, activation="relu"),
keras.layers.Dropout(rate=0.5),
keras.layers.Dense(4, activation='softmax')
])
# 인공신경망을 컴파일합니다.
model.compile(optimizer="adam", metrics=["accuracy"],
loss="sparse_categorical_crossentropy")
# 인공신경망을 학습시킵니다.
print("\n\n************ TRAINING START ************ ")
early_stop = keras.callbacks.EarlyStopping(monitor='val_loss', patience=10)
history = model.fit(dr.train_X, dr.train_Y, epochs=EPOCHS,
validation_data=(dr.test_X, dr.test_Y),
callbacks=[early_stop])
# 학습 결과를 그래프로 출력합니다.
data_reader.draw_graph(history)
BMI분석을 위한 키,체중 추론
신경망 구조
- 4층 짜리 FNN
- 입력층의 사이즈도 커지기에 2층과 3층에는 드롭아웃을 적용한다.
- 4개의 암 카테고리를 분류하기 위해 4로 지정 및 소프트맥스를 적용
층수 | 종류 | 크기 | 활성화 함수 |
---|---|---|---|
1층 | FNN | 6 | 없음 |
2층 | FNN | 256 | ReLu |
3층 | FNN | 256 | ReLu |
4층 | FNN | 256 | ReLu |
5층 | FNN | 256 | ReLu |
6층 | FNN | 2 | sigmoid |
딥러닝 모델 코딩
"""
Author : Byunghyun Ban
"""
from tensorflow import keras
import data_reader
# 몇 에포크 만큼 학습을 시킬 것인지 결정합니다.
EPOCHS = 50 # 예제 기본값은 50입니다.
# 데이터를 읽어옵니다.
dr = data_reader.DataReader()
# 인공신경망을 제작합니다.
model = keras.Sequential([
keras.layers.Dense(6),
keras.layers.Dense(256, activation="relu"),
keras.layers.Dense(256, activation="relu"),
keras.layers.Dense(256, activation="relu"),
keras.layers.Dense(256, activation="relu"),
keras.layers.Dense(2, activation='sigmoid')
])
# 인공신경망을 컴파일합니다.
model.compile(optimizer="adam", loss="mse", metrics=['mae'])
# 인공신경망을 학습시킵니다.
print("\n\n************ TRAINING START ************ ")
early_stop = keras.callbacks.EarlyStopping(monitor='val_loss', patience=10)
history = model.fit(dr.train_X, dr.train_Y, epochs=EPOCHS,
validation_data=(dr.test_X, dr.test_Y),
callbacks=[early_stop])
# 학습 결과를 그래프로 출력합니다.
data_reader.draw_graph(model(dr.test_X), dr.test_Y, history)
Author And Source
이 문제에 관하여(FNN 활용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@dragonsky2357/FNN-활용저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)