본문 바로가기

기계학습/코세라 - 기계학습 (Andrew Ng)17

(개념별 정리) Gradient Descent, Cost Function, Classification - Gradient Descent 의 목적? - Cost Function 값을 최소로 만드는 x 값을 구하기 위함 - 최소 지점의 x를 구하는 방법? - 매 턴마다, 어디로 이동해야할지에 대한 기울기값을 얻는다 - 그 기울기값만큼의 x값을 옮긴다.-> 위의 과정을 계속 반복하면서, 결국에 기울기값이 0과 같거나 근사한 지점을 찾는다 - Linear Regression, Logistic Regression에서의 Graditent Descent 적용하는 방식 - 매개변수를 x 라고 생각하는게 아니라, Θ (세타) 값이라고 생각하자 - 매 턴마다, 기울기값을 구한 다음에, 그만큼 Θ 값을 변형시킨다 - 이때, 기울기값이라 함은, Cost Function의 미분값을 의미한다-> 위의 과정을 반복하다가, 그때의 .. 2019. 8. 17.
(개념별 정리) 오버피팅, 회귀 1. Underfitting, Overfitting / High Biased, High - Underfitting = High Biased - Overfitting = High Variance 2. Overfitting의 문제점? - 주어진 데이터 케이스를 너무 완벽하게 설명하는 Cost Function을 만들다보니, 해당 데이터 케이스만을 설명할 수 있는 Cost Function이 만들어진다-> "융통성"이 부족! 3. Overfitting을 해결할 수 있는 방법? - 1) 변수의 갯수를 줄인다. How?- 노가다 (직접 몇 개를 선택해서 변수를 제거)- 알고리즘 사용 (Model Selection Algorithm) - 2) 정규화- 방식 : 모든 변수들을 그대로 유지하되, 매개변수 값의 크기를 줄인.. 2019. 8. 17.
(개념별 정리) Regularization - Small value of Parameter(가중치) 의 효과? 1) Simpler Hypothesis (사실상, 변수가 하나 줄어든 것과 마찬가지이므로) 2) Overfitting 이 잘 일어나지 않음 (이유 : 1)과 동일)-> 그렇다면, 어떤 변수의 가중치를 작게 해야 할까? (=어떤 변수를 무력화 할까?)-> 방법 : Regularization - Regularization의 식 -> Cost Function 뒷부분에 따로 Regularization을 위한 값을 더한다 - 람다값 뜻 : Regularization Parameter-> 역할 : Trade Off 를 담당한다즉, Cost Function 값을 최소화 할 것인가라는 목표와 Parameter값들의 합을최소화 할 것인지의 목표를 서로 .. 2019. 8. 17.
week 11 1. Photo OCR Pipeline 1) 이미지를 받는다 2) Text Detection : 글자가 있는 영역을 찾는다 3) Character Segmentation : 문자의 구역을 나눈다 ex. 안녕 -> 안/녕 4) Character Recognition : 글자를 인식한다 ** Pipeline 뜻 : "전체적인 문제 해결 틀" 이라고 생각하자. 이 문제를 어떤 단계를 거쳐서 해결할 것인가? 2. Sliding Windows - 이미지에서 사람 찾아내기 예시1) 특정 크기의 사람 사진 데이터들을 수집한다 2) 사람이 맞을 경우, y=1 을 feed 하고, 아니면 y=0 을 feed한다3) 2번 과정을 통해서 계속 학습을 한다----------------------------------------.. 2019. 8. 14.
week10 1. 데이터의 크기가 너무 클때, Gradient Descent의 사용법 - 우선, Data Set을 굳이 크게 받을 필요 있나?-> 처리하는 데에 너무 오랜 시간이 걸린다. 적은 Data Set으로도 해결 가능하다면, 굳이 큰 Data Set을 사용할 필요가 없다 -> 어떻게 이걸 알 수 있을까? : Learning Curve 를 그려보자 1) J_cv 값이 J_train 값보다 훨씬 크다 : High Variance-> 많은 양의 데이터셋이 있을수록 더 정확해진다 : Data Set을 줄이면 안된다 2) J_cv 값과 J_train 값이 거의 똑같다 (둘다 큼) : High Bias-> 많은 양의 데이터셋이 있을수록 오류가 생긴다: Data Set을 줄이는게 더 좋다 - 많은 양의 Data Set을 .. 2019. 8. 14.
week9 1. Anomaly Detection 개론 - 새로운 데이터가 anomalous한가?1) 원래 주어졌던 Dataset을 이용해서, feature의 확률분포 p(x)를 모델링2) p(x_test) anomalous할 경우, 해당 제품을 다시 한 번 test 해봐야함 (ex. aircraft예시) 2. Density estimation - p(x) 구하는 방법 (Dataset을 통해 끌어낸 확률분포 모델)- p(x) = p(x1 ; μ , δ**2 ) * p(x2 ; μ , δ**2 ) * p(x3 ; μ , δ**2 ) * ...... -> 독립일때에 성립 가능함 3. Anomaly detection Algorithm 적용 순서 1) Anomaly가 발생할 수 있을것 같은 features들을 (직접) 몇 .. 2019. 8. 14.
week8 (2) 1. Dimensionality Reduction 의 장점 - Data Compression1) 이를 통해, 컴퓨터 메모리를 절약할 수 있다2) 학습 알고리즘의 속도를 더 높일 수 있다 2. Principal Component Analysis (PCA algorithm) - 목적 : 각각의 데이터들의 차원을 줄이려 할 때, 어떤 차원으로 줄일 것인지 결정해줌 -> reduce할 surface를 구하는 알고리즘이라고 생각 - 방법 : reduce 할 surface를 찾기 위해서, 각각의 data들로부터의 합이 최소가 되는 surface를 찾는다** 이러한 data들로부터의 거리 합을 "projection error"이라고 부른다 - 다른 해석 : 사실상, 특정 값을 구성하는 함수의 "벡터"들의 갯수를 줄인.. 2019. 8. 14.
week8 1) clustering algorithm- K-means algoritm : 가장 유명한 clustering algo의 종류- 임의의 두 개의 cluster centroids를 선택한다.- 각각의 자료들이, 두 cluster centroids중 어디에 속하는지 결정한다.- 각각의 색깔들의 평균이 되는 지점을 선택한다. -> 새로운 centroid 선택- 각각의 centroid에 가까운 자료들을 재결정한다-> 위의 과정들 반복루프- K 는 centroid의 갯수라고 할 수 있다.- 몇 개의 cluster를 만들고 싶은가? -> K 개의 cluster를 만들고싶다- c^(i) : x^(i) 에 가장 가까운 cluster centroid의 인덱스값(매 턴마다 cluster centroid가 K개 있는데, 그.. 2019. 8. 14.
week7 1. Alternative view of Logistic Regression - Logistic regression의 Cost Function 모양- 하나로 통합된 식을 만들 수 있었음- y=0, y=1일때의 식이 다름 (why? Cost Function 식에 직접 넣어보면 됨)- 직접 그려보면, 하강 곡선과 상승 곡선을 그린다-> 이걸 Alternative 한 시각으로 재해석하자-> Elbow 모양처럼 생긴 두 개의 함수가 나온다. 2. Support Vector Machine의 유래 - Logistic Regression 식을 Vector로 해석한다- 이때, 람다 값 (λ) 대신에 c 값으로 대체한다- c*A + B : c값이 크다 -> A 의 가중치 값이 크다, low bias, high varia.. 2019. 8. 14.
week6 1. Deciding What to Try Next - 버그가 발생했을때, 대처법 :1) 더 많은 테스트 케이스를 갖고와서, 학습한다2) 변수의 갯수를 줄인다/늘린다3) 변수의 차수를 늘린다 (ex. x->x^2)4) 람다값을 줄인다/늘린다 (?) 2. Evaluating a Hypothesis - 방법 : Training set 이랑 Test Set 을 따로 구분해서 평가를 한다-> 보통, 주어진 예시의 70%를 Training set, 남은건 Test Set으로 할당해서 쓴다 3. 오버피팅 문제 해결 - Model Selection - 의의 : Training Set이랑 Test Set으로 구성하고 학습 시 -> Training Set에서만 잘 작동하는 학습 모델이 형성될 수 있음 - 해결 방식 : .. 2019. 8. 14.
week5 1. Back Propagation Algorithm - 2개의 노드가 들어오는 건 계산이 쉬우나, 3개의 노드가 들어오는 건 연산이 꽤 복잡함-> 노트 꼭 확인하자! 2. Implementation Note : Unrolling Parameters - unrolling : 주어진 벡터를 작은 벡터들로 잘게 쪼개는 방식 3. Gradient Checking - 의의 : Back Propagation의 경우, 가끔씩 버그가 발생 -> 이 알고리즘이 잘 작동하고 있는지 확인해야 함 : Gradient Checking 방식 활용! - 방법 :1) Gradient Checking 을 구한 다음에, Back Propagation의 값과 비교2) 두 값이 비슷하다면, Back Propagation 방식으로 계속 진.. 2019. 8. 14.
week4 1) Non-linear Hypothesis- 변수들이 너무 많아지면 계산하는데에 시간이 엄청 많이 필요하다->Neural Network가 필요하다 2) Neural Network 구조- Input Layer- Hidden Layer - Output Layer 3) Forward Propagation : 약간 DP 구조를 띄고 있다. 벡터 연산 이용- z_(i+1) = Θ_i * a_i- a_(i+1) = g(z_(i+1)) 2019. 8. 14.