본문 바로가기

전체 카테고리160

딥러닝 (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.
백화점 데이터 분석 (머신러닝) 국비교육에서 캐글에서 백화점 데이터를 이용하여 팀을 만들어 컴피티션을 하였다. 결과는 1등을 했다.! 운이 좋았던 것 같다. 우리팀의 private score가 다른 팀에 비해 높지 않았다. 제출파일을 잘 선택하고, 각자의 모델을 잘 정리해서 1등한 것 같다. 그래서 정리하는 것이 중요하다는 것을 알게 되었다. 다른팀의 경우 높은 점수를 받은 파일을 찾지못해서 제출하지 못한 경우가 있었다. 잠도 제대로 못자고, 열심히 했는데 1등해서 보상받는 기분이 들었다. 머신러닝 파일은 하단 깃허브에서 볼 수 있다. https://github.com/DoItSon/playdata/blob/main/baseline_test_%EC%9A%A9%EC%84%9D.ipynb 처음에는 강사님의 베이스 라인을 주셔서 그것을 바탕.. 2022. 9. 25.
(머신러닝) 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