카테고리 없음

[이론] 9-10wk 수업 복습

Chloe.Kim 2024. 8. 26. 10:40

인공지능 = 여러번 데이터를 통해 규칙을 도축하여 새로운 데이터에 대해서도 자동화/최적화
규칙기반 알고리즘 = rule based > 사람이 직접 규칙을 도출해줘야 했다

머신러닝 = 여러번 데이터를 학습시켜 스스로 추론하도록 만들어 자동화/최적화 
정형데이터에 주로 사용되고, 컬럼 선택은 필요함 

딥러닝 = 머신러닝 중에 뉴럴렛을 통해 기이잎게 쌓은 모델을 사용하는 기술 
비정형데이터에서 주로 쓰이고, 컬럼 선택이 필요없다. 블랙박스 모형임 


기계학습의 한 유형인 지도학습  
레이블된 데이터, 명확한 목표, 평가방법 

모델이 입력 데이터와 해당 데이터에 대한 레이블을 활용하여 모델 훈련 

지도학습 
예시 : 개고양이 분류, 뉴스요약 등 

비지도학습 
입력 데이터에 대한 레이블이 없는 상태에서 모델을 학습하는 방법 
목표는 데이터의 패턴이나 구조를 발견 
예시 : MLM task, 클러스터링 (패턴 분석에 사용) 

 
  self-superivised MLM
  MLM = Masked Language Modeling - 입력 텍스트에서 빈칸을 뚫어서 masked 토큰으로 바꾸고 그걸 예측하는 형태로 학습을 진행하였음 
  clozed task 라는 심리학 연구를 기반으로 했고 한국인들은 빈칸추론으로 익숙함 
  > BERT (1953년의 노문을 기반으로 하고 있음) 

평가지표 
confusion matirx 
실제/예측 T F 
T


Accuracy = 맞는애들 / 전체
precision = 맞았다고 한애들 중에 진짜 맞는 애들 
recall 
f1-score 
불균형이란? 분류를 예로 들면 착한 사람과 나쁜 사람 분류하는데 나쁜 사람이 99% 

train/test : 8:2
train은 반복적으로 진행되고, 마지막 test set 으로 평가합니다. 

학습한다는 건 100개 데이터가 있으면 그 데이터에 대해서 정답을 내보는 것 그 추측이 얼마나 틀렸는지 조정하는게 학습 
우린 다른다는것을 loss라고 함 모델을 조정하는게 학습임 
label <-> prediction 


=> train loss 를 기반으로 하는 train accuracy는 신뢰도가 높을까요?
낮죠, 왜냐하면 과대적합(overfitting) 되기 때문에 
=> validation set 



학습은 = loss가 낮아지는 방향으로 적용하는게 학습임 
뭔가 높아지면 잘못 된것임 

validation set 

train/validation/ test = 6/2/2 

train - validation 
100개에 대해서 50번 한다고 하면 
100개 학습 > train loss가 나오고, 학습을 잠깐 쉬고 
30개로 평가 > validation loss가 나옵니다. > 얘는 모델에 업데이트를 안함 

test set 을 뒀는데 
테스트를 엄청해요 
계속해요 
테스트셋에서 점수가 높도록 
이런걸 최신화를 해야하고, 그래서 operation 이 필요하다. 

 

 

 

 

 

이진분류: 회귀의 모델이 



###### 오탈자임 라벨이 5개 > 3개라고 한다면
다중분류: 회귀의 모델의 출력이

sigmoid는 각각의 원소를 0에서 1사이 값으로 출력 
[23, 32, 55] > [0.5, 0.7, 0.9] 
softmax는 벡터안에 원소의 합이 1인 값으로 출력해줌 
[23, 32, 55] > [0.2, 0.3, 0.5]   

 
# argmax() 
argmax를 주면 가장 큰값의 인덱스를 줌
가장 큰 값... 

여기서 질문 argmax를 취하면 인덱스인 0이 나오지 않나요?
: 사전에 라벨의 갯수와 라벨의 타입이 정해져있는데 
이말은 라벨이 0,1,2,3 / 1,2,3,4/ a,b,c,d / setosa, virsicolor, virginica .. 같은 애일수도 있음 

 

label_dict = {0:setosa,1:virsicolor 2:virginica}

return label_dict[0] == setosa 
 



# active 함수
# 다중분류는 2개이기 때문에 2차원..