이번 포스팅에서는 이항 분류(Binary Classification) 문제를 정의하고 있는 로지스틱 회귀에 대한 텐서플로우 구현에 대해서 이야기할 것이다. 구현하기전에 어떤 것을 다룰 것인지 간략하게 설명하자면.. 여기서 다룰 트레이닝 데이터는 학생이 n일동안 m시간 공부 했을 때 PASS 또는 FAIL에 대한 결과치에 해당하는 트레이닝 데이터 셋을 가지고 기계학습을 시킨 후 새로운 파라미터가 전달되었을 때 (일 수, 공부시간) 이 데이터에 대해서 PASS/FAIL을 결정하는 것을 지켜보겠다. 여기서도 마찬가지로 오차 함수(Cost Function)가 최소화가 되도록 적절한 learning_rate의 파라미터를 지정하고 경사하강법 또는 최대경사법 최적화 알고리즘을 이용하여 기울기의 반대방향으로 조금씩 이..
이번 포스팅에서는 머신러닝 카테고리에서 포스팅한 선형 회귀에 대한 이해를 바탕으로 텐서플로우로 구현을 해볼 것이다. 텐서플로우는 다음과 같은 처리를 반복한다. 1. 텐서노드와 엣지로 이루어진 그래프를 빌드한다.2. 세션을 통해서 그래프를 실행 시킨다. ( Session.run() )3. 실행 결과를 기반으로 텐서 플로우는 다시 그래프를 업데이트 시키기 위해 W(가중치) 값과 b(바이어스) 값을 조절한다. 우리는 선형 회귀 모델에서 H(x) = Wx + b 라는 간단한 식을 알 수 있다.이 간단한 식을 통하여 구현하게 되는데.. 우리는 이와 같은 아주 간단한 데이터 셋이 있다고 하자.X Y 1 1 2 2 3 3 이에 해당하는 코드를 작성하면 아래와 같다. 1234import tensorflow as tf ..
다음은 텐서플로우 Placeholder 에 대해서 알아보겠다. 자료형이라고 하는게 맞는지는 모르겠지만.. 어쨌든.. placeholder 자료형은 조금 특이하다. 선언과 동시에 초기화 하는 것이 아니라 일단 선언 후 그 다음 값을 전달한다. 따라서 반드시 실행 시 데이터가 제공되어야 한다. 여기서 값을 전달한다고 되어 있는데 이는 데이터를 상수값을 전달함과 같이 할당하는 것이 아니라 다른 텐서(Tensor)를 placeholder에 맵핑 시키는 것이라고 보면 된다. placeholder의 전달 파라미터는 다음과 같다.placeholder( dtype, shape=None, name=None )dtype : 데이터 타입을 의미하며 반드시 적어주어야 한다.shape : 입력 데이터의 형태를 의미한다. 상수 ..
텐서플로우 Variable 에 대해서 알아보겠다.아래의 코드는 각 변수에 5, 10, 3 을 할당하며 기본적으로 텐서의 정보가 반환이 될 것이라고 예상하는 코드이다.그리고 이를 출력한다면? 1234567var1 = tf.Variable([5])var2 = tf.Variable([10])var3 = tf.Variable([3]) var4 = var1 * var2 + var3 print(var4)cs var4 에 해당하는 텐서의 정보가 출력되어야 할 것이라 생각하고 돌려봤지만 수많은 알 수 없는 오류가 뿜어져나온다.이게 무엇이란 말이냐 ㅜㅜ..그렇다 Variable은 텐서가 아니라 하나의 객체가 되는 것이다. 즉 Variable 클래스의 인스턴스가 생성되는 것이고 해당 인스턴스를 그래프에 추가시켜주어야 한다..
앞의 포스팅을 간단하게 살펴보자면 기본적으로 텐서플로우의 라이브러리를 활용해 프린트를 했을 때 텐서의 정보가 출력 되었다.여기서 멘붕이 오게 되는데.. 차분히 생각해보자. 왜그러는지는 텐서플로우의 아키텍쳐를 살펴보면 그 이유를 알 수 있다.(그래프와 세션의 개념도 여기서 알 수 있다) 텐서플로우의 아키텍쳐는 다음과 같다. 갑자기 그림이 덩그러니 하나 나오는데 대충 훑어보고...... 넘어가자 텐서플로우의 API Documentation을 보면 Python, C++, Java, Go 의 언어를 지원하고 있다.나는 그중에 Python을 이용하여 텐서플로우 프로그래밍을 진행하고 있는데 다음을 보자 1234567a = 5b = 10c = 7d = a * b + c print(d) cs 이 코드를 보자면 d를 프..
환경- Windows 10 Pro 64bit- Python 3.5.3 64bit- 주피터(Jupyter) 서버 설명하기에 앞서, 텐서플로우를 설치하기 위해서 나는 도커(Docker)나 아나콘다(Anaconda)를 이용하지 않았다. 텐서플로우가 버전이 급격하게 업데이트 되면서 별도의 가상화 어플리케이션을 이용하지 않고 윈도우 환경에서의 CLI(Command Line Interface) 기반인 명령 프롬프트 에서도 파이썬의 패키지 관리 및 설치 명령어인 pip를 이용하여 간단하게 설치하였다. 또한, 해당 환경에서 텐서플로우를 사용하려면 3.5.x 버전이 필요하였고 필자는 원래 2.7.x 버전 파이썬을 웹 크롤링 목적으로 Scrapy를 사용중에 있었다. 그래서 파이썬 버전간에 인터프리터의 혼동이 있었는데 환경..
- Total
- Today
- Yesterday
- Machine Learning
- 텐서플로우
- linear regression
- 텐서플로우 아키텍쳐
- 머신러닝 개념
- dynamodb #dynamodb stream #stream
- 선형회귀 구현
- 머신러닝
- Machine Learning Concept
- 선형회귀
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |