데이터분석/Machine Learning 45

R과 이진트리를 이용한 데이터의 분류분석 및 훈련

데이터는 훈련과 예측이다. 머신러닝도 마찬가지이다. 무슨 이야기인고 하니, 어느 데이터가 있으면 그걸로 패턴을 분석하여 어떤식의 상관관계가 있는 지 알아볼수 있다는 것이다. 정형 데이터를 마이닝하는데 있어 제일 많이 쓰이는 분류분석(Classification)에서는 트리형식으로 데이터를 분류한다. 위와같은 그래프는 눈에 익지는 않겠지만 실제로 어떤 값을 가졌을때 구분이 어떻게 되어야 하는지 표현한 표와 같다. 예를들어 특정한값이 1.57 이하면 2번으로 가고 초과를 한다면 5번으로가서 최종적으로는 여러 인자를 통해 최종적인 노드를 결정하게 된다. 자 각설하고 한가지씩 따라해본다. 일단 HDclassif라는 라이브러리를 로딩해본다. > library(HDclassif) 이 라이브러리에는 wine이라는 데이..

여러가지 분석모형

회귀분석 다중회귀 분석 : 독립변수가 2개 이상인 경우 (중회귀모형) 다중공선성(Multicollinearity) : 설명변수들 사이에 선형관계가 존재하면 분석 어려움 다항회귀분석 : 독립변수와 종속변수 간에 곡선관계가 있는 경우 곡선회귀분석 : 독립변수, 종속변수 1개일 때 2차이상의 비선형함수 비선형회귀분석 : 종속 / 설명변수간 관계가 비선형일때 회귀모형의 선택지표 결정계수, 수정결정계수, Mallow' Cp, Akaike's Information Criterion) 변수선택방법 전진선택법, 후진제거법, 단계별 방법 시계열 분석 정상성(stationarity) 모든 시점에 대해 일정한 평균. 이동평균 (Moving Average Model) 자기회귀누적이동평균 (ARIMA모형, autoregress..

Support Vector Machines (SVM)

위의 그래프는 위키피디아에서 하나의 예이며, 검은돌과 흰돌을 구별해야하한다. 검은돌과 흰돌을 구별하는것은 그다지 어렵지 않고, 저 사이 어딘가에다가 줄을 그어야 하는데, 어떤 것이 제일 그럴듯해 보이는가? 일단 H3 은 틀린 구분선이며, H1은 잘 구분하고 있기는 하지만 무언가 좀 이상하게 구분되어있다. 제대로된 구분선은 H2로 보이지 않는가? 흰돌과 검은돌간 비슷비슷한 간격을 보여주고 있으면서 뭔가 H1보다는 타당성 있어 보인다. 이를 잘 살펴보면, H2 는 검은 돌 또는 흰돌과의 간격이 모두 멀리 떨어진 상태라는 것을 알수 있다. SVM알고리즘은 이렇게 공간상에 있는 여러가지 놈들은 제대로 구분짓기 위해서 선(혹은 초평면)을 잘긋는 알고리즘이다. 다만 잘 그리기 위해서는, 아래와 같이 간격 (Marg..

[개념] 합성곱, 컨볼루션 - convolution

합성곱은 하나의 함수와 또 다른 함수를 반전 이동한 값을 곱한 다음, 구간에 대해 적분하여 새로운 함수를 구하는 수학 연산자이다.합성곱 신경망 알고리즘은 합성곱 신경망(Convolutional Neural Network, CNN)은 최소한의 전처리(preprocess)를 사용하도록 설계된 다계층 퍼셉트론(multilayer perceptrons)의 한 종류이다. CNN은 하나 또는 여러개의 합성곱 계층과 그 위에 올려진 일반적인 인공 신경망 계층들로 이루어져 있으며, 가중치와 통합 계층(pooling layer)들을 추가로 활용한다. 이러한 구조 덕분에 CNN은 2차원 구조의 입력 데이터를 충분히 활용할 수 있다. 다른 딥 러닝 구조들과 비교해서, CNN은 영상, 음성 분야 모두에서 좋은 성능을 보여준다..

일반인들을 위한 머신러닝 (6) - 신경망 알고리즘

그렇다면, 여러가지 수학식이 있고 충분히 이를 통해 학습된 결과식을 받아볼수 있는데 대체 이 신경망 알고리즘은 무엇인가? 기계학습 + 신경망 이라면 굉장히 있어보인다. 따라서 적어본다.위와같은 분포를 따라 식을 세우고 싶으면, 상당히 복잡할수 있다. 현재는 x1, x2 두 변수에 대해서만 그래프로 나타내고 있는데, 이를 식으로 나타내보면 다음과 같다.$$수식$$혹시 이 두개의 변수를 벗어나 세개..네개..다섯개.. 점점 많아진다면 이제는 삼차원 그래프로도 나타내기도 어렵고 실제로 식으로도 나타내기 힘들다. 대체 나타낼 방도도 없고 파악해봤자 별로 눈에 딱들어오지도 않아서 그다지 무쓸모일 가능성이 크다. 게다가 데이터가 굉장히 커지면 이를 계산하는데도 상당히 많은 컴퓨팅파워가 소모될수 있다. 신경망 알고리..

머신러닝 전용 프로그래밍 툴 Octave 튜토리얼 - (3) 그래프

간단한 sin 그래프를 그려보자. 자 이제 이런 상태로 다음 명령어를 쳐본다. 이제 그래프가 윈도우 창에 고정이 된 상태이다. 이 상태로 plot을 추가로 그려볼수있다. 빨간색으로 그려보자. r 은 빨간색으로 그리면 된다. 그래프에는 몇가지 세팅을 할수 있는데, 레이블 설정과 제목 설정을 할수있다. 마지막으로 그림을 저장할수 있다. figure(2)로 하면 새로 창이 하나 더 뜬다. 윈도우 창 이름이 figure 1인것을 자세히 보면 감이 온다. 이상태에서는 다음과 같이 바뀐다. 그레이스케일로 바꿔볼수도 있을까? 위와같이 된다.