본문 바로가기

AI 공부/딥러닝7

pytorch 오류 RuntimeError: result type Float can't be cast to the desired output type Long y의 텐서가 float의 형태가 아니라 생기는 오류였다.... dtype=torch.float32 추가하면 float형태로 반환된다! 2022. 12. 23.
TabNet 정리 TabNet이란? TabNet은 정형데이터를 위한 딥러닝으로 DT-based 모델과 DNN의 장점을 계승시킨 모델이다. 특징 1. 전처리가 필요없고, 경사하강법을 사용하여 end-to-end 학습에 유연하게 적용이 가능하다. 2. Sequential attention을 사용하여 feature 선택의 이유를 추적할 수 있게하여 interpretability를 확보했다. 3. 다른 도메인의 회귀와 분류 데이터셋에서 매우 높은 성능을 보인다. 4. 정형 데이터셋에서 비정형 사전학습이 성능을 크게 향상시킬 수 있다. 사용방법 TabNetClassifier나 TabNetRegressor from pytorch_tabnet.tab_model import TabNetClassifier, TabNetRegressor .. 2022. 12. 12.
평가 지표 1. Accuracy(정확도) Accuracy는 전체 예측 건수에서 정답을 맞힌 건수의 비율 Accuracy의 특징 가장 직관적으로 모델의 성능을 나타낼 수 있는 평가지표이다. domain의 편중(bias)문제가 발생할 수 있다. 예를 들어, 더운 지역에 눈이오는 날 수를 예측한다고 할 때, 모두 '오지 않는다'라고만 분류기를 만들어도 분류기는 상당히 높은 정확성을 보일 것이다. 이처럼 data자체의 domain이 불균형할 경우 문제가 생길 수 있다. 2. Precision(정밀도) / Recall(재현율) Precision의 특징 Precision(정밀도)은 True라고 분류한 것들 중에서 실제로 True인 것의 비율 PPV(Positive Predictive Value) Positive 정답률이라 불.. 2022. 11. 7.
딥러닝 (RNN,LSTM,GRU) 순차적 데이터(sequential data) 순서를 가진 데이터 음성, 동영상, 주식가격 (순서가 중요하다.) 순환신경망(Recurrent Neural Networks) 이전 단계의 처리 결과가 다음 단계에 입력이 되는 형태의 신경망 순서가 있는 데이터를 flatten하면 순서의 의미가 사라지게 된다. 그래서 순환신경망을 사용한다. 순서의 의미도 학습하자 Vanilla RNN Vanilla RNN 문제점 사라지는 경사 (경사소실) 장기 의존 관계를 잘 학습할 수 없음 이전 단계에 입력이 다음 단계에 의미가 없을 수 있다. 동일한 가중치와 tanh로 인해 역전파 시 경사가 소실된다. (ReLu 사용불가 경사가 폭발) LSTM(Long Short Term Memory) 순환신경망의 사라지는 경사 문제를 해결.. 2022. 10. 3.
딥러닝 (손실함수) 손실함수 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.
728x90