🔥 Programming/ML & DL
[Tensorflow / Deep learning] 은닉층 (Hidden Layers)
은닉층 (Hidden Layer) 이란? 은닉층은 입력층과 출력층 사이의 모든 층을 말한다. 은닉층은 모든 입력노드들로부터 입력값을 받아 가중합을 계산하고, 이 값을 전이함수에 적용하여 출력층에 전달하도록 되어있다. 모든 입력노드와 은닉노드들은 가중치를 가지고 있는 망으로 연결되어있고, 은닉노드와 출력노드 역시 마찬가지이다. 아래이미지를 확인해보자. 위의 그림을 기준으로 표현할때는 3개의 층을 그리지만, 실제로 인경신경망의 총 개수를 셀 때는 입력층을 생략한다. 따라서 위 구조에서는 2개의 층이 존재한다고 부른다. 퍼셉트론을 기본 빌딩 블록으로 하여, 이런 패턴에 따라 2차원적으로 연결되어 구성되는 인공신경망의 일종을 특별히 다층 퍼셉트론(MLP: multi-layer perceptron)이라고 한다. ..
[Machine learning] One-hot encoding와 Softmax Regression, Cross-entropy란?
소프트맥스 회귀 (Softmax Regrssion) 란? 소프트맥스 회귀는 다중 분류에 대한 회귀이다. 사실상 일반적으로 회귀는 bool문과 같이 0 또는 1, true 또는 false 식으로 상반되는 값을 분류하는데 사용된다. 하지만 소프트맥스 회귀를 하게 될경우 분류할때 이중적 분류가 아닌 2개 이상의 분류를 하는데 사용될 수 있다. 대표적인 예로 아이리스 품종 분류가 있다. 위의 이미지에서 종속변수의 총 갯수는 3가지이다. ('setosa', 'versicolor', 'virginica') 하지만 예를 들어 첫번째 행의 독립변수로 미뤄 보았을때, 확률이 아래와 같다면? Setosa 0.6 virginica 0.5 versicolor 0.4 이 경우 3가지의 결과 값의 합이 1을 초과하게된다. 간단하..
[Tensorflow / Deep learning] 아이리스 품종 분류
아이리스 품종 분류 예제를 풀어보기 전 머신러닝에 대해 간단하게 알아보자. 머신러닝은 크게 3가지로 분류가 된다. 강화학습 지도학습 비지도학습 우선 우리가 예제를 풀었던 보스턴 집값 예측이나, 레모네이드 값 예측과 같이 딥러닝 및 AI라고 불리는 것들은 전부 지도학습에 속한다. 여기서 지도학습의 분류와 회귀의 개념에 대해 정말 간단하게 알아보자. 회귀와 분류를 간단하게 설명을 하자면, 회귀( regression )는 종속변수가 숫자인 경우를 뜻하고, 분류( classification )는 종속변수가 숫자가 아닌 경우를 뜻한다. 보스턴 집값 예측과 레모네이드 값 예측은 종속변수가 숫자라서 회귀 알고리즘을 사용하였고, 아이리스 품종 예측은 종속변수가 글자라서 분류 알고리즘을 사용할 예정이다. 자 그럼 과거의..
[Tensorflow / Deep learning] 보스턴 집값 예측
전 포스팅은 간단한 하나의 독립변수로 모델을 만드는 예제를 해보았다. 이번엔 독립변수가 여러개일 경우 모델을 만들어 예측을 하는 방법을 알아보겠다. 아래 이미지는 1978년도 보스턴주의 506개 동네의 집값을 보여주는 표이다. 해당 표에서의 첫번째 행에서 1 ~ 13번 열 까지는 도시를 나타내는 독립변수이다. 마지막 14번째 열은 집값을 해당 도시의 집값의 중앙값을 보여준다. 그럼 왼쪽의 공식은? 이 독립변수들이 어떻게 종속변수에 영향을 미치는지를 보여준다. 위의 공식을 적용하여 여러 행들 중, 하나를 선택하여 적용해보자. 그 예시가 아래 이미지와 같다. 이와 같이 각각의 독립변수들은 모두 종속변수에 영향을 준다. 그렇다면 딥러닝의 조건 4가지를 위의 데이터를 대입하여 정리해보자. 독립변수는 1 ~ 13..
[Tensorflow / Deep learning] 레모네이드 판매 예측
요즈음 딥러닝이 정말 '핫' 하다. 회사에서도 딥러닝 기반 기능 개발이 되어가고 있고, 뉴스에서도 심심찮게 나온다. 재작년에 조금 공부하고 손 놨었는데, 다시 하나씩 공부해보려고 포스팅 한다. 우선 딥러닝을 하기위해선 필수 불가결적으로 4가지 단계가 필요하다. 과거 참조할 데이터 모델의 구조 참조할 데이터를 모델에 학습 시키기. 해당 모델을 이용하여 결과 데이터 추출하기. 자 그럼 간단한 문제를 하나 풀어보도록 하자. 위의 이미지는 과거 참조할 데이터이다. 해당 이미지의 온도가 만약 15도 일때, 판매량을 예측하는 프로그램을 만들고자 한다. 그럼 위의 데이터를 참조할 데이터로 정하고 시작해보자. 기본적으로 tensorflow와 pandas를 사용할 것이다. pandas는 C#으로 생각하면 DataGrid..