[ (MNIST Dataset을 만나보기 전에) Dataset 제대로 사용하기 ] 여태까지 우리는 수많은 Instance가 있는 Dataset을 통해 학습을 시켜 알맞은 Weight와 Bias를 찾고 다시 똑같은 Dataset을 주고 정답과 맞는지 정확도를 계산해왔습니다. 이게 효율적일까라는 질문에 조금 의문점이 생기는데요.비유하자면 한 학생이 정답을 확인할 수 있는 모의고사를 치른 뒤, 채점을 하고 오답노트를 만들었습니다. 그런데 같은 시험지로 다시 모의고사를 치뤘습니다. 그리고 100점을 맞았죠! (그렇지 못한사람이 많다는건 저도 잘 알고 있습니다.) 그렇다면 이 학생은 수능도 잘 볼까요? 장담하지 못합니다. 이제 이렇게 생각해보겠습니다. 똑같이 모의고사를 치르고 오답노트를 만들었습니다. 그리고 10..
[Learning Rate] 실습과정에서 Learning Rate는 Optimize한 이후 Minimize하는 과정에서 등장합니다. optimizer = tf.train.GradientDescentOptimizer(learning_rate=0.1)train = optimizer.minimize(cost) 위의 예시에서는 Learning Rate를 0.1로 잡았는데요. 이 의미는 뭘까요? [그림1] 기울기가 줄어드는 방향으로 Minimize하는 과정 (과장해서 그림) [그림1]은 GradientDescentOptimize로 기울기를 구하고, minimize로 기울기를 줄이는 방식을 그림으로 표현했습니다. Learning Rate가 0.1이므로 0.1의 비율만큼 기울기가 줄어들죠. 이 식을 보더라도 알파값 ..
[Weight의 의미] Softmax Regression을 진행하기 전에 먼저 데이터는 어떤 set을 가지고 있는지, 어떤 의미를 가지는지 정리하는게 좋을 것 같습니다. Hypothesis는 여전히 XW + b로 사용됩니다.[그림1] Hypothesis를 통해 값이 나오는 과정 X행렬과 Y행렬의 shape은 알고 있으면 W행렬의 shape을 정할 수 있고 그 과정은 굉장히 중요하다는 걸 알고 있습니다. 저 연산과정의 의미를 조금더 이해해보려고 합니다. A, B, C 등급으로 N명의 학생들의 최종학점을 매기기 위해서 4종류의 데이터(출석, 과제, 중간고사 점수, 기말고사 점수)를 가져왔다고 가정합니다. 그리고 연산이 끝난 뒤에는 하나의 Instance(한명의 학생) 당 A, B, C의 등급이 매겨져야하죠...
[Softmax Regression] Softmax Regression은 A,B,C..., 여러개의 결과값으로 분류되는 데이터를 학습하기 위한 방법론입니다.Multi-Class Classification이죠. [그림1] 세가지의 Class를 가진 데이터가 있다. [그림1]과 같이 3가지의 Class로 나눌 수 있는 데이터가 있을 때, 우리는 세가지의 Linear한 선으로 분류할 수 있습니다.[그림2] 세번 Linear한 직선으로 두가지로 분류하는 건 세번의 Binary Classification을 한다는 것과 같다. 직선은 다음으로 생각할 수 있습니다. 'A or Not A' 선일 때, A이면 1, Not A이면 0입니다. 'B or Not B' 선일 때, 'C or Not C'도 같은 개념으로 생각할 ..
[당뇨병 환자 예측] 코드는 이전 Logistic Regression 게시글의 코드를 거의 그대로 사용했습니다.http://twoearth.tistory.com/25?category=795201 당뇨병에 걸린 환자들(1)과 걸리지 않은 환자들(0)의 데이터가 있습니다.https://github.com/hunkim/DeepLearningZeroToAll/blob/master/data-03-diabetes.csv 이 데이터를 보면 instance는 800개가 조금 안되고, 알 수 없는 데이터들이 8열까지 있고 맨 마지막 9열에는 당뇨병에 걸린지에 대한 여부가 0과 1로 표시되어 있습니다. 변수가 어떤것을 의미하는지는 굉장히 중요합니다. 그 이유는 데이터가 수치가 아닌 indexing일 수도 있기 때문입니다...
[Logistic Regression] Logistic Regression은 0과 1, 두개의 결과값이 나오는 데이터를 학습하기 위한 방법론입니다.Binary Classification이죠. 그래서 Logistic Classification 보다는 Logistic Regression이 조금 더 정확한 말입니다. 하지만 이 회귀의 결과는 (나중에 알게되겠지만) 특정 기준으로 "분류"되고, "Logistic" Classification는 Logistic, 즉 Sigmoid 함수(무한대의 입력을 0~1의 사이값으로 출력)에 착안한 방법론이기 때문에 Classification에 가깝습니다. 먼저 Sigmoid 함수를 도입하게된 과정을 알아보죠.간단합니다. 우리는 이진분류에 많은 이점을 알고있죠. 스팸/햄 메일(..
[Multi-Variable Linear Regression] Linear Regression 중 변수가 여러개인 경우가 많습니다. (사실 실생활에서는 이게 대부분입니다.)변수라 함은 Hypothesis에서 x가 여러개라는 뜻입니다. x가 여러개면, Hypothesis는 어떤 모습일까요? 3개의 x에 따라서 3개의 W(weight)와 3개의 Hypothesis가 나왔네요. (bias는 constant이므로 제외하고 말하겠습니다.) 각각 독립적인 변수들이므로 모든 항의 합으로 식을 통일시킬 수 있겠군요. 이과생들 중에서 조금만 공부를 하신 분이라면(물론 이걸 아는 문과 능력자 분들도 많죠) 이 식 표현을 어디서 많이 보셨을 겁니다. Dot Product. 내적이죠. 여기서 우리는 행렬이 얼마나 강력한 힘을..
[Linear Regression] Regression(회귀)는 지도학습에 포함되는 방법론입니다. 그 중에서도 Linear Regression을 알아볼텐데요.Linear은 "선형"이라는 뜻을 가지고 있습니다. 선형이라 함은 배수로 늘어나는 값을 가진 것들의 모양세를 말합니다.그래프로 표현하면 기울기를 가지고 있는 직선으로 표현됩니다.즉, Linear Regression은 배수로 늘어나는 연속적인 값들의 데이터로 예측하는 것입니다. 값을 예측하기 전에 가설을 세울 필요가 있습니다.Linear Regression의 경우 "이 데이터들은 배수로 늘어나는 연속적인 값들의 데이터이기 때문에 이를 만족하는 1차 함수가 있을 것이다"라는 가설입니다. 그리고 그 1차 함수를 Hypothesis라고 합니다. (Linea..
[Machine Learning 이란] 머신러닝을 그대로 풀이해보면 기계학습입니다. AI(인공지능)의 근간이 되죠.예전부터 우리는 생각하는 기계에 대해서 관심이 많았습니다. 그리고 기계가 인간을 점령(?)하는 영화도 많이 보셨을 겁니다."기계가 인간처럼 생각한다."알파고가 이세돌과의 대국에서 승리한 순간에 이런 생각은 그리 이상한 생각이 아니었죠. 기계를 왜 학습시켜야 하는가?이 질문은 인간이 "사고력"을 갖게 되는 과정을 그대로 가져왔다는 점에서 의미 있습니다. 우리가 기억하지 못할 만큼의 어린 시절을 기억해 봅시다(?)네. 그냥 주변의 갓난 아기들을 생각해보죠.갓난 아기들은 공원에 있는 네발로 걸어다니는 동물을 "개"라고 인식하지 못합니다.하지만 충분히 학습된 아기들은 귀여운 손가락으로 그 동물을 가..
텐서플로우를 사용하려면 가상의 환경이 필요합니다. Python을 기반으로 사용되는 텐서플로우의 라이브러리를 사용하기 위해서는 다른 Python의 기능으로 인한 방해를 받지 않도록 가상의 공간을 설정해야 합니다.즉, 기존에 사용하던 Python 환경에서 독립된 환경을 제공하는 가상의 공간을 따로 만들어서 사용합니다. (이를 Docker에서는 컨테이너라고 부릅니다.) 가상의 공간을 만드는 방법은 여러가지가 있습니다. VirtualenvDockerNative pip 등이 있습니다. Native pip은 Python의 환경을 잘 이해하고 있다면 사용하기에 수월하지만 그렇지 않다면 Python 설치프로그램들과의 충돌이 많이 일어납니다.Docker은 컨테이너 설정과정에서 많은 메모리를 필요로 할 수 있습니다. (리..
- Machine Learning
- LR
- Linear Regression
- 머신러닝
- 크롤링
- neural network
- Express
- softmax
- 알고리즘
- 크롤러
- Crawler
- Crawling
- DFS
- 재귀
- query string
- BFS
- 백준
- Queue
- logistic regression
- 딥러닝
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |