전체 글
-
[Week 6] Bias vs. VarianceCourses/Andrew Ng - Machine Learning 2022. 1. 16. 17:06
Diagnosing Bias vs. Variance 학습 알고리즘은 종종 편향성(Bias)이나 분산성(Variance)를 띄게 됩니다. 편향을 띈다는 것은 과소 적합 문제가 발생한다는 뜻이고 분산을 띈다는 것은 과적합 문제가 발생한다는 뜻입니다. 작성한 모델이 편향인지 분산인지를 판단하는 것이 차후의 개선 작업에서 많은 유리함을 가져갑니다. 주로 다항식의 차수가 높아질 수록 과적합하여 분산이 높아지는 경우가 많고 일반화의 오류를 범하기 쉬워집니다. 가운데 곡선이 딱 적당하게 적합합니다. 트레이닝 셋, 교차 검증 셋에 적용하여 오차를 그려봅니다. 다항식의 차수가 높아질수록 트레이닝 셋의 오차는 과적합하여 낮아집니다. 반대로 교차 검증 셋에서는 다항식의 차수가 높아질수록 트레이닝 셋에 과적합되어 있기 때문에..
-
[Week 6] Evaluating a Learning AlgorithmCourses/Andrew Ng - Machine Learning 2022. 1. 14. 00:32
Deciding What to Try Next 이번에는 지금까지 배운 알고리즘을 평가하는 방법을 배우려고 합니다. 주택 가격을 예측하는 선형 회귀 모델의 성능을 개선하려고 합니다. 시도해볼 수 있는 여러가지 방법들이 있습니다. 더 많은 학습 셋을 구한다 더 작은 변수 셋을 만든다 새로운 변수들을 추가한다 고차 다항 변수들을 추가한다 정규화 파라미터를 감소시킨다 정규화 파라미터를 증가시킨다 보통 더 많은 학습 셋을 구하는 방법을 시도하는 경우가 많지만 실제로는 알고리즘을 향상시키는데 도움이 되지 않는 경우가 많습니다. 이런 작업들을 하기 전에 알고리즘이 제대로 작동하는지 테스트를 걸쳐 성능을 향상시킬 수 있습니다. Evaluating a Hypothesis 주어진 데이터 셋을 모두 알고리즘 학습에 적용하면..
-
[Week 5] Backpropagation in PracticeCourses/Andrew Ng - Machine Learning 2022. 1. 10. 19:59
Implementation Note: Unrolling Parameters 고급 최적화 알고리즘을 사용하기 위한 언롤링 파라미터를 설명합니다. costFunction 함수는 비용 함수의 계산 결과와 비용함수를 미분한 기울기 값을 반환합니다. fminunc 함수에서 매개변수인 initialTheta는 벡터 형태로 입력되어야 합니다. 하지만 신경망 파라미터 theta는 벡터가 아닌 행렬입니다. 따라서 행렬을 벡터 형태로 변환하여야 하고 이를 언롤링이라고 합니다. 입력층은 10층 , 은닉층은 10층, 출력층은 1층인 신경망이 있습니다. theta와 D행렬도 위에 적힌대로 존재합니다. thetaVec 이라는 벡터에 theta1 theta2 theta3 의 원소들을 풀어서 하나의 벡터로 만드는 것입니다. Dvec..
-
[Week 5] Cost Function and BackpropagationCourses/Andrew Ng - Machine Learning 2022. 1. 10. 19:10
Cost Function 신경망 알고리즘에서의 비용 함수에 대해 알아봅니다. 비용 함수를 구함으로써 적합한 파라미터 theta도 찾을 수 있습니다. L : 신경망의 총 layer 숫자. 위의 경우 L = 4 Sl : 해당 layer의 유닛 숫자입니다. S1 = 3 , S2 = 5 ... (bias 제외) Binary classification 이라면 가설의 출력은 실수 ( 0 또는 1 )이 됩니다. 따라서 마지막 출력층 SL도 1입니다. Multi-class classification 이라면 가설의 출력은 클래스의 숫자와 동일합니다. 클래스의 수가 K 라면 출력 유닛의 숫자도 K입니다. 이 경우 가설은 R^K차원 벡터입니다. 출력1 = [1;0;0;0] , 출력2 = [0;1;0;0] ... 기존 로지스..
-
[Week 4] Neural Networks - ApplicationsCourses/Andrew Ng - Machine Learning 2022. 1. 8. 16:50
Examples and Intuitions 인공 신경망을 통해 비선형 분류 문제를 해결하는 예시입니다. 샘플처럼 O와 X가 나뉘어져 있으면 가설은 분명 고차 다항식으로 표현될 것입니다. 왼쪽 그래프는 논리 연산을 통해 표현할 수 있습니다. x1과 x2는 상호 배타적입니다. 즉 x1이 1이거나 x2가 1인 경우만 참입니다. 혹은 XNOR 일 때도 동일한 결과입니다. ( x1,x2가 둘 다 0 이거나 1일 때 참). 논리 연산을 계산하는 신경망을 구현합니다. AND 연산입니다. theta를 -30 20 20 으로 주고 x1과 x2에 (0,0),(1,0),(0,1),(1,1) 을 대입해봅니다. (0,0)이면 g(-30)입니다. 시그모이드 함수에서 -30은 0으로 수렴하므로 0, 즉 false값이라고 생각합니다..
-
[Week 4] Neural NetworksCourses/Andrew Ng - Machine Learning 2022. 1. 3. 21:38
Motivations 이번 강의부터 신경망에 대한 내용에 들어갑니다. 신경망 알고리즘은 복잡한 비선형 가설들을 계산할 때 유용합니다. 위의 지도 학습 분류 문제를 보면 feature가 단 두개밖에 없습니다. 데이터 셋에 적합한 가설을 만들기 위해 고차 다항식을 사용할 것 입니다. feature가 2개일 때는 큰 문제가 안될 수도 있지만 feature가 100개라고 가정한다면 계산하기 매우 복잡해집니다. feature가 100개인 경우 대략 5000개의 항을 가진 고차 다항식이 가설로 사용됩니다. 이는 데이터 셋에 overfit하고 계산에 많은 시간이 걸리게 됩니다. feature의 개수가 많을 때 비선형 가설은 적합하지 않습니다. 컴퓨터 비전 문제처럼 이미지를 분류하는 경우는 더 복잡해집니다. 이미지는 ..
-
[Week 3] Logistic Regression ModelCourses/Andrew Ng - Machine Learning 2021. 12. 30. 23:09
Cost Function 로지스틱 회귀에서의 비용 함수를 정의내려 봅시다. 선형 회귀에서의 비용 함수와는 다른 모양이 되어야 합니다. 선형 회귀의 비용 함수를 분류 문제에 적용하면 비볼록함수(non-convex fuction) 이 되어 수많은 로컬 최솟값을 갖게 됩니다. 이 경우 경사 하강법을 적용해도 전역 최솟값에 수렴하기 어렵습니다. 따라서 우리는 로지스틱 회귀를 위한 새로운 비용 함수를 사용합니다. 가설 함수를 log에 집어 넣은 형태입니다. y=1일 때, h(x)가 1, 즉 가설이 결과를 완벽히 예측했을 때 비용은 0이 됩니다. 그렇지만 가설이 0에 가까워 질 수록 비용은 무한대로 증가합니다. 반대로 y=0일 때 , negative일 때는 가설이 1이면 비용이 무한대, 가설이 0이면 비용이 0이 ..
-
[Week 3] Classification and RepresentationCourses/Andrew Ng - Machine Learning 2021. 12. 29. 00:06
Classification 이번 시간부터 분류 문제에 대해 다뤄보겠습니다. 분류 문제란 결과값 y가 이산 값을 가지는 문제입니다. 이메일이 스팸인지 아닌지? 온라인 거래가 사기인지 아닌지? 종양이 음성인지 양성인지 등등의 문제가 분류 문제에 해당됩니다. 0으로 나타내는 클래스를 네거티브 클래스라고 하고 1로 나타내는 클래스를 파지티브 클래스라고 분류합니다. 무엇을 0으로 하고 1로 정할 지는 중요한 문제가 아닙니다. 일단은 0과 1로만 분류하는 Binary 문제 먼저 다루고 후에 Multiclass 문제도 다룰 것 입니다. 그렇다면 선형 회귀 문제에서 했던 것처럼 적절한 가설 함수를 설정하는 알고리즘을 만들어야 할 것입니다. 위 데이터는 종양의 사이즈에 따른 양성 또는 악성으로 분류하는 데이터입니다. 이..