머신 러닝 9

[ML] Optimization method (최적화 알고리즘)

최적화 알고리즘의 목적은 cost function (비용 함수) 을 최소화 (또는 최대화) 해 모델에 가장 적합한 파라미터를 찾는 것으로, Gradient Descent (경사 하강법), Stochastic Gradient Descent (확률적 경사 하강법), Newton's Method, Adam, RMSProp 등이 있다. 최적화 알고리즘이 모델에서 맞는 역할은 cost function 의 정보를 기반으로 모델 파라미터를 조정하거나 업데이트 하는 방법을 결정하는 것이다. 대표적인 최적화 알고리즘을 알아보자. 1. Batch Gradient Descent (배치 경사 하강법, 일괄 경사 하강법) : * 전체 데이터 세트를 사용해 gradient (기울기) 를 계산한다. * convex loss sur..

[ML] t-SNE (t-Stochastic Neighbor Embedding) - 2

예시를 통해 t-SNE를 이해해보자. 특징에 기반해 동물 유형을 시각화 하는 예시다. 다양한 동물의 데이터 집합이 있고 각 동물에 대해 체중, 키, 수명, DNA 유사성 등 100개의 서로 다른 특징을 측정해 100차원 공간을 만든다고 가정해보자. 우리의 목표는 이러한 특징을 기반으로 국소적 유사성을 유지하면서 2D 공간에서 이러한 동물들이 서로 어떻게 관련되어 있는지를 시각화 하는 것이다. 고차원 유사성 : "고양이"라는 한 동물을 선택해 보자. 데이터 세트의 다른 모든 동물에 대해 해당 동물이 얼마나 "고양이"와 유사한지를 나타내는 확률을 계산하고, 이 유사성은 100차원 공간에서 "고양이"와 다른 모든 동물 사이의 유클리트 거리를 기반으로 한다. 예를 들어, "고양이"와 "호랑이"와 같은 두 동물이..

[ML] Normalization Technique(정규화 기법)

Normalization(정규화)란? : In data processing, normalization is the process of transforming and scaling numerical data to bring it to a common range or scale, without distorting the differences in the ranges of the individual values. The main goal of normalization is to reduce or eliminate the effects of different measurement scales, so that different variables can be compared on an equal footing. :..

[ML] Huber Loss(후버 손실)

앞서 살펴봤던 MSE와 MAE의 장점을 결합한 Huber Loss에 대해 살펴보겠다. MSE는 outlier에 제곱을 통해 많은 비중을 주게 되는 반면, MAE는 같은 비중을 두게 된다. 또한 MSE의 경우 outlier가 아닌 데이터에선 훌륭한 모델을 만들 수 있기에 이 둘을 절충해 아래와 같이 나타낸다. 에러(예측값과 실제값의 차)가 Delta(델타) 사이일 경우 MSE를 적용하고 그 외에 범위에 있을 경우 MAE를 적용하는 것이다. 참고로 1/2을 곱한 것은 아래 두 함수의 접점(Junction)에서 같은 결과값과 같은 편미분 값을 같기 위한 것이다. import matplotlib.pyplot as plt import numpy as np # Huber loss function def huber_..

[ML] MAE(Mean Absolute Error, 평균 절대 오차)

MAE는 이전 포스팅의 MSE를 구하는 방법과 매우 유사하지만 가져오는 결과는 매우 다르다. MAE 역시 모델을 통한 예측값과 실제값의 차이를 바탕으로 평균을 구하지만, MSE와 다른 점은 제곱을 하지 않는 것이다. 따라서 MAE는 이상점(outlier)의 비중이 MSE에 비해 현저히 적다. 하지만 절대값을 다루기에 MSE와 마찬가지로 양수를 다루기에 예측값이 실제값보다 큰 값인지 작은 값인지에 대한 판단이 불가하다. import numpy as np import matplotlib.pyplot as plt # MAE loss function def mae_loss(y_pred, y_true): abs_error = np.abs(y_pred - y_true) sum_abs_error = np.sum(ab..

[ML] MSE(Mean Squared Error, 평균 제곱 오차)

Machine Learning 강의 수강 시 가장 먼저 접하게 되는 Loss(Cost) Function 중에 하나다. MSE를 계산하는 방법은 간단하다. 모델이 예측한 값(모델의 output)과 실제값의 차이를 제곱하고 이를 전체 데이터로 나누어준 평균값이다. MSE는 굉장히 큰 에러(예측값과 실제값의 차)를 갖는 이상점이 없는 모델에선 훌륭하지만, 그렇지 않을 경우 예측값과 실제값의 차이를 제곱하기에 이상점에 상대적으로 큰 비중이 실릴 수 있어 바람직하지 못한 결과를 낳는다. 아래는 MSE를 식으로 나타낸 것으로 N은 전제 데이터의 개수다. 아래는 MSE에 대한 샘플 파이썬 코드다. import numpy as np import matplotlib.pyplot as plt # MSE loss funct..

[ML] Gradient Descent(경사하강법)

IBM에서 이런 내용도 게재하는지 몰랐는데 Gradient Descent(경사하강법)에 대해 아래와 같이 설명하고 있다. 한국어론 경사하강법이라고 하지만 Gradient Descent라는 용어로 인지를 하고 있는 것이 여러 자료를 접할 때 더 편할 것으로 생각돼 영어와 한국어 모두 기억하는 것을 추천한다. 뿐만 아니라 Cost Function 혹은 대부분의 용어들은 영어로 함께 기억하는 것이 나을 것으로 생각한다. : Gradient descent is an optimization algorithm which is commonly-used to train machine learning models and neural networks. Training data helps these models learn ..

[ML] CS229: Machine Learning

Coursera에서 유명한 Andrew Ng 교수님의 Machine Learning 강의 자료는 접근이 가능하고 그 주소는 아래와 같다. Stanford CS229: Machine Learning : Instructors: Andrew Ng, Moses Charikar, Carlos Guestrin https://cs229.stanford.edu/ Syllabus and Course Materials : https://docs.google.com/spreadsheets/d/18pHRegyB0XawIdbZbvkr8-jMfi_2ltHVYPjBEOim-6w/edit#gid=0 Lecture Notes : https://cs229.stanford.edu/notes2022fall/main_notes.pdf

[ML] Closed-form solution(닫힌 형태)

1. Wikipedia : In mathematics, a closed-form expression is a mathematical expression that uses a finite number of standard operations. It may contain constants, variables, certain well-known operations (e.g., + − × ÷), and functions (e.g., nth root, exponent, logarithm, trigonometric functions, and inverse hyperbolic functions), but usually no limit, differentiation, or integration. The set of o..