<오전>
- 복습
머신러닝과 딥러닝(머신러닝이 딥러닝 포함)
머신러닝
: 뭘로 학습 시켰지? 선형회귀(리니어 리그리션)은 경사하강법으로 학습시킴
딥러닝은 특징과 판단을 기계가 하도록. 블랙박스라고 함
데이터를 가지고 모델의 퍼포먼스를 향상 시킴 : 머신러닝
이말년생성기
레이블된 데이터 : 정답이 있는 데이터. 직접적인 피드백을 주면서 학습시킴.
큰 사이즈의 모델 -> 모델 사이즈를 어떻게 줄여 중소모델에 탑제할 수 있을까에 대한 연구가 많음
(gpt는 사이즈가 너무 큼) ex) 로라튜닝
머신러닝은 데이터와 라벨(해답)을 넣고 규칙을 찾는 것
데이터와 데이터(자기자신)을 넣고 규칙을 찾는 것? 머신러닝의 일종
train, evaluate 과정부터 개발영역이라고 생각
deploy : 배포하
레드햇 자격증
회귀는 수치를 예측, 분류는 확률을 예측. 이게 몇 퍼센트의 확률로 얘일 것이다
단변량 2차식은 비선형
다중선형회귀 -> 평면그래프 (선형은 직선그래프)
n분의 1로 나누면 코스트 펑션, 안나누면 에러펑션
수치 미분은 어떤 로직에 의해 찾아내는거(값을 대입해서 미분값이 0인 지점을 찾아내는 것)
<오후>
차수 올려서 문제해결? 폴리노미픽쳐스
성능측정
실습 : 당뇨병 진행 예측
교차검증
data sets : 트레이닝용 데이터 + test data
시험공부할 때 이론 먼저 공부 -> 문제 -> 연습문제-> 실제 시험
model 학습 -> 트레이닝데이터 -> 테스트 데이터 -> 테스트
data set [ train | test ] 분류해서 학습 가능 -> best model
^---- 평가 후 다시 학습 시킴
지금은 모델의 파라미터를 조정을 안함
best model을 만들기 위해 성능이 좋아야함(요건 2개)
최적의 hyper parameter :사람이 조정 ex) 차수, 학습률
최적의 parameter (가중치, weight, wi) <=다 같은말
1) train + test 같이 넣고 학습돌림 -> test : 성능은 좋지만 일반화는 떨어짐
2) rain 학습-> test : 일반화는 잘함
어떤 것이 성능이 더 좋을까? 성능 자체는 1)
지능은 IQ + 과제집착도
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(DATA이름, DATA Target)
랜덤스테이트를 고정하는 이유 : 매번 할 때 마다 다른 결과가 나오면 통제할 수 없음.
best model을 만들 때 weight 값의 고정을 위해 sklearn의 seed 고정, dataset의 seed도 고정시킨 후 학습
=> 항상 동일한 결과. model의 학습 best model -> seed를 바꿔가면서 학습(최적의 seed를 찾기 위해)
1만개 중 8천 개 트레이닝 set, 나머지 test set
Validation Set : 검증하는 데이터셋
과적합(over fit)
모델을 조정 = model hyper parameter을 조정(튜닝)
오버피팅 : 학습이 너무 잘됨. <-> 언더피팅
train : vallid : test 비율
9 : 0.5 : 0.5
선형모델 주피터
전처리를 하고 모델을 한번 돌려보는게 가장 좋음.
교차 검증
트레이닝 데이터와 테스트 데이터셋을 나누고 번갈아가면서 확인함
cross_validation이 train하고 vaild를 나눠줌
....
k겹 교차검증
어떤 데이터에 편향되는 경우가 있음
생산공장 -> 불량품 예측 ->
10,000개 -> 불량 100개, 정상 9900개
불량이 적어 셔플된 애들 중에 불량이 없을 수도 있음(불량없는 폴드도 있을 수 있음)
보스턴, 캘리포니아 주택 데이터