목록전체 글 (768)
우노
기본 선형 회귀란? 기본 선형 회귀 분석에서는 독립변수 (X)와 종속 변수 (Y)의 최적화 된 선형 관계를 설명하기 위해 적절한 가중치(weight)와 편향(bias)을 찾습니다. NNLS (Non-Negative Least Squares) 회귀란? 이때, NNLS는 가중치(weight)가 음수가 되는 것을 허용하지 않는 수학적 최적화 기술입니다. 독립변수 X와 종속 변수 Y가 주어졌을 때 최적화 하고자 하는 식 여기서 b ≥ 0 은 벡터 b 의 각 성분이 음수가 아니어야 함을 의미하고 ‖ · ‖₂ 는 Euclidean norm 을 나타냅니다 . 즉, 유클리드 표준 값을 최소로 하며 양수값을 가지는 가중치(weight)를 찾는 것 입니다. 간단한 예제 코드 제공하는 독립변수와 종속변수 60 b1 + 90..
프로토콜 통신 시 고려해야하는 것 confidentiality (기밀성) 메세지에 대한 내용을 서로만 알 수 있도록 하는 것 integrity (무결성) 메세지의 내용이 중간에 변조되지 않도록 non-repudiation (부인 방지) 메세지를 받았을 때 Bob이 딴소리 하지 않도록 efficiency (효율성) 너무 큰 메시지를 전달하지 않도록 access and availability (가용성) 서비스를 이용하고 싶은 시점에 이용할 수 있어야한다. authentication (인증) Security Protocol(암호화 프로토콜)이란? Alice가 Bob에게 메세지를 보낸다고 가정했을 때 다음 3가지 암호화 프로토콜을 사용해 통신할 수 있다. symmetric-key (대칭키) asymmetric-..
교차 검증이란? 보통은 train set 으로 모델을 훈련, test set으로 모델을 검증한다. 여기에는 한 가지 약점이 존재한다. 고정된 test set을 통해 모델의 성능을 검증하고 수정하는 과정을 반복하면, 결국 내가 만든 모델은 test set 에만 잘 동작하는 모델이 된다. 즉, test set에 과적합(overfitting)하게 되므로, 다른 실제 데이터를 가져와 예측을 수행하면 엉망인 결과가 나와버리게 된다. 이를 해결하고자 하는 것이 바로 교차 검증(cross validation)이다. 교차 검증은 train set을 train set + validation set으로 분리한 뒤, validation set을 사용해 검증하는 방식이다. 교차 검증의 장점과 단점 장점 모든 데이터셋을 훈련에..
의사결정트리(Decision Tree)란? 의사결정트리는 일련의 분류 규칙을 통해 데이터를 분류, 회귀하는 지도 학습 모델 중 하나이며, 결과 모델이 Tree 구조를 가지고 있기 때문에 Decision Tree라는 이름을 가집니다. 아래 그림을 보면 더 쉽게 이해가 가능합니다. 위 그림은 대표적인 의사결정트리의 예시로서, 타이타닉호의 탑승객의 생존여부를 나타내고 있습니다. 이렇게 특정 기준(질문)에 따라 데이터를 구분하는 모델을 의사 결정 트리 모델이라고 합니다. 한번의 분기 때마다 변수 영역을 두 개로 구분합니다. 결정 트리에서 질문이나 정답은 노드(Node)라고 불립니다. 맨 처음 분류 기준을 Root Node라고 하고 중간 분류 기준을 Intermediate Node 맨 마지막 노드를 Termina..
결측치란? 대부분의 머신러닝 알고리즘은 Missing feature, 즉 누락된 데이터가 있을 때, 제대로 역할을 하지 못합니다. 그래서 먼저 Missing feature에 대해 처리해주어야 합니다. Missing feature, NA(Not Available) : '결측치'라고 하며 값이 표기되지 않은 값 결측치의 종류 Random : 패턴이 없는 무작위 값 No Random : 패턴을 가진 결측치 결측치 처리 전략 제거 (Deletion) 대치 (Imputation) 예측 모델 (Prediction model) 결측치 확인 결측치 여부 확인 df["col"].isnull() 결측치 개수 확인 df["col"].isnull().value_counts() 제거 (Deletion) 결측치의 ..
Hyperparameter Optimization이란, 학습을 수행하기 위해 사전에 설정해야 하는 값인 hyperparameter(하이퍼파라미터)의 최적값을 탐색하는 문제를 지칭합니다. 보통 Hyperparameter를 찾기 위해 사용되는 방법으로는 Manual Search, Grid Search, Random Search, Bayesian optimization, Evolutionary algorithm 등이 있습니다. 여기서 다룰 내용은 Manual Search, Grid Search, Random Search, Bayesian optimization입니다. Manual Search 여러분들은 보통 직관 또는 대중적으로 알려진 노하우 등에 의존하여, hyperparameter 값을 선정하고, 이들을 ..
이상값이란? 검출된 값중 다른 값들에 비해 지나치게 높거나 낮은 값을 말합니다. 예를 들어, 어느 마을 구성원의 수입이 다음과 같다고 가정합시다. A : 10만원 B : 12만원 C : 14만원 D : 16만원 여기서 마을 구성원들의 평균 수입은 13만원입니다. 그런데 어느날, 이 마을에 빌게이츠가 이사옵니다. 빌게이츠의 수입은 1000만원이라고 하겠습니다. 그렇다면 마을 구성원의 수입 평균은 13만원이 아닌 210만원이 됩니다. 이상하지 않나요? 여기서 평균이라는 대푯값의 문제점이 발생합니다. 평균은 이상값(Outlier), 즉 다른 값들에 비해 지나치게 크거나 작은 값에 영향을 많이 받는다는 것입니다. 따라서 이러한 경우에는 흔히 중앙값(median)을 대푯값으로 사용합니다. 위의 예시에서 중앙값을 ..
모델을 학습시키기 이전에, compile() 메소드를 통해서 학습 방식에 대한 환경설정을 해야 합니다. 다음 세 개의 인자를 입력으로 받습니다. 정규화기 (optimizer) 훈련과정을 설정합니다. 즉, 최적화 알고리즘을 설정을 의미합니다. adam, sgd, rmsprop, adagrad 등이 있습니다. 손실 함수 (loss function) 모델이 최적화에 사용되는 목적 함수입니다. mse, categorical_crossentropy, binary_crossentropy 등이 있습니다. 평가지표 (metric) 훈련을 모니터링 하기 위해 사용됩니다. 분류에서는 accuracy, 회귀에서는 mse, rmse, r2, mae, mspe, mape, msle 등이 있습니다. 사용자가 메트릭을 정의해서 사..
Classification Metrics (분류 메트릭) Accuracy 분류기의 성능을 측정할 때 가장 간단히 사용할 수 있음 optimize하기 어려움 Logloss 잘못된 답변에 대해 더 강하게 패널티 부여 Area Under Curve (AUC ROC) 이중 분류에만 사용된다. 특정 threshold를 설정 예측의 순서에 의존적이며 절대값엔 의존적이지 않음 Regression Metrics (회귀 메트릭) MSE (Mean Squared Error) 평균 오차 제곱합이라고 불리며 실제값과 오차의 차를 제곱한 뒤 평균을 한 값으로 산출한다. 예제코드 from sklearn.metrics import mean_squared_error print('MSE : ', mean_squared_..
앙상블(Ensemble) 앙상블은 여러 개의 의사 결정 트리(Decision Tree)를 결합하여 하나의 결정 트리보다 더 좋은 성능을 내는 머신러닝 기법입니다. 앙상블 학습의 핵심은, 여러 개의 약 분류기(Weak Classifier)를 병렬 또는 직렬로 결합하여 강 분류기(Strong Classifier)로 만드는 것입니다. 배깅 : 동일 알고리즘의 약 분류기를 병렬로 사용 부스팅 : 동일 알고리즘의 약 분류기를 직렬로 사용 보팅 : 다른 알고리즘의 약 분류기를 병렬로 사용 배깅(Bagging) 원본 데이터를 랜덤 샘플링해, 크기가 동일한 n개의 샘플 데이터를 생성하고 각 샘플 데이터를 기반으로 동일한 알고리즘 기반의 의사 결정 트리를 병렬적으로 학습한 뒤, 각 모델의 학습 결과를 결합하는 방식입니다..