2017년 4월부터 4년 가까이 기록을 하지 않았다.

 

이전에 적은 소개글을 보니 부끄럽기도 하고 역시는 역시나인가 싶기도 하다.

 

그 동안 참 많은 일들이 있었다.

 

좋은 직장에서 좋은 사람들을 만나고 많은 것을 배우고 정말 즐거웠다.

 

현재는 타지로 직장을 옮겨 마음 고생을 좀 하고 있다.

 

매 순간순간마다 인생을 바꿀 기회가 찾아오지만

 

잘못된 선택의 책임 역시 본인이 져야겠지.

 

그래서 또 다른 기회를 만들기 위해 조금 더 부지런해지려고 한다.

 

여기에는 기록하지 않았지만 그 동안 에버노트에 기록한 것들도 틈틈히 옮겨놓을까 한다.

 

늦었다고 생각할때가 늦었다고 생각이 든다.

 

하지만 그때부터라도 변화하지 않으면 바꿀 수 없을 것 같다.

 

이 작은 변화가 내 인생의 큰 변화를 불러오기를 바래본다.

'소개' 카테고리의 다른 글

글 작성 및 공유 방침  (0) 2017.02.21
블로그 개설 목적  (1) 2017.02.20

Performance evaluation


training set으로 evaluation을 한다면 100% accuracy를 가지게 될 것입니다.


이는 공정하지 않습니다.


보통 data set의 70%정도를 training set으로 학습에 이용하고


나머지 30% 정도를 test set으로 설정하여 evaluation을 수행합니다.



Training, validation and test sets


learning rate와 regularization strength를 tuning할 필요성이 있습니다.


이럴 경우 위의 traning set을 완전한 training set과 validation set으로 다시 나눕니다.


완전한 training set을 가지고 model을 학습을 시키고


validation set을 가지고 learning rate와 regularization strength를 tuning하게 됩니다.


이후 tuning을 마친 model을 가지고 


test set에서 evaluation을 수행하게 됩니다.



Accuracy


test set의 실제값(lable)과 model이 예측한 값이 얼마나 일치하는지를 계산합니다.



출처


Learning rate


learning rate가 너무 크다면 overshooting이 일어날 수 있습니다.


learning rate가 너무 작다면 학습 시간이 오래 걸리며 local minimum에 빠질 수도 있습니다.


적당한 learning rate는 학습의 중요한 요소입니다.


cost function값을 관찰하면서 실험적으로 learning rate를 정할 수 있습니다.



Data(x) preprocessing for gradient descent


data(x)의 데이터들 사이의 값의 차이가 심한 경우 overshooting이 일어날 수 있습니다.


그렇기 때문에 data에 대해 normalize를 할 필요가 있습니다.


Standardization

여기서 뮤는 평균, 시그마는 분산을 나타냅니다.



Overfitting


학습 데이터에 과도하게 fitting된 경우


overfitting을 줄일 수 있는 방법

  • training data를 늘린다
  • feature의 수를 줄인다
  • regularization(일반화) 시킨다



Regularization


weight를 너무 큰 값으로 가지지 않게 합니다.


cost function 이후에 regularization term을 추가합니다.


여기서 W는 w의 벡터로 각각의 element에 제곱의 합의 값이 작아질 수 있도록 cost function을 만듭니다.


여기서 람다는 regularization strength로 상수입니다.


0으로 둔다면 regularization을 사용하지 않겠다 라는 의미이고


1로 둔다면 regularization을 중요하게 생각하겠다 라는 의미입니다.


0.001이면 크게 중요하게 생각하지 않겠다 라는 의미입니다.


사용자가 정의할 수 있습니다.



출처


binary classification을 이용하여 여러 개의 class를 판별합니다.


3개의 class를 판별하는 binary classifier가 있습니다.


이 부분을 matrix multiplication 성질을 이용하여 간결하게 바꿔줍니다.


예측값을 0~1로 표현해주는 sigmoid function이 보이지 않습니다.


softmax는 예측값을 0~1로 표현해주는것 뿐만 아니라


예측값들을 다 더했을 경우 합이 1이 되는 확률로 나타내줍니다.


확률로 나타난 값들을 'one-hot encoding'을 통해 0과 1로 표현해줍니다.


이로써 hypothesis는 완성됐습니다.


cost function은 cross-entropy라는 algorithm을 이용합니다.


여기서 L은 실제 lable, S는 예측값 입니다.

는 softmax로 인해 0~1사이의 값을 가지게 됩니다. 가 1에 가까울수록 -log함수로 인해 0에 가까워지게 됩니다. 가 0에 가까울수록 -log함수로 인해 값이 커지게 됩니다.


예측값과 실제 lable이 일치하는 경우 cost function 값이 낮아지게 되고,

예측값과 실제 label이 다른 경우 cost function 값이 높아지게 됩니다. 



Logistic cost VS cross entropy


이 둘은 실제로 같습니다.


x(예측값)는 S이고, y(실제 lable)는 L입니다.


logistic cost에서 y가 1인 경우 -log(H(x))가 되며,

 가 1인 경우 가 되므로 동일합니다.


여러 개의 training set이 있을 경우 아래와 같이 표현할 수 있습니다.


cost function

여기서 i는 training set을 나타냅니다.


이 cost or loss function을 최소화하는 값, w벡터를 찾아내면 됩니다.



cost function을 미분함으로써 update할 수 있습니다.



출처


cost function에서 global minimun을 찾고 local minimun에 빠지지 않기 위함입니다.


New cost function for logistic



sigmoid function의 exponential term을 log를 이용하여 상쇄합니다.


위의 cost function을 이용하면,


실제 lable이 y=1이고 예측값이 H(x)=1로 맞았을 경우, -log(1)로 cost function 값이 0이 됩니다.

실제 lable이 y=1이고 예측값이 H(x)=0으로 틀렸을 경우, -log(0)로 cost function 값이 커지게 됩니다.


실제 lable이 y=0이고 예측값이 H(x)=0으로 맞았을 경우, -log(1-0)로 cost function 값이 0이 됩니다.

실제 lable이 y=0이고 예측값이 H(x)=1로 틀렸을 경우, -log(1-1)로 cost function 값이 커지게 됩니다.


y=1인 경우와 y=0인 경우의 if condition을 위의 수식을 이용하여 상쇄합니다.


y=1인 경우,

두 번째 term이 없어집니다.


y=0인 경우,

첫 번째 term이 없어집니다.



Minimize cost - Gradient decent algorithm


cost function의 기울기(미분)을 구해서 W를 update합니다.

는 learning rate입니다.



출처


Binary Classification or 0, 1 encoding


Spam Detection: Spam(0) or Ham(1)

Facebook feed: show(0) or hide(1)

Credit Card Faudulent Transaction detection: legitimate(0) or fraud(1)

Radiology: Malignant(0) or Benign tumor(1)

Finance: sell(0) or buy(1)


linear regression을 0과 1사이로 표현


logistic function or sigmoid function


z값이 커지면 g(z)값은 1에 가까워지고,

z값이 작아지면 g(z)값은 0에 가까워집니다.


Linear regression Hypothesis

H(X)=WX에서

logsistic function 추가


z=WX

H(X)=g(z)


Logistic Hypothesis


Transpose는 자료 행렬 형태에 따라 쓰입니다.



출처


변화하는 두 양 x, y가 있을 때, 한 쪽의 양 x가 2배, 3배, 4배, ··· 가 되면 다른 쪽의 양 y도 2배, 3배, 4배, ··· 가 될 때, x는 y에 정비례한다고 하며 관계식은 [이때 는 비례상수]입니다.


비례는 어떤 두 수가 일정한 비율로 가질 때 사용하는 말입니다. 'y는 x에 비례한다'라고 하면 이 두 수를 x와 y로 놓았을 때를 말하는 것입니다. 또를 방정식으로도 만들 수 있습니다.


비례식을 방정식으로 만들 때, '내하의 곱과 외항의 곱은 같다'는 것은 등식의 성질을 이용한 것입니다.


(∵비를 비의 값으로)

(∵양변에 분모의 최소공배수 2y를 곱하여)

(참고 : ∴는 '그러므로', ∵는 '왜냐하면'이라는 뜻입니다.


이처럼 x에 어떤 수를 곱하는 꼴, 즉 라는 식을 얻게 되는데, 이를 '비례'라고 합니다. 다만 특별히 강조하고자 할 때는 '정비례'라고 합니다. 그런데 과 같은 식은 비례가 아니며, 그렇다고 반비례도 아닙니다.


에서 x가 1일 때, y는 3입니다. x가 2일 때, y는 5입니다. 이것을 비례식으로 만들면 라는 잘못된 비례식이 만들어 집니다. 즉 비례하지 않습니다. 따라서 와 같이 의 꼴이 아닌 식은 비례, 즉 정비례가 아니었던 것입니다. 이것은 평소 비례를 'x가 커지면 y도 커지는 것'이라고만 생각했기 때문입니다. 이 말 속에는 '같은 비율로'라는 말이 빠져 있기 때문입니다.


에서 를 비례상수하고 합니다. 를 로 놓고 에 관하여 정리하면 가 됩니다. 그래서 'y가 x에 대하여 정비례할 때, x대한 y의 비의 값, 즉 는 로 일정하다'라고 말합니다. 는 를 직선으로 볼 때 '기울기'가 됩니다.



출처

    • 중학수학 개념사전 92


'수학' 카테고리의 다른 글

곱셈 노드의 역전파  (0) 2020.09.15
덧셈 노드의 역전파  (0) 2020.09.15
좌표평면  (0) 2017.03.17
대응  (0) 2017.03.16
함수의 정의  (0) 2017.03.16

좌표평면을 처음 개발한 사람은 철학자이며 수학자였던 데카르트(Descartes, R. 1596~1650)입니다. 그가 해군에 있을 때였습니다. 무료한 나날을 보내던 그는 선실에 누워서 바둑판 모양의 천정을 바라보고 있었는데 마침 파리가 천정에 달라붙어 있었습니다. 데카르트는 이 파리가 앉아 있는 위치를 생각하다가 좌표평면의 개념을 떠올렸습니다.


어떤 목표물의 위치는 어떤 기준점에서 '오른쪽으로 몇 칸, 위로 몇 칸'처럼 표현할 수 있다는 것입니다. 이처럼 평면상의 위치를 나타내는 것이 좌표평면이고, 위치는 점이 됩니다.


좌표평면은 가로가 된 수직선(수가 있는 직선)의 원점에 세로로 수직선의 원점이 교차하도록 그립니다. 이때의 가로 수직선을 x축, 세로 수직선을 y축이라고 하고, x축과 y축을 합하여 좌표축이라 합니다. 좌표평면은 좌표축에 의해서 네 부분으로 나누어 집니다. 이 때 그 각각을 좌표축의 숫자가 모두 양수인 제1사분면부터 시계 반대방향으로 제2사분면, 제3사분면, 제4사분면이라고 합니다. 단, 좌표축 위의 점은 어느 사분면에도 속하지 않습니다.


원점은 O로 나타내는데, 이것은 0이 아니라 영어 Origin의 앞 글자입니다. 즉, 원점도 O(0,0)으로 나타낸다는 것입니다.


두 개의 원소를 소괄호로 묶어 좌표를 나타내는데, 이를 순서쌍이라고 합니다. 순서쌍은 말 그대로 '순서가 있는 쌍'입니다. 따라서 순서쌍 (2, 4)와 (4, 2)는 서로 다른 위치를 나타냅니다.


점들이 모이면 직선이나 곡선이 됩니다. 데카르트의 아이디어는 기하학적 내용을 방정식으로 나타내어 그 결과를 기하학적(그림)으로 다시 번역하는 것입니다. 즉, 데카르트는 함수의 개념을 명확히 직선 또는 곡선의 방정식으로 나타내는 획기적인 표현법을 마련한 것은 물론 위치를 좌표(x, y)라는 개념을 도입하여 표현함으로써 그림과 방정식이라는 이질적인 것을 하나로 통합하는 데 기여하였습니다. 또한 방정식을 그래프로 나타내어 직관적인 파악이 가능하게 하였습니다.



출처

    • 중학수학 개념사전 92

'수학' 카테고리의 다른 글

덧셈 노드의 역전파  (0) 2020.09.15
정비례는 비례의 강조  (0) 2017.03.17
대응  (0) 2017.03.16
함수의 정의  (0) 2017.03.16
판별식  (0) 2017.03.15

상자에 3을 넣으면 5을 더해서 8이 되어 나오고, 4는 9로, 5는 10이 되어 나옵니다. x를 넣으면 당연히 x+5가 나오게 됩니다. 이것은 로 표현됩니다. 함수는 일정한 대응 관계를 형성하게 되는데 이를 '대응'이라고 합니다.


3   ->  8

4   ->  9

5   -> 10

6   -> 11


이때 X를 '정의역', Y를 '공역'이라고 합니다. 집합 X의 원소들을 x, 집합 Y의 원소들을 y라 할 때, 정의역은 '정의된 구역'의 약자로 변수 x가 취할 수 있는 값의 범위 또한 '변수 x가 정의된 영역'으로 이해하면 됩니다.


공역에서 '공'은 '함께 공'자로 '정의역과 함께 있는 영역'이라는 뜻입니다. 보통 함수에서 아무 말이 없을 때는 정의역과 공역은 실수 전체입니다. 2


정의역 X의 원소 x에 대응하는 공역 Y의 원소 y를 '함수값'이라 합니다. 예를 들어 이면 8을 3의 함수값이라고 합니다. 함수값 전체의 집합을 '치역'이라고 하는데, 치역은 항상 공역 안에 있으므로 (공역)⊃(치역)이 성립합니다.


           1

           2

a    ->  3

b    ->  4

c    ->  5


정의역 : {a, b, c}

공역 : {1, 2, 3, 4, 5}

치역 : {3, 4, 5}


는 결국 함수값 y와 같게 됩니다. 따라서 라는 식을 얻게 됩니다.



출처

    • 중학수학 개념사전 92


'수학' 카테고리의 다른 글

정비례는 비례의 강조  (0) 2017.03.17
좌표평면  (0) 2017.03.17
함수의 정의  (0) 2017.03.16
판별식  (0) 2017.03.15
근과 계수와의 관계  (0) 2017.03.14

두 변수 x와 y에 대하여 x의 값이 결정되면 이에 따라 y의 값이 하나로 결정될 때, y를 x의 함수라 하고, 기호로 와 같이 나타낸다.


함수(函數)는 function의 중국어 음역으로 알려져 있습니다. 함(函)자에는 '상자에 넣다.'라는 뜻이 담겨 있습니다.


공집합이 아닌 두 집합 X, Y에 대하여 X의 각 원소 x에 Y의 원소 y가 하나씩 대응되는 관계를 X에서 Y로의 함수라 하고, 이를 다음과 같이 나타냅니다.




출처

    • 중학수학 개념사전 92


'수학' 카테고리의 다른 글

좌표평면  (0) 2017.03.17
대응  (0) 2017.03.16
판별식  (0) 2017.03.15
근과 계수와의 관계  (0) 2017.03.14
이차방정식의 근의 공식  (0) 2017.03.13

+ Recent posts