Machine Learning/Stanford ML Specialization
-
ML Development ProcessMachine Learning/Stanford ML Specialization 2024. 4. 28. 12:29
머신러닝을 개발하는 프로세스는 어떻게 진행될까? 먼저 어떤 모델과 데이터등을 사용할지 architecture를 결정하고 모델을 학습시킨다. 이후, bias, variance, error들을 이용해 모델을 진단하고, 만약 결과가 맘에 들지 않는다면 model이나 data를 변경해주고, 이 과정을 반복해준다. Error Analysis위 단계로 스팸 이메일을 찾아내는 Classification 모델을 트레이닝 했는데, 500개의 예시중 Cross Validation에서 100개를 잘못 분류했다고 가정해보자. Error Analysis는 매뉴얼하게 각 에러를 살펴보는 일이다. Cross Validation에서 알고리즘이 잘못 분류한 예제를 직접 찾아서 공통 주제나 속성 등으로 그룹화를 하는것이다. 예를 들어..
-
Bias and VarianceMachine Learning/Stanford ML Specialization 2024. 4. 27. 20:21
머신러닝 클래스들에서 예시로 주는, 잘 정제된 데이터로 모델을 생성하면, 8-90%의 예측률을 보여주는 모델을 만나가 되지만, 실제 현실에서는 그렇지가 않다. 선형 회귀 문제를 생각해보자. Bias가 높아서 underfit하거나, Variance가 높아서 Overfit하는 경우가 발생한다. Underfit의 경우, 오차값이 크기때문에 Jtrain값은 높아지고, Jcv값도 높을것이다. Overfit의 경우, Jtrain값은 낮더라도, Jcv값이 높을수 있다. 이렇게 Jtrain과 Jcv를 비교해서 Underfit인지, Overfit인지 예측할 수 있다. Good fit일 경우에는 Jtrain값도, Jcv값도 낮을것이다. 지난시간, 여러가지 다차항을 이용해서 모델의 성능을 살펴보고, 최적의 모델을 선택하는..
-
Model Selection and EvaluationMachine Learning/Stanford ML Specialization 2024. 4. 27. 11:55
머신러닝 모델을 만들었는데, 결과값이 심각하게 좋지 않을 때, 어떻게 해야할까? 아래를 포함한 여러가지 방법이 있을것이다.트레이닝 데이터 더 수집하기feature를 늘리거나 줄이기ploynomical feature등을 사용하거나 다른 feature engineering 기법을 사용해보기알파/감마값을 줄이거나 늘이기다른 모델 선택하기 Evaluation하지만, 이 모든것을 랜덤하게 해보는것은 수개월이 걸릴지도 모른다. 그렇기 때문에 어떤 문제가 발생하는지 모델을 Evaluation을 잘 하는것은 매우 중요하다. Linear Regression에서, 첫번째로, Train/Test error를 계산하는 방법이 있다. 많이 사용하는 Squared Error Cost를 이용해볼 수 있는데, train값은 0에 가..
-
Multiclass Classification | Neural Network Additional Layer TypesMachine Learning/Stanford ML Specialization 2024. 4. 2. 09:07
Coursera Machine Learning Specialization > Supervised Machine Learning: Advanced Learning Algorithms > Neural Network Intuition Neural Network에서 대부분은 이전 레이어에서 온 activation을 사용했다. 코드에서는 Dense layer 타입을 사용했고, 이것을 이용해 꽤 강력한 인공신경망 모델을 만들 수 있었다. 하지만 어떤 분야에서는 Layer마다 다른 타입의 레이어가 필요한 경우가 있었다. 이것을 Convolutional Layer라고 부른다. 이미지 판독을 할 떄, 예를 들어 30*30의 뉴런의 레이어가 있다고 가정해보자. 아래 그림을 보자. Convolutional Layer에서는..
-
Multiclass Classification | Neural Network Advanced OptimizationMachine Learning/Stanford ML Specialization 2024. 4. 2. 08:54
Coursera Machine Learning Specialization > Supervised Machine Learning: Advanced Learning Algorithms > Neural Network Intuition Gradient Descent Gradient descent(그레디언트 디센트, 경사하강법)은 ML에서 널리 사용되는 최적화 알고리즘인데, Cost Function을 최소화 하는데 사용할 수 있는 다른 최적화 알고리즘도 있다. 우리가 그동안 봐왔던 Gradient descent보다 훨씬 더 나은 방법이다. 경사하강법보다 빠르게 트레이닝 할 수 있는 방법이 어떤게 있는지 알아보자. Gradient Descent 에서는, 어떤 지점에서 시작해서, 학습률 알파를 잘 조정해서, 위의 공..
-
Multiclass Classification | Advanced Learning AlgorithmMachine Learning/Stanford ML Specialization 2024. 3. 24. 16:08
Coursera Machine Learning Specialization > Supervised Machine Learning: Advanced Learning Algorithms > Neural Network Intuition Multiclass Multiclass Classification은 분류 문제 중, 여러가지의 Class를 판별하는 문제이다. Logistic Regression을 이용해서 y가 0이거나 1인 확률을 계산하고, threash hold값을 이용해서(예: 0.5) 판별해내는 모델을 배웠었다. 하지만 그 가지수가 2개 이상이라면? 여러 포켓몬이 있다고 가정해보자. 그러면 그래프상으로 각 결과값마다 결정 경계(Decision Boundry)가 생기고, 그 경계선을 갖고 여러가지의 cla..
-
Activation Functions | Advanced Learning AlgorithmMachine Learning/Stanford ML Specialization 2024. 3. 24. 13:57
Coursera Machine Learning Specialization > Supervised Machine Learning: Advanced Learning Algorithms > Neural Network Intuition Alternatives to the sigmoid activation 지금까지는 Activation 함수로 Sigmoid 함수를 써왔다. 티셔츠가 얼마나 팔릴지에대한 Demand Prediction을 계산할 때, price, shipping cost, marketing, material등의 값을 이용해서 여러가지 값을 측정한다고 생각해보자. 그 중, awareness(인지도) 값을 0이나 1인 binary가 아니라, 음수가 아닌 0과 1 사이 숫자로 표현해보자. 이전에는 sigm..
-
TensorFlow Training Details | Advanced Learning AlgorithmMachine Learning/Stanford ML Specialization 2024. 2. 11. 14:54
Coursera Machine Learning Specialization > Supervised Machine Learning: Regression and Classification > Regression with multiple input variables 이전 시간에서 모델을 트레이닝 하는 코드를 써봤는데, 실제로 이 코드가 무엇을 하는지 살펴보자. Neural Network의 세부 사항을 살펴보기 전에, 이전에 Logistic Regression 모델을 어떻게 훈련했었는지 기억해보자. Logistic Regression 먼저 1단계로, Feature들인 x와, weight(w), bias(b)가 주어지면 출력값을 계산하는 방법을 지정해주는 단계였다. W와 X를 dot product한 값에 b를 더한..