https://www.coursera.org/learn/machine-learning/lecture/OVM4M/deciding-what-to-try-next

Deciding What to Try Next

image

machine learning의 성능개선을 위해 해볼수 있는 조치들이다.

image


https://www.coursera.org/learn/machine-learning/lecture/yfbJY/evaluating-a-hypothesis

Evaluating a Hypothesis

image

overfitting을 방지하는 방법중의 하나로 데이터를 둘로 구분해서 한 부분( 70% )에 대한 Hypothesis (쎄타)값을 얻고 나머지 데이터에 적용해 보는 것이 있다.

image
image

https://www.coursera.org/learn/machine-learning/supplement/aFpD3/evaluating-a-hypothesis

Evaluating a Hypothesis

image
image


https://www.coursera.org/learn/machine-learning/lecture/QGKbr/model-selection-and-train-validation-test-sets

Model Selection and Train/Validation/Test Sets

image

 여러가지의  model을 생각할수 있다. 모든 features를 넣은 모델도 생각할수 있지만 적은 features만으로도 더 좋은 성능을 보이는 model이 있을수 있으며 이를 사용한다. 각각 model의 J() 최소값을 비교해서 결정할수 있다. 다만 모든 data를 training set으로 사용하면 그 data에 최적화된 model을 구할수 있지만 다른 새로운 data에 잘 부합하는지 확인할 방법이 없다. 확인을 위해 또 다른 data가 추가로 필요하다. 그러므로 주어진 data를 training set, cross validation set, test set으로 구분해서 각각이용하는 것이 좋다.  

image
image

위의 그림에서는 cross validation J()값이 제일 작은 d4를 model을 사용하는 것을 보여준다.

https://www.coursera.org/learn/machine-learning/supplement/XHQqO/model-selection-and-train-validation-test-sets

Model Selection and Train/Validation/Test Sets

image


https://www.coursera.org/learn/machine-learning/lecture/yCAup/diagnosing-bias-vs-variance

Diagnosing Bias vs. Variance

image
image

cross validation J() 를 대신해서 test J() 사용해도 된다.   

image

https://www.coursera.org/learn/machine-learning/supplement/81vp0/diagnosing-bias-vs-variance

Diagnosing Bias vs. Variance

image
image


https://www.coursera.org/learn/machine-learning/lecture/4VDlf/regularization-and-bias-variance

Regularization and Bias/Variance

image
image

training J() – (이 함수에 lamda가 있는데 유의)를 통해 최적의 theta를 구한다 그리고 또 이를 cross validation J() –(이함수에는 lamda가 없음에 유의)에 대입해서 가장 낮은 손실값을 가지는 theta를 구한다. 또 이를 test J() –(이함수에는 lamda가 없음에 유의) 에 대입해 본다.

image

https://www.coursera.org/learn/machine-learning/supplement/JPJJj/regularization-and-bias-variance

Regularization and Bias/Variance

image
image


https://www.coursera.org/learn/machine-learning/lecture/Kont7/learning-curves

Learning Curves

image
image

cross validation J()와 training J()가 높은 error에서 만난다는 것에 유의한다. 위 그림 좌측 하단 참조

image

https://www.coursera.org/learn/machine-learning/supplement/79woL/learning-curves

Learning Curves

image
image


https://www.coursera.org/learn/machine-learning/lecture/zJTzp/deciding-what-to-do-next-revisited

Deciding What to Do Next Revisited

training J() , cross validation J() 의 결과를 보고 어떤 조치를 해야 하는지에 대한 방법 설명

image

각 상황에 어떤 조치를 취해야 하는지 위에 그림 하단을 참조한다.

image


https://www.coursera.org/learn/machine-learning/lecture/4h5X4/prioritizing-what-to-work-on

Error Analysis

image

andrew 교수는 지저분하고 거칠수도 있지만 간단히 사용할수 있는 알고리즘을 통해 프로젝트에 접근하는 것을 추천한다.

image

이 강의에서는 spam 방지 알고리즘을 예로 들고 있다. 에러 분석 과정에서는 cross validation set에서 error를 일으킨(예상값과 실제값이 다른경우) 데이타를 category별로 구분하고 그 갯수를 확인한다. 그리고 이를 통해 어떤 새로운 방법을 적용할지 생각해 낸다.

image

알고리즘을 보완해 줄것이라고 예상되는 방법을 실제 적용해 보고 결과 수치가 어떻게 변화하는지 확인한다.

https://www.coursera.org/learn/machine-learning/supplement/Z11RP/error-analysis

Error Analysis

image
image


https://www.coursera.org/learn/machine-learning/lecture/tKMWX/error-metrics-for-skewed-classes

Error Metrics for Skewed Classes

본래 발생 가능성이 낮은 경우를 예측하는 경우 몇번의 우연한 예측이 들어 맞아도 좋은 성능을 보이는 알고리즘으로 평가 될수 있는데 이는 정확하지 않는 평가이다. 이와 같은 경우를 skewed class라고 하며 이를 평가할때는 precision과 recall 수치를 이용한다.

image


https://www.coursera.org/learn/machine-learning/lecture/CuONQ/trading-off-precision-and-recall

Trading Off Precision and Recall

image

cancer 여부를 판단하는 알고리즘을 예로 들고 있다. 예를 들어 계산값 판단기준을 0.99 와 같이 높게 잡으면 알고리즘의 정확성은 올라가지만  ( precision 값이 높아짐 ) 많은 경우 이미 암에 걸린 사람도 아닌것으로 판단될 가능성이 있다( recall 값이 낮아짐 ). 반대로 기준값을 0.01과 같이 낮추면 대부분의 사람이 암으로 판단되므로 정확성은 낮아 지고 recall값은 높아지게 된다. 그러므로 적당한 기준값을 설정해야 하며 이는 precision과 recall 값 둘다 적당히 유지 되어야 한다. 두 값을 적절히 조합한 수치가 f1 score이며 이를 알고리즘 성능 판단기준으로 삼는다.

image

기준값을 결정하는 방법으로 F1 score를 이용할수 있다. 


https://www.coursera.org/learn/machine-learning/lecture/XcNcz/data-for-machine-learning

Data For Machine Learning

대부분의 경우에는 많은 양의 training set이 머신러닝의 성능을 높이는데 도움이 된다.그렇지만 꼭 많은 데이터가 있어야만 하는 것은 아니다. 

image

대개 사람이 바로 대답할수 있는 질문의 경우 많은 양의 데이터가 필요하지 않다. 위의 그림의 two 단어 채우기 같은 작업을 들수 있다. 

많은 features를 가지고 있는 linear regression, logistic regression 많은 hidden layer를 가지고 있는 neural network의 경우 많은 데이터가 필요하다. 

Comments are closed.

Post Navigation