머신러닝

    [머신러닝 원리] 10-2. PCA(Principal Component Analysis)의 원리 및 사용 예시

    [머신러닝 원리] 10-2. PCA(Principal Component Analysis)의 원리 및 사용 예시

    Converting Discrete Attributes to Numeric Attributes Nominal 한 속성을 numeric으로 변경해야하는 상황이 있다. knn은 feature간 거리를 계산해야하는데 nominal한 속성이 있으면 거리를 계산할 수 없다. 따라서 위와 같이 nominal한 변수의 class 수 만큼 binary 변수(0 또는 1)를 생성하고 각 클래스에 해당하면 1, 아니면 0으로 표현할 수 있다. 이를 원핫 인코딩이라 한다. 다른 방법으로는, 각 클래스별로 순서가 있다면 1,2,3,4...처럼 정수로 변환하는 방법이 있다. 예를 들면 집값을 예측하는 모델을 만들 때 동향, 서향, 남향, 북향이라는 클래스를 가진 변수는 남향, 동향, 서향, 북향 순으로 집값에 양의 영향을 미치..

    [Anomaly detection] RBM을 이용한 이상 징후 탐지-신용카드 데이터셋

    [Anomaly detection] RBM을 이용한 이상 징후 탐지-신용카드 데이터셋

    RBM(제한된 볼츠만 머신)을 활용하여 신용카드 거래의 이상징후를 탐지해보자. RBM에 대한 자세한 설명은 아래 링크에서 확인할 수 있다. 이 포스팅을 정독하여 읽고 RBM에 대하여 확실히 이해하고 분석을 진행하도록 하자. https://velog.io/@chulhongsung/RBM Restricted Boltzmann Machines(RBM) 초기 인공 신경망 모형 중 하나인 RBM에 대해서 소개 velog.io RBM을 사용하여 입력 데이터의 확률분포를 만들 수 있고, 이를 통해 특정 샘플의 발생 확률을 확인할 수 있다. 확률이 적은 샘플이 나타났을 때 이를 이상 징후로 판단할 수 있게 된다. 우리는 이 원리를 사용하여 신용카드 거래의 이상징후를 탐지해 볼 것이다. 먼저 아래 링크에서 분석에 필요한..

    [머신러닝 원리] 12-2. 강화 학습(Reinforcement Learning)

    [머신러닝 원리] 12-2. 강화 학습(Reinforcement Learning)

    강화학습에서 Policy는 어떤 상황에서 내가 어떤 행동을 취할 것인지 결정하는 전략을 얘기하는 것이다. Value Fuction은 앞으로의 리워드를 생각했을 때, 이 state가 얼마나 좋은 것인지, 또는 이 action이 얼마나 좋은 것인지 정량적으로 값을 제시하는 함수이다. 에이전트는 기대되는 discounted return을 최대화하는 Action을 선택한다. 이 discounted return은 타임 t에서 어떠한 행동을 할 때 앞으로 얻어질 리워드들의 합을 계산하는 것인데 이때 discount rate(1보다 작음)를 이용하여 리워드에 discount하는 것을 말한다. 여기서는 감마가 discount rate이다. 어떤 액션 At를 취함으로써 바로 받는 리워드는 Rt+1이고 그 다음 t+1에 ..

    [머신러닝 원리] 12-1. 강화 학습(Reinforcement Learning)

    [머신러닝 원리] 12-1. 강화 학습(Reinforcement Learning)

    머신러닝에서 지금까지 우리가 공부한 것은 지도학습과 비지도학습으로 나뉜다. 비지도학습은 데이터들을 유사한 것들끼리 나누는 정도였다면 지도학습은 주어진 데이터에서 타겟과의 관계를 파악하여 feature들과 mapping하여 모델링하는 방법이었다. 강화 학습은 어떤 에이전트가 미지의 환경에 들어갔을 때 어떠한 행동을 해야할지 결정하는 것이라 한다. 이세돌을 이긴 알파고는 이 강화 학습을 이용한 알고리즘을 활용하면서 최근에 매우 각광받는 주제이다. 제일 처음으로 Finite Markov Decision Process(finite MDP)에 대해 알아보겠다. 위 모형에서는 시간이 discrete하게 흘러간다는 가정하에 진행된다. 어떤 time t에 에이전트가 St라는 상황에 처해 있고, At라는 action을 ..

    [Tensorflow] 텐서플로 데이터셋 불러오기

    [Tensorflow] 텐서플로 데이터셋 불러오기

    텐서플로우 공식 홈페이지에 소개되어 있는 데이터셋을 가져오는 포스팅이 많이 없기도 했고, 일반 데이터셋이랑은 다루는 방법이 많이 달라서 끄적여본다. 처음에 이런 형식의 데이터셋과 친해지는데 많이 힘들었당 ㅎ https://www.tensorflow.org/datasets/catalog/overview 데이터세트 | TensorFlow Datasets Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Goog..

    [머신러닝 원리] 9-4. 확률적 모델(Probabilistic Models)

    [머신러닝 원리] 9-4. 확률적 모델(Probabilistic Models)

    앞 포스팅 요약 앞에서 우리는 complete data가 주어졌을 때 maximize likelihood를 구했다. 데이터가 complete하다는 말은 데이터가 모든 변수에 대해 주어졌다는 의미이다. 데이터가 어떤 모델로부터 생성되었다고 가정을 하고 그 모델을 찾는 것이 task였다. 모델을 주어진 데이터로부터 추정을 했는데 고정된 structure(model)에서 parameter를 찾는 것이다. (=베이지안 네트워크의 CPT entry들로 구성된 likelihood 식에 log를 취해서 미분한 뒤 최대가 되는 entry를 찾는다.) 이번 포스팅은 complete data가 아닌 hidden variables로 데이터가 구성된다면 어떻게 모델을 추정할지 알아보겠다. EM 알고리즘 EM 알고리즘이란 주어..