본문 바로가기

반응형

전체 글

Categorical 변수 features의 종류 continuous feature categorical feature (discrete feature) 위의 특성은 입력에 대한 정보로, 출력에서 classification과 regression 차이와 유사하다. 대부분의 현실에 존재하는 feature는 categorical feature인 경우가 대부분이다. 가령, 소설책, 과학잡지, 역사책 등의 책 범주에선, 각 범주간에 중간값이 존재 하지 않으며, 순서도 정의 되지 않는다. 하지만, 데이터에서 feature들이 어떤 형태로 구성되었는가 보다 데이터를 어떻게 표현하는가가 머신러닝 모델의 성능에 주는 영향이 매우 크다. 특정 application에 가장 적합한 data representation을 찾는 것을 feature engi.. 더보기
Supervised Learning Models 모델의 undefit한 상태에서 벗어나기위해 학습을 수행한다. 학습과정에서 general 하게 특징을 반영하기위해 overfit은 피해야함. 목적에는 크게 분류와 회귀가 있고, 모델별 장단점과 복잡도 제어(overfit제어)하는 방법을 이해해야한다. 일반적으로 사용되는 machine learning model은 parametric approach로 parameter를 적절하게 학습하게 만들어 사용하는 것이 중요하며, 어떤 알고리즘은 input data의 feature scale에 민감하기도 하다. 따라서, 모델의 장단점과 매개변수의 의미를 이해하지 못하고 데이터셋에 아무 알고리즘이나 무조건 적용하면 좋은 모델이 생성되기에 무리가 따른다. KNN 작은 데이터셋일 때, 기본 모델로서 좋고 설명하기 쉬움 Li.. 더보기
Classification에서의 불확실성 추정 분류 예측의 불확실성 추정 머신러닝에서 불확실성으로 인해 발생되는 문제는 도메인에 따라 심각한 문제를 초래할 수 있다. 가령, 암환자 예측중 false negative(음성 추측했지만 거짓) 혹은 자율주행 과정에서 보도를 도로로 인식하게 되는 경우위 두 사례 모두 최악의 상황을 낳게 한다. 이러한, 불확실성을 사전에 파악하기 위해서, scikit-learn에서 제공하는 API중 classification에 대해 예측의 불확실성을 추정하는 기능이 있다. scikit-learn classification에서 제공하는 함수는 크게 두 개가 있다. decision_function predict_function GradientBoostingClassifier에서 두함수를 적용해 보겠다. Decision Funct.. 더보기
Neural Network (Deep Learning/ MLP) Neural Network (Deep Learning) 딥러닝은 특정 분야에 정교하게 적용되는 경우가 많다. 이 장에선 간단하게 분류와 회귀 모두 가능하며, 딥러닝의 출발점인 Multi layer Perceptrons( MLP )를 다룬다. MLP는 feed-foward Neural Network, 또는 Neural Network으로 불린다. MLP는 여러 단계를 거쳐 결정을 만들어내는 Linear Model의 일반화된 모습이라고 볼 수 있다. 가중치 합을 만드는 과정이 여러 번 반복되며, 먼저 중간 단계를 구성하는 hidden unit을 계산하고 이를 이용하여 최종 결과를 산출하기 위해 다시 가중치의 합을 계산한다. input이 다음 layer로 가면서 또 다른 input을 만들어 내는 end-to-e.. 더보기
1525-퍼즐 (BFS, 플러드필) 퍼즐 성공시간 제한메모리 제한제출정답맞은 사람정답 비율1 초32 MB (하단 참고)59262146116834.092%문제3*3 표에 다음과 같이 수가 채워져 있다. 오른쪽 아래 가장 끝 칸은 비어 있는 칸이다.12345678 어떤 수와 인접해 있는 네 개의 칸 중에 하나가 비어 있으면, 수를 그 칸으로 이동시킬 수가 있다. 물론 표 바깥으로 나가는 경우는 불가능하다. 우리의 목표는 초기 상태가 주어졌을 때, 최소의 이동으로 위와 같은 정리된 상태를 만드는 것이다. 다음의 예를 보자.1 34257861234 578612345 78612345678 가장 윗 상태에서 세 번의 이동을 통해 정리된 상태를 만들 수 있다. 이와 같이 최소 이동 횟수를 구하는 프로그램을 작성하시오.입력세 줄에 걸쳐서 표에 채워져 있.. 더보기
Kernel Support Vector Machines Kernel Support Vector Machines 커널 서포트 벡터머신 SVM은 입력 데이터(Input)에서 단순한 초평면(Hyperplane)으로 정의되지 않는 더 복잡한 모델을 만들 수 있도록 확장한 것으로 쉽게 말해 일반적인 특성들은 선형적으로 분류가 되지 않는 경우가 많다. 이에 따라, 곡선과 같은 결정경계 모델이 필요해 탄생한 것. Regression과 Classification 모두 가능하지만 분류(SVC)만 다룰예정. (SVR에서도 같은 개념을 사용함.) *초평면이란 어떤 R^n공간에서 이 공간의 한점을 통과하는 해집합이다. 해집합이 R^n공간 안에서 n-1차원을 형성한다. 초평면 자체는 R^n의 subspace를 보장하진 않는다. a1x1 + a2x2 +...+ anxn +b = 0 .. 더보기
9019 - DSLR (BFS, 플러드 필) DSLR 성공스페셜 저지한국어 시간 제한메모리 제한제출정답맞은 사람정답 비율6 초256 MB125003055183821.999%문제네 개의 명령어 D, S, L, R 을 이용하는 간단한 계산기가 있다. 이 계산기에는 레지스터가 하나 있는데, 이 레지스터에는 0 이상 10,000 미만의 십진수를 저장할 수 있다. 각 명령어는 이 레지스터에 저장된 n을 다음과 같이 변환한다. n의 네 자릿수를 d1, d2, d3, d4라고 하자(즉 n = ((d1 × 10 + d2) × 10 + d3) × 10 + d4라고 하자)D: D 는 n을 두 배로 바꾼다. 결과 값이 9999 보다 큰 경우에는 10000 으로 나눈 나머지를 취한다. 그 결과 값(2n mod 10000)을 레지스터에 저장한다.S: S 는 n에서 1 을.. 더보기
Decision Tree's Ensemble Decision Tree's Ensemble 결정트리의 앙상블 Ensemble은 여러 머신러닝 모델을 연결하는 기법이다. 두 Ensemble Model이 classification과 regression 문제에 효과적으로 나타남. Random Forest 랜덤 포레스트 Gradient Boosting Decision Tree 그래디언트 부스팅 결정트리 두 모델 다 기본 요소로 Decision Tree를 이용한다. Random Forest 기본적으로 조금씩 다른 여러 DT의 묶음이다. 과적합 문제를 피하기 위해 Decision Tree에서 파생된 방식이다. 알고리즘 잘 작동하되 서로 다른 방향으로 overfit한 트리를 많이 만들고 그 결과를 평균냄으로써 overfit을 완하하는 매커니즘이다. 구현 조건 구.. 더보기

반응형