본문 바로가기

ML

(60)
이상감지 소스 및 간략 설명 시계열의 일정한 패턴에서 이상치를 감지하는 여러가지 방법중 Isolation forest와 LSTM을 사용한 예제 입니다. 전체 소스 1. Isolation Forest 해당 데이터는 해가 떠있는것을 기준으로 하는 값이다. (정확히는 태양광 발전량이다.) 즉 해가 뜨지 않은 시간(저녁~새벽)에 데이터가 있다면 이상치가 된다. 데이터에 라벨링을 해 놓았다. 1은 정상 -1은 이상치를 나타낸다. 그래프로 표현한 값들 이상치는 저녁에 발생하며, 월에 따라 시간대가 달라진다. 모델 트레인, 해당 값들은 직접 for 문을 돌려서 가장 높은 값이 나올떄까지 연산한 값이다. (사실 너무 오버피팅 되었지만, 오히려 오버피팅된 값이 더 좋은 성능을 보였다. 아마도 새벽에 데이터가 있는 것을 확실하게 잡는것으로 보인다. ..
이상감지 (정리) https://www.youtube.com/watch?v=xPA6JyHFHew 1. 이상치(Anomaly)란? 기존 관측과는 상이하여 다른 메커니즘에 의해 생성되었다고 판단할만한 관측값 2. 이상탐지 목적 기회 탐지 Chance Discovery (Positive Anomaly) : 새로운 이상치 탐지 오류 탐지 Fault Discovery (Negative Anomaly) : 노이즈 제거 3. 입력 데이터의 특성 (input data) Time series(sequential) vs static univariate vs multivariate data type (binarr / categorical / continuous / hybrid ) relational vs inddependent well-kn..
random forest // isolation forest 공부한한 내용 정리 1. random forest 의사결정 트리가 여러 개 모인 것. 하나의 의사결정 트리는 훈련 데이터에 오버 피팅되는 경향이 있다. 오버 피팅을 해결하기 위해 여러 개의 결정 트리를 모아 random forest가 나왔다. 1.1 동작 Bagging : training set의 부분집합을 활용하여 트리 형성 (각각의 부분집한의 인스턴스는 중복될 수 있다) bagging features : training set의 feature별로 트리를 형성한다. classiify : 2번에서 여러 개의 트리를 통해 ground truth(경계선)을 형성한다. 랜덤 포레스트가 생성한 일부 트리는 overfitting 될 수 있지만, 많은 수의 트리를 생성함으로써 overfitting이 예측하는 데 있어 큰 영향을 미치지..
RNN // LSTM 공부한 내용 제가 공부한것을 끄적인 내용입니다. 자세한 내용은 아래 링크를 참조하는게 더욱 좋습니다. 1. RNN Recurrent Neural Network 순환신경망 히든 노드가 directed cycle 형성 인공신경망의 종류 음성 / 문자등 순차적인 데이터에 적합 1.2 내부 구조 내부에 루프를 가진 네트워크 == 정보의 지속성 상황에 맞게 RNN을 붙여서 사용한다. 1.3 RNN의 내부 구조식 ht (히든 노드)= tanh ( 이전 히든 노드 + 현재 input + bh) yt (출력값) = ht(히든노드) + by 1.4. RNN의 장기 의존성 문제 (the problem of long term dependencies) 적절한 정보와 그 정보가 필요한 곳과의 차이(Gap)가 적을 경우 RNN은 과거 정보를..
데이터 분석 기초 자료
코세라 통계학-2 1. 수치형 데이터 시각화https://www.coursera.org/lecture/probability-intro/visualizing-numerical-data-9kRJf 분산형 계획 : 두개의 변수에 의해 어떠한 변수값에 의해 데이터에 영향을 미치는지 확인 두변수간의 관계에 따른 분산을 통해 4가지 형태로 분류 가능함방향 : 증가 / 감소모양 : 선형 / 비선형연관성 : 강함 / 약함 이상치 : 특정 관계에 따른 그룹화box plot와 히스토그램은 상호 보안이 가능함 box plot에서 분포의 최고점은 히스토그램에서 중앙값이 되며 꼬리는 각 끝으로 이어져 히스토그램과 같은 분포를 나타내게 된다 2. 데이터에서 중심(중간)을 나타내는 방식https://www.coursera.org/lecture/pr..
코세라 통계학-1 0. 소개https://www.coursera.org/lecture/probability-intro/introduction-UbGdZ모집단 -> 샘플 추출 -> 연구 -> 관계유추 -> 데이터 시각화 및 통계 -> 통계데이터 1. 변수 / 변수타입 / 변수의 관계https://www.coursera.org/learn/probability-intro/lecture/Q0zu3/data-basics 변수숫자변수 : 숫자를 사용 사칙연산이 가능한 변수연속 : 높이불연속 : 높이를 cm로 표기 분류 지정된 분류 : 순서가 중요 (높음/ 중간 / 낮음)비지정 분류변수의 관계 : 두개 이상의 변수로 인해 차원을 그릴수 있다면, 해당 변수들은 특수한 관계를 가지게 된다. 2. 상관관계 / 연관관계 https://www..
1. word2Vec #!/usr/bin/env python# coding: utf-8 # In[1]: corpus = ['king is a strong man', 'queen is a wise woman', 'boy is a young man', 'girl is a young woman', 'prince is a young king', 'princess is a young queen', 'man is strong', 'woman is pretty', 'prince is a boy will be king', 'princess is a girl will be queen'] # In[2]: print corpus # In[7]: def remove_stop_words(corpus): stop_words = ['is', 'a', ..