Backpropagation Algorithm

역전파(Backpropagation) 알고리즘이란? 인공신경망(Artificial Neural Network)을 학습시키기 위한 가장 기본적인 알고리즘으로 오차가 본래의 진행방향과 반대방향으로 전파된다하여 붙여진 이름입니다(오류 역전파라고 불리기도 함). 일반적인 머신러닝 알고리즘은 경사 하강법(Gradient Descent)을 이용해서 목적함수를 최소화 하는 방향으로 업데이트합니다. 경사 하강법 알고리즘을 이용하기 위해서는 목적 함수의 미분값(Derivative)를 알아야합니다. 이때 이 미분값을 구하기 위해서 역전파 알고리즘이 사용됩니다.   역전파 알고리즘의 특징 역전파 알고리즘은 […]

Continue reading →

Gradient Descent Algorithm

1. Gradient Descent Algorithm(경사 하강법) 이란? Gradient Descent Algorithm은 어떤 모델에 대한 비용(Cost)를 최소화 시키는 알고리즘으로써, 머신 러닝 및 딥 러닝 모델에서 사용되는 가중치의 최적 해를 구할때 널리 쓰이는 알고리즘입니다. 쉬운 이해를 돕기 위해 예시 데이터를 통해 설명 드리겠습니다. <Table 1> Example dataset 데이터가 위의 <Table 1>과 같이 주어졌다고 가정하고, 모델 Y=Wx+b의 비용(Cost)을 구하면 <Figure 1>과 […]

Continue reading →

Softmax의 비용 함수(Cost function)

1. 비용 함수(Cost function) 이란? 비용 함수(Cost function)는 모델의 정확도를 측정할 때 활용 되며, 비용 함수란 예측 값(측정 값)과 실제 값 차이의 평균을 의미합니다. 비용 함수의 일반적인 식은 아래와 같습니다.     쉬운 이해를 돕기 위해 아래의 예제 데이터를 활용하여 설명하겠습니다. <Table 1> Example dataset #1 <Table 1>의 첫 번째 열은 모델의 예측 값을 나타내며, […]

Continue reading →

Softmax function 기본개념

Activation function of Multinomial Classification : Softmax function 딥러닝은 일반적으로 알고 있는 뉴럴네트워크가 심화된것을 의미합니다. 보통 뉴럴네트워크는 특정 데이터( input )를 사용하여 특정범주(output)로 분류하는 일에 사용됩니다. 분류는 주가가 상승(1)인지 하락(0인지) 혹은 암이 양성(1)인지 악성(0)인지를 판단하는 이항분류와 3가지 이상의 그룹 분류하는 다항분류로 구분할 수 있습니다. 위의 박스에 어떤 데이터(input)을 넣었을때 박스 안에서 어떤 일이 일어나고 특정 […]

Continue reading →

Windows에 Tensorflow 설치하기

1. 텐서플로우(Tensorflow)란? – 기계학습과 딥러닝을 위해 구글에서 만든 오픈소스 라이브러리 – GPU(그래픽 카드, Graphic Processing Unit)를 통한 연산을 지원하기 때문에 연산이 복잡한 딥러닝 알고리즘 구현 가능 – 실제 계산은 C++로 구현되었지만, 주된 API는 파이썬으로 이용 가능하기 때문에 쉽게 사용할 수 있고, 계산 속도 또한 빠르다는 장점이 있음 2. 설치 1) Python 3.5 설치 – tensorflow는 Python […]

Continue reading →

[03]장바구니 분석을 통한 소비자 쇼핑 트렌트 예측

장바구니 분석을 왜 하는가? 소비자들이 구매하는 가장 인기 있는 상품과 소비자들이 좋아하는 제품들과 싫어하는 제품들, 사람들이 함께 구매하려는 경향이 있는 상품들의 조합 등의 데이터들을 합쳐 다양한 머신 러닝 알고리즘을 적용해 상품의 경향성을 분석하고, 추천 엔진을 만들어 소비자들이 사고 싶은 제품을 예측하도록하거나 추천 서비스를 제공함   . 장바구니 분석 구매 패턴에 기초해 사람들이 어떤 제품을 구매할지 […]

Continue reading →

pip를 활용하여 파이썬 패키지 설치하기

1. 왜 pip를 설치해야 하는가? – 파이썬을 활용하기 위해선 여러가지 패키지를 불러오는 경우가 많음 – 코딩에 필요한 패키지를 불러오기 위해서는 패키지를 설치하는 작업이 선행되어야 함 – 패키지 설치 과정에서 반드시 필요한 것이 pip이며, cmd 창에서 간단한 명령어로 파이썬 패키지를 설치할 수 있음 2. pip 설치하기 ※주의 – pip를 설치하기 전에 ‘윈도우 환경에서 Python2와 Python3 함께 사용하기’를 […]

Continue reading →

회귀분석의 확장 – 공선성, 상호작용, 가변수

공선성(collinearity)의 정의 독립변수들 간에 높은 상관관계가 존재하는 것을 의미함. 독립변수 사이의 높은 상관관계(공선성)는 분석결과에 영향을 미쳐 잘못된 판단을 유도 할 수 있음. 실제로 종속변수에 큰 영향을 미치는 독립변수가 무의미하게 나타날 수도 있고, 회귀계수의 부호가 뒤바뀌는 상황도 발생할 수 있음. 다중공선성이란 여러 개의 독립변수들 사이에 공선성이 존재하는 것을 의미함. 공선성(collinearity)의 대응방안 첫 번째 대응방안으로 가장 기본적인 […]

Continue reading →

윈도우 환경에서 Python2와 Python3 함께 사용하기

1. 왜 Python2와 Python3를 함께 사용하는가? – Python2와 Python3는 서로 호환되지 않음 – Python2에만 맞는 라이브러리와 Python3에만 맞는 라이브러리가 존재함 – 하나의 Python 버전만을 사용할때는 다른 버전의 Python 라이브러리를 사용하지 못하는 단점이 있음 (특히 파이썬 딥러닝 라이브러리인 Caffe의 경우 Python3을 지원하지 않음) – 상황에 따라 Python2와 Python3를 사용한다면 결국 모든 라이브러리를 사용할 수 있게됨 2. […]

Continue reading →

카이제곱분석

카이제곱분석(Chi-squared analysis) 카이제곱검정은 카이제곱 분포에 기초한 통계적 방법으로, 관찰된 빈도가 기대되는 빈도와 의미있게 다른지의 여부를 검증하기 위해 사용되는 검증방법 두 변수의 관계가 독립적일 때 기대할 수 있는 값과 실제로 표본을 조사해 보았을 때 나온 값을 비교하는 것 즉, 카이제곱분석의 목적은 표본자료를 가지고 모집단이 이러한 독립성을 가지고 있는지에 대해 확률적으로 추정하는 분석 자료가 빈도로 주어졌으면서 명목변수나 서열변수로 […]

Continue reading →