본문 바로가기

전체 글

(180)
[week2] vectorization 1. 가설을 계산할 때 방법이 두 가지다. 반복문을 통해 계산을 하거나, 아니면 각각의 가설의 파라미터와 데이터를 벡터화 한후, 행렬곱을 하는 것이다. 무엇이 더 빠르냐? 당연히 행렬곱이 훨씬 빠르다. 한줄이면 되니까. 1. 경사 하강법을 쓰기 위해서는 각각의 세타를 동시에 갱신해야 한다. 왼쪽 상단의 방법이 3줄로 갱신을 하는 방법이다. 2. 여기서의 핵심은 한 줄의 벡터화 코드로 축약하는 것이다. [세타0; 세타1; 세타2] := [세타0; 세타1; 세타2] - 학습률[델타0 ; 델타1; 델타2] 로 축약할 수 있다. 이 식을 통해 벡터 세타가 수렴하는 벡터를 찾는 것이다. 이때 벡터 델타는 중앙의 파란색으로 쓰여진 공식과 같다. 벡터 델타의 원소는 각 관측치의 해당 피쳐의 값과 오차의 곱의 합의 평..
[week2] Computing Parameters Analytically 1. Normal equation은 단 한번의 계싼으로 최적의 값을 구한다. 1. 비용함수에서의 세타가 실수일 때, 비용함수의 최소값을 구하는 방법은 미분을 하고 그 미분이 0이 될 때의 값을 찾는 것이었다. 2. 그렇다면 세타가 n+1의 파라미터 백터라면, 비용함수 j의 최소값을 어떻게 구해야 할까. 3. 비용함수 j를 편미분 하는 방법이 있다. 각가 모든 파라미터 세타 j에 따라서 미분하고 각각이 0이 되게 하면 모든 세타에 대하한 값을 구할 수 있다. 4. 애초에 비용함수가 하나의 함수이기 때문에 미분을 통해 최소 값을 찾을 수 있는 것은 당연하다. 하지만 오래걸린다. 해보지는 않을 거지만, 일단 뭐가 필요한지에 대해 알 필요는 있다. 1. m이 4이고, n이 4인 데이터 셋이 있고, 알고자하는 값..
[week2] Multivariate Linear Regression 1. 만약 가격을 결정하는 변수들이 많다면 어떻게 될까? 2. 피쳐의 수는 n을 쓰며, 데이터의 수는 m을 사용한다. 3. 분홍색, x2는 하나의 관측치 4개의 피쳐 모두를 말한다. 즉 n차원의 벡터를 말한다. j는 feature의 number를 말한다. 1. feature의 수가 많아졌기 때문에, 가격을 추론하는 식 또한 달라진다. 그것이 첫 번째 식이고, 그 중 하나의 구체적인 에시가 아래이다. 1. X0를 1로 놓은 것은, 새로운 피쳐 하나가 추가된 것으로 볼 수 있다. 모든 관측치에 대해 1의 값을 가지는. 2. Xi의 피처의수는 n차원의 벡터로 표현할 수 있고, 세타 역시 n차원의 벡터로 표현할 수 있다. 3. 그리고 가설 h는 세타의 전치행렬(1*n)에 피처의 행렬인 n*1 행렬을 곱하는 것으..
[week1] Linear Algebra Review, Matrices and Vectors 1. 숫자들의 사각 배열이 행렬이다. 2. 행렬의 차원은 행과 렬의 곱으로 표현된다. 3. 파란색 박스와 같이 행렬을 표시할 수 있다. i는 행의 위치를, j는 열의 위치를 나타내어 원소의 위치를 표시할 수 있다. 2. 행렬은 많은 자료를 정리하고 인덱싱하기 위한 방법이다. 1. 벡터는 특수한 형태의 행렬이라고 볼 수 있다. 벡터는 n*1의 행렬이다. 2. 그렇기 때문에 행렬의 표시 방법을 사용할 수 있다. 3. 인덱스 방법은 수학에서는 1-Indexed 방법을 많이 사용하고, 기계학습에서는 0-Indexed 방법을 많이 사용한다. 4. 소문자를 표기하는 것은 보통 백터를 표시하는 방법이고, 대문자로 행렬을 표시하는 방법을 사용한다. 1. 동일한 차원의 행렬만을 덧셈할 수 있다. 행렬의 차원이 같지 않다..
[week1] Parameter learning, Gradient Descent Intuition ` 1. 두 파라미터인 알파(Learning rate)와 보라색 부분인 미분(Derivitive)가 같이 사용됐을 때 어떤 변화가 생기는지에 대해서 공부한다. 2. 어떠한 점에서의 미분 계수를 구하는 것은 그 점에서의 tan(탄젠트) 값을 구하는 것이다. 함수의 탄젠트 값이 바로 미분계수이다. 1. 최적의 가설을 찾는 다는 것은 비용함수가 최소가 되는 지점을 찾는 것과 같다. 그렇기 때문에 파라미터 세타에 대해서 어떠한 지점의 세타의 미분계수(기울기)를 구하고, 거기에 학습률을 곱함으로써 최소가 되는지점으로 "떨어지게" 만든다. 기울기가 +면 실제 값이 -가 되면서 내려가고, 기울기 -면 기존의 세타의 값에 +가 되면서 최소 값을 찾아간다. 알파 값이 너무 작다면? 너무 많은 이동(반복)이 필요하다. 알..
[AI] 20190910, XOR GATE와 NORM 1. 논리게이트 AND : 둘 다 참 OR : 둘 중 하나 참 NANO : 둘 다 참이 아닌 것 만 XOR : 둘모두 참이거나 거짓이 아니거나. 이러한 논리게이트는 둘 이상의 연산이 필요 하다. 1. 논리 진술식을 통해서 XOR 연산을 구할 수 있는데, 좀 연습을 해봐야 겠다. 2. 단 하나의 신경망을 가진 페셉트론은 XOR을 연산하지 못했기 때문에, XOR을 연산하기 위한 두 개 이상의 신경망이 필요하다. 이 시점에서 머신러닝에서 딥러닝으로 나아간다. 1. 뇌가 어떻게 인지하지? 컴퓨터가 여러개의 노드의 정보를 축약하여 받아들이고 값을 선택하는 모델이 퍼셉트론. 컴퓨터는 어떻게 선택할 것인가에 대한 모델이 퍼셉트론이다. 여러 노드의 자극을 시그모이드 퐁션을 이용하여 하나의 값을 선택한다. 2. 출력하기..
[week 1] Model and Cost Function 1. 면적을 보고 가격을 예측하는 문제는 지도학습이며, 회귀문제이다. 1. 이번 강의에서 사용하게 될 용어이다. 2. m은 학습에 사용하게 될 데이터의 숫자이며, x's는 feature를 나타내며, y's는 타겟 변수를 나타낸다. 3. (x,y)는 하나의 학습예제를 표기하는데 사용된다. 4.(x(i),y(i))는 i번 째 예제를 표기하는데 사용된다., 1. 트레이닝 셋을 알고리즘을 통해 배우고, 그 결과인 h(가설)을 통해 사이즈로 부터 가격을 예측한다. 2. 그렇다면 어떻게 이 가설을 표현하는가? 우리는 비선형 적인 함수도 있지만, 먼저 선형적인 함수로 가설을 표현하려 해본다. 3. 위와 같은 형태를 선형회귀라고 한다. 또, 하나의 x값으로 가격을 예측하기 때문에 단일변량 선형회귀라고 한다. 1. 이 ..
[week1] introduction 1. 우리는 기계가 지능을 가지길 원했고, 몇몇 간단한 일들을 스스로 해내길 원했습니다... 뭔가 여운이 남는 말이다. 우리는 기계가 지능을 가지길 원했다..., 1. 머신러닝이 적용되는 여러 분야들 1. Arthur Samuel은 "명시적" 프로그래밍 없이 스스로 학습하는 능력을 주는 것을 머신러닝이라고 정의했다. 1. Tom Mitchell은 파랑색 글씨와 같이 정의 했다. 컴퓨터 프로그램이 경험 E로부터 배워 작업 T를 수행하며 성능을 P로 측정하는 것, 그리고 T의 성능이 P로 측정되먀, E와 함께 향상되는 것이 머신러닝이다. 2. 중간에 문제도 풀수 있다. 표시 한 것과 같이 스팸 분류에서 T,E,P가 나뉘어 진다. 1. 교수님은 이론적인 아닌 실무적인 방식으로 가르치신다고 한다. 즉 도구를 잘..