ML&DL

    KNN(K-nearest neighbor) Python으로 구현하기

    KNN(K-nearest neighbor) Python으로 구현하기

    KNN algorithm KNN 알고리즘은 K-nearest neighbor의 줄인 말로 Classification기법 중 하나이다. 점 A가 어느 집단에 속할 지 결정하는 문제를 상상해보자. 사람이라면 눈으로 보기에 괜찮다 싶을 정도의 구분 선을 그을 수 있겠지만 이와 같은 예시에서 자동화된 분류를 하려면 어떻게 알고리즘을 짜야 할까? 직관적으로 하나의 점에 대해 다른 점들과의 거리를 모두 계산하여 거리가 가장 가까운 집단을 선택하는 방법을 상상할 수 있다. 바로 이것이 KNN algorithm의 핵심 아이디어로 점을 하나씩 선택하여 어느 클래스에 속할 지를 거리 기반으로 계산하여 클래스를 분류한다는 것이다. 알고리즘의 과정 KNN algorithm이 분류를 하는 과정은 다음과 같다. 임의의 점 A에 ..

    Autoencoder (keras로 구현하기)

    Autoencoder (keras로 구현하기)

    Autoencoder란 특정한 목적에 따라 encoder와 decoder를 통해 입출력을 제어하는 네트워크를 지칭한다. 여기서 특정한 목적이라 하면 대표적으로 차원을 축소하거나 잡음을 제거하는 것 등이 있다. 차원 축소(Dimensionality Reduction) Autoencoder의 대표적인 용도로 차원 축소가 있다. 간단한 예를 들면 큰 이미지 데이터에 대해 우리가 원하는 크기로 줄여 데이터를 출력하고 싶을 때 Autoencoder를 사용하여 차원을 줄일 수 있다. MNIST dataset과 tensorflow keras를 이용하여 차원 축소를 코딩해보자. 데이터 전처리과정(MNIST) with open('dataset/mnist.pickle', 'rb') as f: mnist= pickle.lo..