분류 전체보기
-
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 에서는, 어떤 지점에서 시작해서, 학습률 알파를 잘 조정해서, 위의 공..
-
지도학습 | 분류용 선형 모델 (Linear Classification Model)Machine Learning/ML with Python Library 2024. 4. 1. 22:40
선형 모델은 Classification 문제에도 많이 사용된다. 먼저, binary classification을 살펴보자. 수식은 다음과 같다. y = w0⋅x0 + w1⋅x1 + ... + wp⋅xp + b > 0 가장 널리 알려진 두 개의 선형 알고리즘은 Logistic Regression(회귀 알고리즘이 아니다)과 Support Vector Machine(LinearSVC)이다. forge 데이터셋을 사용해서 LogisticRegression과 LinearSVC 모델을 만들고, 이 모델이 만든 결정경계를 그림으로 나타내보자. # !pip install mglearn import mglearn from sklearn.linear_model import LogisticRegression from skl..
-
지도학습 | 라소 회귀 (Lasso Regression)Machine Learning/ML with Python Library 2024. 4. 1. 21:22
선형 회귀에 규제를 적용할 때, 지난번 공부한 Ridge의 대안으로 Lasso가 있다. Ridge와 마찬가지로, Lasso도 계수를 0에 가깝게 만들려고 하는데 방식이 조금 다르다. 이 규제를 L1 Regulation이라고 한다. Lasso를 사용할 때, 어떤 계수는 실제로 정말 0이 된다. 즉, 완전하게 제외되는 특성이 생기게 된다. Feature Selection을 이 회귀를 사용하면 자동으로 함께 처리된다. 이전의 보스턴 주택 가격 데이터셋에 Lasso를 적용해보자. # !pip install mglearn import mglearn from sklearn.linear_model import Lasso from sklearn.model_selection import train_test_split i..
-
지도학습 | 리지 회귀 (Ridge Regression)Machine Learning/ML with Python Library 2024. 3. 30. 14:02
리지회귀는 기본 선형 회귀 방식 대신 가장 널리 쓰이는 모델이다. 리지 회귀에서 가중치, weight(w) 서택은 훈련 데이터를 잘 예측하기 뿐만 아니라, 이 weight의 절대값을 가능한 작게 만드는 목적을 갖고 모델을 만든다. 다시 말해, 모든 w가 0에 가깝게 되길 원한다. 즉, 모든 특성이 주는 영향을 최소한으로 만드는 것이다. 이런 제약을 규제, regulation이라고 한다. 규제란, 과대 적합이 되지 않도록 모델을 강제로 제한한다는 의미이다. Ridge Regression에 사용하는 규제 방식을 L2 Regulation이라고 한다. Ridge and Alpha Ridge Regression은 linear_model.Ridge에 구현되어 있다. 코드로 확인해보자. 먼저, 필요한 라이브러리 설치..
-
지도학습 | Ordinary Least Squares (최소제곱법)Machine Learning/ML with Python Library 2024. 3. 25. 20:31
Linear Regression 또는 Ordinary Least Squares(OLS, 최소제곱법)은 가장 간단하면서도 오래된 Regression Linear Algorithm이라고 한다. Linear Regression은 prediction과 training set target들의 평균제곱오차(Mean Squared Error)를 최소화하는 파라미터 w와 b를 찾는다. 여기서, 평균 제곱오차는 prediction과 target값의 차이를 제곱하고 더한 후에 샘플 개수로 나눈것이다. mglearn의 데이터 샘플을 이용해서 LinearRegression 모델을 만들어보자. from sklearn.linear_model import LinearRegression from sklearn.model_selec..
-
지도학습 | Linear Regression (선형회귀)Machine Learning/ML with Python Library 2024. 3. 25. 20:07
회귀의 경우, 일반화된 예측 함수는 다음과 같다. y = w0x0 + w1x1 + w2x2 + ... + wpxp + b 여기서 w와 x는 특성의 갯수만큼 생기며, 위의 예제에서는 p+1개의 특성이 있다고 생각할 수 있다. 특성이 한개인 Linear Regression 모델은 다음과 나타낼 수 있다. y = w0x0 + b mglearn예시를 가지고 Linear Regression에서 위에서 정의한 선을 어떻게 그려내는지 확인해보자. !pip install mglearn import mglearn mglearn.plots.plot_linear_regression_wave() 위와같은 Linear가 그려졌고, w(weight)과 b(bias)값은 아래와 같이 측정되었다. w[0]: 0.393906 b: -..
-
지도학습 | K-NN Regression (최근접 이웃 회귀)Machine Learning/ML with Python Library 2024. 3. 24. 21:05
KNN을 이용해서 Regression문제도 풀어낼 수 있다. KNN을 이용하게 되면, 예측값은 가장 가까운 이웃의 타겟값이 된다. !pip install mglearn import mglearn mglearn.plots.plot_knn_regression(n_neighbors=1) 이렇게 하면, 가장 가까운 이웃 1개를 골라서 그것이 결과값이 된다. 결과는 다음과 같았다. 각 인풋(test data)별로, 가장 가까운 데이터(training data/target)을 찾아내고, 그 타겟을 결과값으로(test prediction) 나타내었다. 여기서 K-NN은, 1-NN이었는데, 코드를 조금 수정해서 K를 1보다 큰 숫자를 사용해 회귀분석을 할 수 있다. mglearn.plots.plot_knn_regres..