목록Machine Learning (8)
류동균의 R 공부방입니다.
K-평균 군집(K- means clustering)이란 무엇인가 ? 데이터를 K개의 군집으로 묶는 알고리즘이다. 각각의 군집사이의 거리를 최소화하여 군집을 이룬다. 쉽게말해 공간상의 점들을 서로 가까운 점들끼리 묶어서 K개의 군집으로 나누는 방법이다. KNN과 다르게 K-평균은 트레이닝과 라벨이 없이 데이터를 처리할 수 있다. K-평균은 다음의 그림과 같이 그룹을 만든다. K-평균으로 iris데이터의 군집화 K-평균 알고리즘으로 iris데이터의 Species(종)을 분류해 볼 것이다. 그동안 블로그에서 많은 알고리즘으로 iris데이터의 Species를 분류하는 작업을 하였지만 라벨이 있는 training이 된 모델들 이였다. K-평균에서는 라벨과, Training 없이 Species의 분류라는 동일한 ..
Support Vector Machine에 대해 공부해보려고 한다. SVM(Support Vector Machine)이란 데이터 상에 있는 각점들의 거리를 분석해 가장 먼 거리에 있는 점들을 기준으로 support vector를 형성하여 두개의 support vector 중간에 초평면을 만들 어 분류를 하는 방법이다. 쉽게말하면 두점 사이의 거리가 최대가 되는 지점을 찾는 것이다. 다음의 그림을 참고해보자. 그럼이제 SVM모델을 통한 iris데이터를 분류해보자. ## 필요한 패키지 library(kernlab) # SVM library(caret) # Confusion Matrix ## training/test data set # data set df
K-최근접 이웃 이하 "KNN"에 대해 공부해보자. KNN은 문자 그대로 가장 근접해 있는 이웃을 찾는 알고리즘이다. 이는 현대에 추천시스템에 많이 사용되고 있다. KNN의 개념을 쉽게 이해하기 위해 하나의 예시와 그래프를 통해 알아보자. 다음과 같이 분류된 군집에 하나의 x와 y라는 새로운 데이터가 나왔다. 그러면 우리는 x와 y라는 데이터가 어떤 집단에 속해있는지를 파악해야한다. 그럼 다음과 같이 데이터를 중심으로 원을 그려 어떤 집단의 데이터가 많은지 확인한다. 원에 들어오는 데이터의 개수는 분석가의 역량으로 판단하지만 일반적으로는 전체 데이터의 제곱근값을 가진다고 한다. SVM모델로 분류를 한다면 x는 setosa, y는 versicolor라는 종으로 분류가 된다고 추측해 볼 수 있다. 그러면 이..
뉴럴 네트워크에 대해 공부해 보려고 한다. 뉴럴 네트워크란 인간의 뇌를 모방하여 만든 인공지능 신경망 이라고 할 수 있다. 뉴럴 네트워크의 역사에 대해 한번 살펴보자. 1943년 신경샐리학자 워런 맥컬록과 수학자 월터 피츠에 의해서 소개 되었음. 1957년 프랑크 로젠 블라트에 의해 퍼셉트론 이라는 선형 분류를 수행할 수 있는 뉴럴 네트워크를 제안 1969년 단순 선형 분류를 제외한 XOR 분류 조차 불가능하다는 수학적 증명제시. (이후 인공 신경망은 장기간 외면 받고 침체기를 겪음) 1986년 다층 퍼셉트론, 역전파 알고리즘 등장. 기존의 퍼셉트론의 한계를 극복 하기 위해 히든 레이어를 추가 함으로써 XOR 문제 해결 가능 뉴럴 네트워크는 위와 같이 43년 처음 소개됬고 장기간 침체기를 겪었다. 은닉층..
이번엔 랜덤 포레스트로 데이터분류 모델을 만들어 보고자 한다. 랜덤 포레스터(Random Forest)란 앙상블기법의 일종으로 여러가지 기준을 가진 의사결정나무들 이 모인 숲과 같은 형태의 모델이라고 할 수 있다. 그러면 랜덤 포레스트를 통한 iris의 Species 데이터 분류를 시작해보자. 우선 랜덤 포레스트 패키지부터 설치하고 library를 불러오도록하자. #필요한 패키지 library(randomForest) 분석에 데이터한 데이터를 Traning/Test set으로 나누어주자. 비율은 7:3 으로 한다. # data 생성 df