Maximum Likelihood - 확률은 딥러닝에 있어 매우 중요한 도구 중 하나이다. - 확률을 어떻게 우리의 모델에 적용시켜 사용할 수 있는지 알아보자. - 여러 모델 들이 있다 가정하고, 하나의 사건이 있을때 그 사건에 대해 모델들이 확률을 리턴한다 가정해보자. - 이 경우 일어난 사건에 대해 더 높은 확률을 부여하는 모델이 가장 유용한 모델이 된다. - 이러한 방법을 Maximum-Likelihood 라고 한다. - 존재하는 label들에 대해 가장 높은 확률을 부여하는 모델을 선택하는것이 우리가 해 나갈 일이다. - 그러므로 확률을 극대화 함으로써 우리는 가장 유용한 모델(best model)을 고를 수 있다. - 위의 두개의 모델중 왼쪽의 모델은 2개의 옳게분류된 점과 2개의 잘못 분류된점..
One-Hot Encoding - 여지껏 다뤘던 경우들은 input 데이터가 모두 숫자였다. - 그런데 input으로 주어지는 값들이 항상 숫자가 아닐 수도 있다. - 오리, 비버, 왈루스의 경우 각각 0, 1, 2로 할당하였지만 그 경우 클래스 사이의 의존성을 갖기때문에 - 사용하기 곤란하다. - 따라서 다음과같이 One-Hot Encoding을 구성할 수 있다. - 각각의 클래스는 해당하는 열(column)을 가지고 있고, input이 해당 열과 일치할경우 1을, - 그 외엔 0을 표시하여 확인이 가능하다. - 이 방법은 의존성(dependencies)이 반드시 있는것은 아니므로 더 많은 컬럼이 있더라도 가능하다. - 이러한 방법을 One-Hot Encoding이라 하며, 데이터처리에 매우 많이 사용..
Multi-Class Classification and Softmax - 지금까지 우리는 yes or no의 리턴값 또는 파랑과 빨강 중 더 가까운 방향에 대한 확률로 리턴하는경우를 다뤄봤는데, - 만약 우리가 리턴해서 얻고자 하는 값이 R, G, B와 같은 컬러값 또는 강아지, 고양이, 새 와 같은 대상이라면?? The Softmax Function - 우리가 본것이 어떤 동물인지에 대한 모델을 구현해본다 가정하자. - 오리, 비버, 왈루스 중 위에 할당된 확률에 따라 판단하는 모델을 구현하고, 전체 확률을 합한 값은 당연하게 1이 된다. - input으로는 부리가 달렸는지, 이빨의 개수, 털의 종류 등등이 되겠다. - Score로 오리는 2, 비버는 1, 왈루스는 0을 할당해주고 그 다음 설정해 줘야..
Discrete vs Continuous Predictions - 이산과 연속 에러 함수에서, 연속이 에러처리를 함에 있어서 더 나은점을 확인했고 - 그러므로 우리는 discrete → continuous prediction이 가능하도록 진행해보자. Prediction - 알고리즘을 통해 리턴되는 값. - discrete answer : Yes or No / continuous answer : 63.8%과 같은 number - discrete의 경우 0 또는 1, yes or no로 리턴되는 반면, continuous의 경우 확률의 개념으로 리턴된다. - continuous에서의 확률을 보자면, 경계선에 가까울수록 50%, positive-area쪽으로 멀어질수록 100%, negative-area쪽은 ..
Non-Linear Regions - 만약 한 학생이 있는데, 기존에 설정해 둔 경계선에 의하면 Test : 9/10, Grades : 1/10으로 입학이 가능한데 - Grade가 너무 낮아 입학을 시키고싶지 않다면???? - 그럼 기존의 일차방정식형 경계선이 역할을 하지 못한다. - 이번엔 비선형 지역에 대한 Positive-area, Negative-area를 판단해보도록 하자. Error Functions - 이러한 비선형 영역의 판단을 위해 우리는 error function의 도움을 받아 처리할 것인데, - error function은 우리가 solution까지 얼마만큼 멀리 떨어져있는지를 말해준다. - 예를들어, 1미터 전방에 차량이 있고, 나는 거기까지 도달해야한다고 한다면 - 1미터라는 거리..
Perceptron Algorithm - Perceptron Trick에 대해 이미 배웠으므로 퍼셉트론 알고리즘을 구현할 준비가 다 되었다. - 임의의 경계선을 그었을때 점 4개는 good, 점 2개는 come closer의 상황에 놓이게 된다. - 우측에 놓인 mis-point에 맞춰 경계선을 수정하였다. - 이번엔 좌측만이 mis-point로 남게 된다. - 마찬가지로 좌측에 놓인 mis-point에 맞춰 perceptron-trick에 의거, 경계선을 수정해주면 - 모든 점들이 correct한 상태로 놓이게 된다. - 이 알고리즘의 pseudo code를 작성해보자면, - 가장먼저 랜덤한 weights를 가진 경계선으로 시작한다. (Wx + b) - 그다음 잘못 분류된 점들에 대해 좌표값을 얻어두고..
Perceptrons Trick - 근데 사실상 이런 퍼셉트론을 우리가 직접 구현해내기는 어렵다. - 따라서 고안된 아이디어가 바로 우리는 result에 대한 값을 제공해주고, 그들 스스로가 구현해 내는것이다. - 자 다시 전의 예제로 돌아가보면, 그럼 컴퓨터 스스로가 그 기준을 잡는다고 한다면, - 어떻게 그 기준선(Positive 와 Negative area를 나누는 경계)을 설정할지??? - 먼저 이와같이 임의의 경계선을 설정해보고, 이 경계가 어느정도 일치된 값을 도출해내는지를 판단한다. - 일치하는 값이 아닌 일치하지 않는 두 값을 기준으로 기준선에게 - 해당 일치하지 않는 점 방향으로 더 가까이 오라고 알려준다. - 더 가까이 오라고 기준선(경계선)에게 말을하여 범위를 점차 좁혀간다. - Pe..
Perceptrons as Logical Operators - 논리연산자로서의 퍼셉트론에 대해 알아본다. - AND, OR, NOT, XOR Perceptron을 구현해보자. · AND Perceptron - 기본적인 AND연산을 Perceptron으로 구현하려면? - INPUT에 대한 TRUE 또는 FALSE 값을 1과 0으로 표현하고, 이전과 동일하게 - 기준선을 정의한다(weights와 bias를 반영하여). - 그 이후 positive area와 negative area로 구분지어 퍼셉트론이 해당 input들을 그리게하고 - Positive area의 경우 1을, Negative area의 경우 0을 리턴하게 한다. · OR Perceptron - OR 연산 또한 마찬가지다. 위와 동일한 알고리즘..
Perceptron - Neural network의 블록을 구성하는 개념 - 데이터(예시에서는 파란, 빨간 점) 값과 경계선의 개념을 노드 안에 넣는다. - 하나의 노드안에 파란점, 빨간점으로 표시되었던 데이터들과 그 기준선에 대한 정보가 들어있고, - Input 데이터로 시험성적(test)과 학점(grades)을 넣어준다. 이 예시의 경우에는 시험성적 : 7, 학점 : 6 을 대입. - 그렇게되면 Perceptron이 하는 역할은 해당 데이터를 노드에 대입해 - 이것이 Positive area에 위치하면 yes를 , Negative area에 위치하면 no를 리턴한다. - 이전 예시를 다시 들어보면, Score를 결정하는 방정식은 2*Test + 1*Grades - 18 이고, - 여기서의 weight..
Higher Dimensions - 앞서 봤던 예제에 추가로, 만약 우리가 고려해야할 변수가 더 늘어난다면? - 예를들어 석차(class rank)라는 변수가 추가된다면 어떻게 우리는 3개의 데이터 열(column)을 어떻게 맞춰야할까? - 이렇게되면 우리는 x1(시험성적, test), x2(학점, grades), x3(석차, class rank)라는 3가지 축으로 3차원을 맞이한다. - 그럼 우리가 앞서 찍은 파랑, 빨강 점들은 공중에 떠있는 형태가 되고 - 기준선은 3차원 상의 면 즉, 기준 면(plane)이 되어 동일하게 방정식을 갖는다. - 평면의 방정식 w1x1 + w2x2 + w3x3 + b = 0 을 갖게되고, 이 면을 기준으로 두 영역(reigions)으로 나뉜다. - 이 방정식 역시 Wx..