전체 글


출처 : 모두를 위한 머신러닝/딥러닝 https://hunkim.github.io/ml/ 모두를 위한 머신러닝/딥러닝 강의 hunkim.github.io 앞서 배운 내용을 요약하자면... Linear regression이라는 것을 먼저 배웠는데, 여기서 만일 100, 200, -10 등의 큰 값이 주어지게 되면 binary classification에는 적합하지 않았었음. 그래서 이것을 하나의 z라고 두고 g(z)라는 함수에서 압축을 시켜서 0과 1의 사이의 값으로 반환시키는 것을 생각해냄. g(z)의 값이 아주 커져도 1보다는 커지지 않고, g(z)의 값이 아주 작아져도 0보다는 작아지지 않게 됨. 그래서 나오게 된 g(z) 함수를 sigmoid 함수라고 부르거나 logistic 함수라고 불렀음. Lo..


출처 : 모두를 위한 머신러닝/딥러닝 https://hunkim.github.io/ml/ 모두를 위한 머신러닝/딥러닝 강의 hunkim.github.io 우리가 앞서 살펴본 Cost function은 위와 같았음. 하지만 우리의 가설이 바뀌게 되면서 sigmoid function을 사용해서 출력값을 0과 1 사이로 조정해줬음. 또 그래프의 그림을 그려보면 위의 파란색 그래프과 같이 그릴 수 있는데, 오른쪽 그림에서 발생하는 한가지 문제점은 경사하강법을 실시하면 시작점이 어디냐에 따라서 끝나는 점이 달라질 수 있다는 것임. 이렇게 각각 달라지는 최종 점을 Local minimum 이라고 할 수 있는데, 우리가 찾고자 하는 점은 Global minimum임. global minimum을 찾기 위해서는 위와 ..


출처 : 모두를 위한 머신러닝/딥러닝 https://hunkim.github.io/ml/ 모두를 위한 머신러닝/딥러닝 강의 hunkim.github.io 앞선 강의 복습 이전에 배운 regression은 어떤 숫자를 예측하는 것이었음. 이번에 배울 classification은 binary classification이라고도 불리는데, 이는 이름에서 알 수 있듯 2개 중 하나를 고르는 것을 의미함. 이메일의 경우, Spam이냐 아니냐 Facebook의 경우 Show할 것인지 Hide할 것인지 등을 결정. 머신러닝에서는 이렇게 선택 두가지를 0과 1로 나타내기도 함. 그림과 같은 데이터가 있다고 가정해보자. 어떤 학생이 2시간을 공부했을 때는 fail(0)하지만, 일정 시간 이상 공부하면 pass(1)한다는 ..


출처 : 모두를 위한 머신러닝/딥러닝 https://hunkim.github.io/ml/ 모두를 위한 머신러닝/딥러닝 강의 hunkim.github.io 앞선 예시에서는 1개의 input에 대한 regression을 살펴보았지만, 만일 여러 개의 input이 주어졌을 때는 어떻게 해야 하는가 ? 위와 같이 x1, x2, x3의 세개의 input 값이 있다고 가정해보자. 위의 데이터는 quiz 3개의 점수(x1, x2, x3)들을 가지고 final 점수인 Y값을 예측할 수 있을까? 를 나타내는 표임. 3개의 데이터가 주어지면, 아래의 식과 같이 3개의 값을 더해주면 됨. cost function도 마찬가지로, 3개의 데이터를 적용시켜주면 됨. cost function 자체의 의미가 예측한 값과 실제값의 차..


출처 : 모두를 위한 머신러닝/딥러닝 https://hunkim.github.io/ml/ 모두를 위한 머신러닝/딥러닝 강의 hunkim.github.io 간단하게 표현하기 위해 hypothesis에서 b를 삭제하고 H(x)=Wx 라고 표현함. 이런 경우, cost function도 아래와 같이 조금 더 단순화시켜서 확인할 수 있음. 이 다음, cost(W)는 어떤 방식으로 생긴 것인지 구체적으로 확인해보자. 먼저, W가 1일 경우 cost(W)가 무엇인지 확인해보자. 그다음 W 값에 변화를 주어서 다른 값일 경우도 차례로 확인해보자. W가 0일 때를 계산해보면, cost(W)는 4.67, W가 1일 때를 계산해보면 cost(W)는 0이 나옴. 위와 같이 W값이 변화함에 따라서 cost(W)의 값들이 각각..


출처 : 모두를 위한 머신러닝/딥러닝 https://hunkim.github.io/ml/ 모두를 위한 머신러닝/딥러닝 강의 hunkim.github.io 위와 같이 먼저 주어진 다른 학생들의 데이터를 가지고 학습을 시킴. 이 데이터는 training data라고 불림. 이 학습이 끝난 이후에 모델을 만들게 됨. 만일 학생이 시험을 보기 전 7시간동안 공부를 했는데 이 모델을 통해 대략 몇점 정도 받을 수 있을지를 예측해볼 수 있음. 이 모델을 linear regression이라고 하는데 아래에서 더 알아보자. 위와 같이 데이터셋을 간단하게 만들어서 살펴보자. 오른쪽의 그래프에서 x축은 x데이터들을, y축은 y데이터들을 나타낸다. linear한 모델이 존재할 것이다 라고 가정을 하고 세운 모델이 바로 li..


출처 : 모두를 위한 머신러닝/딥러닝 강의 https://hunkim.github.io/ml/ 모두를 위한 머신러닝/딥러닝 강의 hunkim.github.io 학습하는 방법에 따라 Supervised / Unsupervised learning으로 나뉨. Supervised learning은 .. 이미 label이 달려있는 경우를 학습한 경우임. Unsupervised learning의 예시는 Google news grouping, word clustering 등이 있음. 알파고 역시 Supervised Learning으로 볼수 있는데, Supervised learning의 종류는 다음과 같음. 1. regression : 시험의 점수를 예측할 때 0~100 이라는 비교적 넓은 범위를 예측해야 함. 2. ..


안드로이드 스튜디오에서는 에뮬레이터를 통해 실행 결과를 확인할 수 있는데, 아주 큰 단점은 이 에뮬레이터가 몹시 무겁고 오류가 심하다는 점이다. 지난번에 에뮬레이터 기기의 전원을 껐던 것 같은데 아무리 다시 실행을 해봐도 다시 켜지지가 않아서 해당 에뮬레이터를 지우고 다시 새로운 에뮬레이터를 추가했다. 그런데 버전이 안맞는건지 아니면 다른 세팅 문제인건지... 에뮬레이터를 거진 열개 넘게 새로 깔아보고 지워봐도 에뮬레이터에서 실행이 되지 않았다. Build는 잘 되는데 에뮬레이터에서는 계속 'APP Name' keeps stopping 이라는 메시지가 뜨면서 실행이 되지 않았다... 아무리 구글링을 해봐도 이게 코드에 오타 한글자만 나도 위와 같은 오류 메시지가 뜨기도 하기도 하고 케이스가 너무 다양해서..