목록 분류 전체보기 (299)
Placeholder / Variable - 텐서플로우를 공부하면서 Placeholder / Variable를 좀 더 명확하게 하고 싶어 공부하였다. placeholder - placeholder는 다른 텐서를 할당하기 위해 사용되는 변수 타입이다. 한마디로 함수에서 파라미터 같은 친구이다. 잘 와닿지 않을 수 도 있는데, 나한테는 가장 쉬운 예시였다. 예를들어, 어떤 값에 3을 더한 값을 리턴하는 함수를 만든다고 생각해보자 위 그림에서 빨간색으로 표신되어 입력을 받는, 즉 파라미터의 역할을 하는 노드가 바로 placeholder가 하는 역할이다. 나머지 설계와 학습에 입력될 데이터를 placeholder로 구분하므로써 입력에 대한 출력을 확인하거나 코드 자체에서 입력 데이터를 명확하게 할 수 있다는 장..
Multi-variable / matrix Multi-variable - 텐서플로우에서 여러개의 변수를 사용하는 것도 기존의 1개의 변수를 사용하여 학습한 것과 똑같다. hypothesis식 H(a)= Wa+u에서 변수의 개수만 늘려 다음처럼 표시하면 되는 것이다. cost 역시 위에서 구한 H(a,b,c)-y 제곱의 평균이므로 이전과 다를게 없이 구할 수 있다. "변수가 3개인 학습" x1_data = [73.,93.,89.,96.,73.] x2_data = [80.,88.,91.,98.,66.] x3_data = [75.,93.,90.,100.,70.] y_data = [152.,185.,180.,196.,142.] x1 = tf.placeholder(tf.float32) x2 = tf.placeho..
Linear Regression / Cost - 지도 학습에서 많이 사용되고 있는 알고리즘, 선형 회귀 방식을 공부하였다. 홍콩 과기대의 김성훈 교수님의 유튜브 강의로 공부하였다. [Sung kim] Lec 00 - Machine/Deep learning 수업의 개요와 일정 Linear Regression - Linear Regression(선형 회귀) 방식은 지도 학습에서 기본이 되는 알고리즘으로 주어진 인풋 데이터를 표현할 수 있는 가장 합리적인 직선을 찾는 것이 그 알고리즘의 원리가 된다. 위 그림에서 입력된 데이터를 표현할 수 있는 가장 합리적인 그래프는 어떤 것일까. 당연히 빨간색이고 그걸 비교할 수 있도록 손실도를 계산하도록 하는 방법이 Cost function이다. Cost function ..
Data flow graph - tensorflow의 의미와 Data flow graph에 관련된 기본적인 용어를 공부하였다. 홍콩 과기대의 김성훈 교수님의 유튜브 강의로 공부하였다. [Sung kim] Lec 00 - Machine/Deep learning 수업의 개요와 일정 Data flow graph - 데이터 플로우 그래프는 계산이나 데이터의 흐름을 node / edge를 사용하여 표현하는 그래프이다. node : operation으로 계산을 수행하고 결과로 텐서를 반환 edge : Tensor로 다차원 데이터 배열 session : 실행시간의 제어와 상태를 캡슐화한다. example 예제) a, b, c에 각각 1, 2 상수와 a,b를 더한 값을 대입하고 sess 객체를 생성하고 run 메소드를..
Supervised / Unsupervised - 머신러닝의 기본적인 용어와 원리에 대해서 공부하였다. 홍콩 과기대의 김성훈 교수님의 유튜브 강의로 공부하였다. [Sung kim] Lec 00 - Machine/Deep learning 수업의 개요와 일정 Supervised Learning - Supervised learning(지도 학습)는 레이블을 정의하고 데이터를 짝지어 해당 레이블을 특징지은 후 입력 데이터를 해당 레이블에 속한 데이터(Training set)와 비교하는 것으로 학습하는 방식이다. 지도 학습은 크게 regression(회귀), classification(분류)로 나눠지는데, regression은 입력 변수에대한 추정 결과값이 연속적인 값을 갖는 학습, classification은 ..
params - params는 함수에 가변 개수의 파라미터를 정의하기 위한 키워드다. 더하기 함수를 만든다고 가정하자. 더하기 함수의 피연산자의 개수가 고정적이라면 거기에 맞는 함수를 만드는 것은 문제가 없을 것이다. 예를 들어 두개의 피연산자만을 갖는 덧셈이라면 파라미터에 두 변수를, 세개의 피연사자만을 갖는 덧셈이라면 파라미터에 세개를 주면 되는 것이다. 또, 2개일 때도 있고, 3개일 때도 있다면 단순히 개수로 오버로딩 시켜 함수를 정의하면 된다. params 키워드는 이렇게 고정적이거나 단순한 상황이 아닌, 말그대로 파라미터의 변수 개수가 가변적일 때 사용한다. 한 함수만으로 파라미터가 몇 개 일때 이든 처리할 수 있는 것이다. "params example" class program { stati..
installation - tensorflow를 설치하였다. [SJ] 딥러닝 시작 - 텐서플로우 설치 (정리) 를 참고하여 설치하였습니다. Anaconda - 텐서플로를 사용하기 위해 필요한 여러 패키지를 운영체제에 맞게 미리 준비해둔 배포 패키지이다. 아나콘다 페이지에서 운영체제 맞는 버전을 설치한다. 설치 완료시 Anaconda Prompt에서 python --version 명령어를 입력하는 것으로 같이 설치된 파이썬과 아나콘다의 버전을 확인할 수 있다. python --version Python 3.5.2 :: Anaconda 4.2.0 (64-bit) Pip / activate tensorflow - 파이썬의 라이브러리나 패키지를 설치할 수 있도록 도와주는 package manager이다. (no..
Shell / Shell script / Terminal, Console Shell - Shell은 운영체제 개념을 공부하면서 정리하였다. 쉘은 커널을 감싸서 사용자의 명령을 해석하여 커널에 전달한다. 쉽게 쉘은 사용자와 커널 사이의 인터페이스가 되는 프로그램이다. 쉘과 커널로 분리되어 쉘만 교체한다면 사용자가 직접 커널을 사용하는 인터페이스를 쉽게 선택할 수 있도록 한다. echo $SHELL 위 명령어를 터미널에 입력하는 것으로 현재 사용 중인 shell을 확인 할 수 있다. Shell script - 간단한 shell script 예제를 만들고 실행시켰다. 사용한 shell은 bash 이다. vi로 script 파일을 작성한다. #!/bin/bash 스크립트 상단에 #!/bin/bash 를 추가하고..