64, 16, 1로 layer를 추가하여 모델을 만든다. optimizer로 Adam, loss function으로 코사인 유사도 함수를 사용한다.
결과는 처참했다. 데이터가 너무 부족해서 정확도가 낮은거 같다.
또한 좋은 자연어 처리 모델을 사용해봐야겠다.
데이터가 적을 때는 다음과 같은 방법을 사용한다.
1. cosine loss를 사용한다.
2. 시작 가중치를 잘 잡는다.
3. network를 깊게 구성한다.
4. 5-fold cross-validation를 한다.
5. GAN, Fine-tuning을 한다.
전처리 단계도 검토해보겠지만 GAN으로 데이터를 생성하는 방법도 생각해보고 다른 프로젝트로 넘어가야겠다.
from tensorflow.keras import models
from tensorflow.keras import layers
from tensorflow.keras import optimizers
from tensorflow.keras import losses
from tensorflow.keras import metrics
model = models.Sequential()
model.add(layers.Dense(64, activation='relu', input_shape=(5627,)))
model.add(layers.Dense(16, activation='relu'))
model.add(layers.Dense(1, activation='sigmoid'))
model.compile(optimizer=optimizers.Adam(learning_rate=0.01),
loss=losses.CosineSimilarity(),
metrics=[metrics.binary_accuracy])
model.fit(X_train, Y_train, epochs=10, batch_size=512)
results = model.evaluate(X_test, Y_test)
'프로젝트 > Project1' 카테고리의 다른 글
Toy Project 1 (8) - Text preprocessing - Tokenization (0) | 2021.10.09 |
---|---|
Toy Project 1 (7) - M1 mac 설정하기(삽질) (0) | 2021.09.21 |
Toy Project 1 (6) - HWP XML PARSING하기 2 (0) | 2021.09.12 |
Toy Project 1 (5) - HWP XML PARSING하기 1 (0) | 2021.06.11 |
Toy Project 1 (4) - HWP파일 XML로 바꾸기 (0) | 2021.05.30 |