
다음 포스팅은 "XAI 설명가능한 인공지능, 인공지능을 해부하다" 책을 읽고 정리한 내용을 포스팅합니다. 1. XAI란? - 설명 가능한 의사 결정 체계 - 1975년 처음 등장 - 부정확한 추론 과정을 확률적으로 모델링하는 방법 -> 이 규칙을 기반으로 조건부 확률 근삿값(Rule-based conditional probabiity approximation) 방식 개발, 의사 결정 과정을 확률적이고 체계적으로 정돈하는 방식 - 설명가능한 인공지능은 2004년이 되서야 "XAI(Explainable Aritificial Intelligence)"라는 전문용어로 자리 잡음 - 반렌트, 피셔, 만쿠소가 제시 - "컴퓨터 시스템이나 인공지능 시스템은 복잡해지는 반면에 그것들의 자기 설명 기능에는 발전이 없다!..

베이즈 정리 => “사전확률로부터 사후확률을 구할 수 있다” 베이즈 정리의 기본 베이즈 통계학은 조건부 확률관한 법칙인 베이즈 정리를 기본으로 둔다. 토머시스 베이즈, 알려지지 않은 사 전 분포에 관측값을 쌓아가면서 확실함을 더해가는 과정에 관심을 두고 연구 사건 A와 B가 있을 때, 사건 B가 일어난 것을 전제로 한 사건 A의 조건부 확률을 구하고 싶다고 하자. 그런데 지금 알고 있는 것은 사건 A가 일어난 것을 전제로 한 사건 B의 조건부 확률, A의 확률, B의 확률 뿐이다. 그럴 때, 원래 구하고자 했던 '사건 B가 일어난 것을 전제로 한 사건 A의 조건부 확률'은 다음과 같이 구할 수가 있다
머신러닝을 하면서 hyperparameter에 대한 고민이 많았다. 단순히 노가다 성격이 아닌 어떻게 하는지 정리해보려고 한다. 핵심코드만 정리해둠 순서는 7가지나 자주 많이 쓰이는 GridSearch , BayesianOptimization ,Optuna 세 개만 정리해보려고 한다. 이건 개인적으로 정리하는 용도로 만들었기 때문에 만약에 전체 flow를 보고 싶다면 밑의 링크를 참고하면 된다. 전체코드는 여기서 보실 수 있음 순서 1. GridSearch 2. BayesianOptimization 3. Optuna 4. scikit-optimize 5. Hyperopt 6. Spearmint 7. benderopt 1. GridSearch - 기본적인 방법 1 2 3 4 5 6 7 8 9 10 11 1..

1. Data 만들기 - "data2.csv" 2. LinearRegression Code 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 import pandas as pd import numpy as np df_data = pd.read_csv("data2.csv") x_data = df_data.drop(['y'],axis=1) y_data = df_data['y'] print(x_data.head(5)) print(y_data.head(5)) from sklearn.linear_model import LinearRegression from sklearn.model_selection import cross_val_score lin_reg = LinearRegre..

1. 군집화(clustering)이란? 주어진 데이터들의 특성을 고려해 데이터 집단(클러스터)을 정의하고 데이터 집단의 대표할 수 있는 대표점을 찾는 것으로 데이터 마이닝의 한 방법이다. 클러스터란 비슷한 특성을 가진 데이터들의 집단이다. 반대로 데이터의 특성이 다르면 다른 클러스터에 속해야 한다. (by 위키백과) 비지도학습종류 2가지 1. 데이터 클러스터링 2. 특성 변수 관계 탐색 -> 데이터 클러스터링? 여러번의 반복을 통해 데이터의 최적 분할을 진행하는 방법 -> 특성 변수 관계 탐색? 각종 연관성 분석 방법을 통해 변수 사이의 관계를 찾는것 2. 군집화 알고리즘 (1) K 평균 군집 중심점(centroid)라는 특정한 임의의 지점을 선택해 해당 중심에 가장 가까운 포인트들을 선택하는 군집화기법..

1. 머신러닝 - Feature 1. 숫자 데이터에 대한 첫번째 체크 포인트? 값의 크기문제 Q. 단지 양수 또는 음수인지만 알면 되는가? Q. 대략적으로 구간을 나눠야 하는가? 2. 피쳐의 스케일 - 가장 큰 값과 작은 값은 무엇인가? 그 둘의 차이는 몇자리 수 인가? Q. 가장 큰 값과 가장 작은 값은 무엇인가? Q. 그 둘의 차이는 몇자리 수 인가? Q. 피쳐의 정규화 필요성 * 논리함수? 입력 피쳐 스케일에 민감하지 않다. 입력이 무엇이든 이 함수의 출력은 바이너리이기 때문에 * 의사결정트리모델은 입력 피쳐에 대한 계단 함수들로 구성되기 때문에 공간 분할 트리에 기초한 모델들은 입력 스케일에 민감하지 않다. 하지만 입력의 스케일이 계속 커지는 경우, 학습된 트리의 범위를 벗어날 수 있기 때문에 주..
0.배치학습 vs 온라인학습 머신러닝 시스템을 분류하는 데 사용하는 다른 기준은 입력 데이터의 스트림(stream)으로부터 점진적으로 학습할 수 있는지의 여부 1. 배치학습? (Batch learning) = 오프라인 학습 시스템이 점진적으로 학습할 수 없다. 강용한 데이터를 모두 사용해 훈련시켜야 한다. 즉, 학습한 것을 단지 적용만 한다. 일반적으로 이 방식은 시간과 자원을 많이 소모하므로 보통 오프라인에서 수행 배치 학습이 새로운 데이터에 대해 학습하려면 전체 데이터를 사용하여 시스템의 새로운 버젼을 처음부터 다시 훈련할 필요가 있다. 주기적으로 데이터셋을 사용해 훈련하는데 몇시간이 소요된다. 장점 : 간단하고 잘 적용 단점 : 전체 데이터 셋을 사용해 훈련하는 데 몇시간이 소요될 수 있다. 또한 ..
1.conda 가상 환경 확인하기 conda env list 2. conda 가상환경 만들기 conda create -n [virtualEnv] python = 3.6 3. jupyter 추가 3.1 가상환경 활성화 source activate [virtualEnv] 3.2 가상환경에서 jupyter notebook 설치 pip install ipykernel 3.3 jupyter notebook에 가상환경 kernel 추가 python -m ipykernel install --user --name [virtualEnv] --display-name "[displayKenrelName]" ex) python -m ipykernel install --user --name py36 --display-name ..

0. 분류의 성능 평가 지표 정확도(Accuracy) 오차행렬(Confusion Matrix) 정밀도(Precision) 재현율(Recall) F1 스코어 ROC AUC 1. 오차행렬(confusion matrix) describe the performance of a classification model 학습된 분류 모델이 예측을 수행하면서 얼마나 헷갈리고 있는지 함께 보여주는 지표 이진 분류의 예측 오류가 얼마인지와 더불어 어떠한 유형의 예측 오류가 발생하고 있는지를 함께 나타내는 지표 TN : 예측값을 Negative 값으로 0으로 예측했고 실제값 역시 Negative 값 0 FP : 예측값을 Positivie 값 1로 예측했는데 실제값은 Negative 값 0 FN : 예측값을 Negative 값..

1. 오일러 공식 수학자 레온하르트 오일러의 이름이 붙은 공식 복소수 지수를 정의한데에 출발점이 되며, 삼각함수와 지수함수에 대한 관계를 나타냄 @https://twlab.tistory.com/56?category=668741 https://spacebike.tistory.com/6 https://www.quora.com/Why-do-we-substitute-s-jw-when-doing-frequency-response-methods-and-not-s-sigma-+-jw