robert-large 모델 + 데이터 전처리 여부에 따른 결과 #27
papari1123
started this conversation in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
요약
불용어 처리는 필요하나, 현재 선택된 불용어들 모두를 처리하는 것보다는 정말로 무의미한 불용어만 제거하는 것이 필요할 것으로 보임.
결과
데이터 전처리(맞춤법)가 재환이 세팅이랑 가장 비슷한데, 재환이가 제출한 결과보다는 리더보드 결과가 낮게 나옴. lr decay때문인건지.. 설정이 다른 부분이 있는 듯.
val_peason :0.922
val_peason 0.928 / leader : 0.9124
val_peason =0.890
조건
base_model: "klue/roberta-large"
model_type: "BERT"
max_epoch: 50
batch_size: 64
lr: 1e-5
ReduceLROnPlateau (patience = 4, lr decay rate= 35%)
earlystopping (patience = 10)
불용어는 stopwords_ver2를 사용.
EDA
입력 데이터 (validation) 통계
입력 데이터의 맞춤법, 불용어(stop) 처리에 따른 통계이다. 정보량이 많아 확인하고 싶은 것만 확인하고 다음으로 넘어가자.
참고로 rfreq는 문장 내 모든 토큰에 대한 빈도수의 역수x100을 평균한 값으로, 아래와 같이 계산되며, word_bags는 대상 토큰(w)의 train/validation dataset에서의 빈도수이다. 이 값이 클수록 문장 내 토큰들이 유니크한 정도를 파악할 수 있다.
raw 데이터
전처리(문법 교정)
전처리(문법 교정 + 불용어)
stopwords_ver2.txt로 불용어를 제거했기 때문에 s1_stop, s2_stop의 평균이 0이 나와야 되는데.. 어쩐지 0이 아니다. 불용어 카운팅하는 EDA 코드와 데이터 전처리 코드 간에 호환이 안되는 듯한데, 평균값이 크진 않아서 일단 냅두기로 했다.
데이터 간 비교
라벨과 예측값 간의 차이(diff) : pearson 상관계수가 높을수록 diff 분포가 전반적으로 낮은 값을 보인다.
라벨 분포 : 라벨은 고르게 분포되어있고, 당연히 전처리 여부와 상관없이 동일하다.
예측값 분포 : 라벨 분포와 달리, 모두 중간이 좀 빈 느낌인데, (문법 교정 + 불용어)를 쓴 모델이 제일 심하다. 불용어가 라벨이 2~3인 문장 세트에 대해 힌트를 주는 역할을 하는 건지.. 원인을 파악하면 모델 개선에 도움이 될 듯하다.
지표에 따른 비교
가장 결과가 잘 나온 전처리(문법 교정) 데이터에 대한 결과를 분석하였다.
아래 그래프는 s1의 불용어 개수가 0, 1-2개, 3개 이상일 때의 diff값 분포이다. 불용어 개수가 1-2개일 때 diff 값이 가장 낮은 경향을 보였다. 그러나, 3 이상인 경우에는 불용어가 없는 경우보다 더 높은 경우를 보인다.
그러나, 불용어 개수는 문장의 길이에 영향을 받기 때문에, 이 결과는 문장의 길이로 인한 결과일 수도 있다.
그래서 30 * 불용어개수/s1길이로 길이에 대한 영향을 줄였더니, 차이가 줄었지만 보이긴 한다. 다만 이게 의미있는 차이인지는 모르겠다.
s1의 길이에 따른 diff이다. s1길이가 [하위25%, 25-75%, 75%-outlier, outlier~] 일 때의 그래프인데 outlier는 샘플 개수가 적으니 무시한다고 하면 유의미한 차이는 보이지 않는다.
label에 따른 diff이다. label이 [0-1,...,4-5]일 때 그래프인데 2-3일 때 diff가 높은 것으로 보아, 이 구간에서 예측을 잘 못한다고 볼 수 있다.
기타
전처리(문법교정+불용어 처리)데이터의 label에 따른 diff이다. 전체적으로 diff가 올라갔지만, 2-3이 가장 많이 올라간 것을 알 수 있다.
전처리(문법교정)데이터로 예측한 결과에서 diff 분포에 따른 outlier가 총 13개인데, 이것을 포함하면 pearson계수가 0.928이 나온다.
그러나 이를 포함하지 않으면 pearson 계수는 0.943이 나온다.
제외할 샘플을 2배인 diff 상위 26개로 두면, pearson계수는 0.951이 나온다
outlier가 person 상관 계수에 영향을 꽤 주긴 하는 것 같다.
Beta Was this translation helpful? Give feedback.
All reactions