ETC/머신러닝, 딥러닝 실습 12

3-3. Loading Data from File (파일데이터 읽어오기)

모두를 위한 머신러닝 / 딥러닝 강의: hunkim.github.io/ml/ 목차 1. 파일에서 원하는 데이터 읽어오기 2. Queue Runners : 데이터가 너무 클때 1. 파일에서 원하는 데이터 읽어오기 해당 파일은 .csv 파일이며 흔히 알고 있는 .excel과 유사한 파일이라고 생각할 수 있다. CSV(Comma-separated values)은 File Format이며, 콤마를 기준으로 데이터를 구분하는 파일이다. 그렇다면 이 csv파일은 어떻게 읽어오는가? numpy에 존재하는 loadtxt를 이용하면 손쉽게 파일을 Read 할 수 있다. 여기서 데이터의 구분은 ', '콤마로 하고 데이터의 타입은 실수32비트로 설정하였다. 여기서 모든 데이터는 같은 데이터 타입을 갖는다. 해당 슬라이싱 연..

3-2. 여러개의 입력의 Linear Regression 구현 (by Tensorflow)

모두를 위한 머신러닝 / 딥러닝 강의: hunkim.github.io/ml/ Multi-variable linear regression 우리는 이제 변수 3개에 대한 출력이 1개인 데이터 셋을 학습시키려한다. 변수가 3개라면 각각의 변수에 대한 weight(가중치)가 존재할 것이고 이 가중치가 곱해진 변수들의 합은 Hypothesis(가설, 직선)을 나타낸다. cost를 정의하고 optimizer를 Gradient Descent Algorithm 을 사용하여 minimize cost를 구하도록 설정하였다. 이제 train을 tf.Session().run(train)을 실행하면 cost는 최소를 구하도록 operation할 것이다. 그리고 학습과정에서 cost와 hypothesis값들의 변화를 출력하기 위..

3-1. 여러개의 입력(feature)의 Linear Regression 개념

모두를 위한 머신러닝 / 딥러닝 : hunkim.github.io/ml/ 지난 시간 복습 Hypothesis (가설, 직선) : Weight와 bias의 값을 학습하게 된다. Cost function (cost,loss를 어떻게 정의하는가) : W와 b의 함수이다. 예측값과 실제값의 차이의 제곱평균을 구해서 cost를 구한다. Gradient descent algorithm (cost를 최소로하는 알고리즘) : 그 cost의 경사면을 따라 감소하는 방식의 알고리즘 여러개의 입력(feature)의 Linear Regression 개념 Multivariable Linear Regression 기존의 데이터는 하나의 Input에 대해서 모델을 만들고 학습을 시켜왔다. But, 실제는 여러개의 데이터의 얽히고 ..

2-6. Linear Regression cost함수 최소화 구현(by TensorFlow)

모두를 위한 머신러닝 / 딥러닝 : hunkim.github.io/ml/ Graph -> import matplotlib.pyplot 우선 우리는 이 cost라는 놈이 어떻게 생긴지 보자!! ● run을하기 위해 Session을 만들어 주고 초기화 과정을 거치도록 한다. ● W의 경우 -3~5까지 0.1크기로 작게 움직이겠다는 의미를 나타낸다. ● 두 개의 list에 append하여 plt.plot()의 인자로 전달하면 각 list는 x,y축을 기준으로 그래프를 형성한다. ● plt.show()로 그래프를 출력한다. Gradient descent 알파는 learning_rate를 의미하고 작은 값을 사용한다. 다른 것은 수식 그대로 계산하는데 마지막 W값의 교체는 tensor안에 존재하는 assign을 ..

2-5. Linear Regression cost함수 최소화 개념

모두를 위한 머신러닝 / 딥러닝: hunkim.github.io/ml/ 지난시간 배웠던 것 저번 시간에 배웠듯이 우리는 Wx+b라는 Hypothesis로 model을 만들었고 실제 값과의 차이의 제곱평균하여 cost를 구하는 것인데, 이때 학습과정에서 cost를 줄이는 최적의 W와 b를 찾아 데이터가 근사된 일차함수를 찾는 것이 목적이다. How to minimize cost (어떻게 cost를 최소화 할까?) 여기서 b가 없다고 가정하여 비교적 쉬운 hypothesis 모델을 만들어 보자 위의 그래프는 Cost와 W(weight)의 관계를 그래프로 그린 것이고 여기서 cost가 최소인 값을 기계식으로 찾아가는 것인데 이때 알고리즘이 필요하다.!!! 이때 많이 사용되는 알고리즘이다. 경사를 따라 내려가는..

2-4. Linear Regression by Tensorflow (선형회귀 구현)

모두를 위한 머신러닝 / 딥러닝 : hunkim.github.io/ml/ 주어진 x값에 대해서 예측을 어떻게 할 것인가가 Hypothesis 이고, W(weight)와 b(bios)의 합이다. 이렇게 예측한 값과 true value의 차이를 제곱으로 계산하여 평균하면 cost function의 값을 구할 수 있고, 이것의 최소값을 구하는 것이 우리의 목적이다. 이 Hypothesis(가설, 직선)는 W와 b에 따라 달라지고 cost역시 W와 b를 인자로 갖는 function이다. 여기서 우리가 말하는 학습이라는 것은 데이터를 읽어들이면서 이 cost값을 최소로 하는 W와 b의 값을 찾는 것이다. Tensorflow의 큰 구조 3단계 1. 그래프를 build한다. 2. 해당 그래프를 실행한다. 3. ret..

2-3. Linear Regression 개념

모두를 위한 머신러닝/딥러닝 강의: hunkim.github.io/ml/ Linear Regression (선형 회귀) supervised learning를 한다고 하면 0~100에서의 데이터를 예측하는 경우 regression이라고 했는데 그렇다면 해당 데이터는 supervised learning를 위해 regression algorithm을 위한 trainning set이 되는 것이다. 해당 training set로 학습을 시키면 model이 생성되고 원하는 x를 넣어 prediction y를 구할 수 있게 되는 것이다. 그럼 이 tainning set이 존재하면 그 데이터들간의 Linear한 특징을 갖을 거라 가정하고 예측하는 기법이 Linear regression이다. 이렇게 일차함수 형식의 Li..

2-2. Hello TensorFlow (basic tensorflow)

모두를 위한 머신러닝 딥러닝 강의: hunkim.github.io/ml/ 영상 필수시청: www.youtube.com/watch?v=XNDo6ad7ICA 깃허브 코드다운 주비터 노트북 사용법 텐서플로우 version1로 다운그레이드 방법 영상에서 사용되는 코드주소: github.com/hunkim/DeepLearningZeroToAll 주비터 노트북 사용방법: copycoding.tistory.com/72 Anaconda 가상환경 설정: http://asq.kr/SaF3jqELi3EZ3 아나콘다? : url.kr/gZ9l2S 주비터 노트북? : blog.naver.com/PostView.nhn?blogId=hobbang143&logNo=221464304548 텐서플로우? : blog.naver.com/h..

2-1. Anaconda, Jupyter Notebook, tensorflow??

아나콘다? : blog.naver.com/PostView.nhn?blogId=hobbang143&logNo=221461726444&parentCategoryNo=&categoryNo=&viewDate=&isShowPopularPosts=false&from=postView 주비터 노트북? : blog.naver.com/PostView.nhn?blogId=hobbang143&logNo=221464304548 텐서플로우? : blog.naver.com/hobbang143/221463489187 공부하기 좋은 블로그: blog.naver.com/PostList.nhn?blogId=hobbang143&from=postList&categoryNo=100&parentCategoryNo=100 수박 : 네이버 블로그 ..

1-2. 머신러닝의 개념과 용어

목차 1. 머신러닝이란? 2. learning이란? supervised (지도학습) unsupervised (비지도학습) 3. regression(회귀)? classification(분류)? 해당 게시글은 다음의 영상을 참고했습니다. 제가 이해한 부분에 배경지식을 담았습니다. [출처] : www.youtube.com/watch?v=qPMeuL2LIqY [출처] : opentutorials.org/course/4548 1. 머신러닝이란? 결정 = 비교 + 선택 수의 발견 이후에는 발전하여 인류에서 일어나는 것들을 수로 표현하였고, 통계와 컴퓨터의 발달로 수많은 결정을 할 수 있게 되었고, 이제 결정을 컴퓨터에게 맡기려한다. 기계가 스스로 판단하여 비교하고 결정하도록 가르치는 것이 기계학습(Machine l..

1-1. 개요

시작하는 단계이기에 이번주차는 간략하게 시작을 하게 되었다. 개요 누구에게 적합한가? 목표 스케줄 해당 게시글은 다음의 영상을 참고했습니다. 제가 이해한 부분에 배경지식을 담았습니다. [출처] : www.youtube.com/watch?v=BS6O0zOGX4E 개요 (1) 누구에게 적합한가?? 다음의 영상은 기본 ML의 기초지식을 배우고 싶지만 수학과 컴퓨터의 배경지식이 없는 사람도 시작할 수 있다. 그리고 Computer Science에서 중요한 부분을 차지하는 (1) 객체지향프로그래밍의 추상화: 불필요한 정보는 숨기고 중요한 정보만을 표현함으로써 공통의 속성이나 기능을 묶어 이름을 붙이는 것 (2) Interface: 그것을 편하게 사용할 수 있게끔 제공하는 것이다. 예를 들면 우리는 TV를 시청할 ..

0주차. 시작하는 글

BGM(부산 개발자들의 모임)에서 주최하는 머신러닝/딥러닝 스터디, 실습 및 프로젝트를 시작하게 되어 공부의 효율을 높이기 위해 이렇게 블로그에 작성하게 되었다. 해당 프로젝트의 계획은 10주차로 구성된다. 해당 강의에서 빠르게 가져갈 이론들을 챙겨서 실습해보고 재밌는 프로젝트를 수행하는 것이 목적이다. 평소에 해당 분야에 관심도 많고 리드님이 대단한 분이셔서 기대가 많이 기대가 된다ㅎㅎ hunkim.github.io/ml/ 모두를 위한 머신러닝/딥러닝 강의 hunkim.github.io www.opentutorials.org/module/4966/28965 오리엔테이션 - Tensorflow 101 수업소개 딥러닝이라는 이름으로 유명해진 인공신경망과 이를 구현하는 것을 도와주는 도구 텐서플로우 라이브러..