본문 바로가기

AI 공부53

딥러닝 (손실함수) 손실함수 MSE, RMSE, MAE는 손실함수이다. MSE의 특징 Mean Square Error는 예측값과 정답의 차이를 제곱하기 때문에, 이상치에 대해 민감하다. 정답에 대해 예측값이 매우 다른 경우, 그 차이는 오차값에 상대적으로 크게 반영된다. 오차값에 제곱을 취하기 때문에 오차가 0과 1 사이인 경우에, MSE에서 그 오차는 본래보다 더 작게 반영되고, 오차가 1보다 클 때는 본래보다 더 크게 반영된다. 모든 함수값이 미분 가능하다. MSE는 이차 함수이기 때문에 아래와 같이 첨점을 갖지 않는다. RMSE의 특징 MSE에서 루트를 취하기 때문에, MSE의 단점이 커버된다. RMSE는 그 MSE에서 루트를 취하기 때문에 미분 불가능한 지점을 갖게된다. MSE 보다 이상치에 덜 민감하다. 이 RMS.. 2022. 10. 2.
딥러닝 (pytorch) Pytorch 구글의 tensorflow와 유사한 딥러닝 라이브러리 페이스북 인공지능 연구팀에 의해 주로 개발 (개발자들 위한 다양한 프레임워크가 나온다.) torch 텐서 변환 및 다양한 수학 함수와 클래스가 들어가 있다. torch.nn 신경망을 구축하기위한 레이어(층), 활성화 함수, 손실함수 등이 들어있다. torch.utils.data 미니배치 학습을 위한 데이터 셋을 구성하는 클래스들이 들어가 있다. torch.optim optimizer 관련된 함수와 클래스가 있다. 텐서(Tensor) N-차원 배열 텐서는 다차원 배열이나 행렬과 매우 유사한 특수한 자료구조 Pytorch 에서는 텐서를 딥러닝 모델의 입력과 출력으로 하여 학습을 진행 텐서 만들기 tensor 함수 입력받은 데이터를 텐서 객체.. 2022. 10. 2.
딥러닝 (경사하강법, 역전파, 배치) 딥러닝(Deep Learning) 딥러닝은 머신러닝 알고리즘 중 하나인 인공신경망을 다양하게 쌓은 것 인공신경망을 여러 겹으로 쌓으면 딥러닝 딥러닝은 머신러닝이 처리하기 어려운 데이터(비정형 데이터)를 더 잘 처리 3차원 이상 데이터를 잘 처리한다. 딥러닝은 만능? 학습을 위해 상당히 많은 양의 데이터를 필요로 함 (전이학습을 통해 어느정도 해결 = 자연어쪽이 발달됨!) 계산이 복잡하고 수행시간이 오래 걸림 이론적 기반이 없어 결과에 대한 장담이 어려움 (노드 층을 어떻게 쌓을지에 대한 가이드라인만 있다. 정답이 없다는 뜻 = 다양한 실험 필요하다.) 블랙 박스 접근 방식 딥러닝은 이미지와 자연어로 2가지로 나뉠 수 있는데 둘다 잘하기는 쉽지 않다. 한 분야를 선택해서 가는 것이 좋다. 손실함수(Loss.. 2022. 9. 26.
(머신러닝) XAI와 SHAP XAI(Explainable Artificial Intelligence) 설명 가능한 AI 데이터 가져오기 import pandas as pd import numpy as np from sklearn.preprocessing import OneHotEncoder from sklearn.model_selection import train_test_split from sklearn.model_selection import cross_val_score from sklearn.model_selection import KFold from lightgbm import LGBMClassifier df = pd.read_csv(f"{DATA_PATH}titanic.csv") # 결측치 미리 채우기 df.age = df.. 2022. 9. 15.
(머신러닝) data leakage Data leakage (중요!) 데이터 유출 예측할 때 사용할 수 없는 정보가 학습 데이터로 사용되는 것 (모델이 과대평가 된다.) 예시 tmp = pd.DataFrame( enc.fit_transform(train_churn[cols]).toarray(), columns = enc.get_feature_names_out() # 컬럼 이름 넣기 ) train = pd.concat([train,tmp],axis=1) train.head() => genderSeniorCitizenPartnerDependentstenurePhoneServiceMultipleLinesOnlineSecurityOnlineBackupDeviceProtection...PaperlessBillingMonthlyChargesTotal.. 2022. 9. 15.
(머신러닝) 비지도 학습 - 차원축소 지도학습 vs 비지도학습 비지도 학습의 기본 아이디어는 X를 설명할 수 있는 z가 존재한다고 가정하고 학습진행 여기서 z는 잠재변수라고 한다. z의 해는 여러개가 존재한다. 예를 들면 우리가 100을 값을 구하기 위한 방법은 25 X 4, 1 X 100, 20 X 5와 같이 여러가지 방법이 있다. 이를 잠재변수라고 비유할 수 있다. 차원의 저주 차원이 증가할수록 학습데이터의 수에 비해 특성의 차원수가 많아져서 성능이 저하되는 현상 model = LGBMClassifier(random_state=SEED) cv = KFold(n_splits=5,shuffle=True,random_state=SEED) scores = cross_val_score(model,x_train,y_train,cv = cv, sco.. 2022. 9. 14.
728x90