[이론] 9-10wk 수업 복습
인공지능 = 여러번 데이터를 통해 규칙을 도축하여 새로운 데이터에 대해서도 자동화/최적화
규칙기반 알고리즘 = rule based > 사람이 직접 규칙을 도출해줘야 했다
머신러닝 = 여러번 데이터를 학습시켜 스스로 추론하도록 만들어 자동화/최적화
정형데이터에 주로 사용되고, 컬럼 선택은 필요함
딥러닝 = 머신러닝 중에 뉴럴렛을 통해 기이잎게 쌓은 모델을 사용하는 기술
비정형데이터에서 주로 쓰이고, 컬럼 선택이 필요없다. 블랙박스 모형임
기계학습의 한 유형인 지도학습
레이블된 데이터, 명확한 목표, 평가방법
모델이 입력 데이터와 해당 데이터에 대한 레이블을 활용하여 모델 훈련
지도학습
예시 : 개고양이 분류, 뉴스요약 등
비지도학습
입력 데이터에 대한 레이블이 없는 상태에서 모델을 학습하는 방법
목표는 데이터의 패턴이나 구조를 발견
예시 : MLM task, 클러스터링 (패턴 분석에 사용)
self-superivised MLM
MLM = Masked Language Modeling - 입력 텍스트에서 빈칸을 뚫어서 masked 토큰으로 바꾸고 그걸 예측하는 형태로 학습을 진행하였음
clozed task 라는 심리학 연구를 기반으로 했고 한국인들은 빈칸추론으로 익숙함
> BERT (1953년의 노문을 기반으로 하고 있음)
평가지표
confusion matirx
실제/예측 T F
T
F
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차원..