Loading [MathJax]/jax/output/CommonHTML/jax.js
본문 바로가기
  • 조금 느려도, 꾸준히
반응형

분류 전체보기59

Python Numpy - 넘파이 기본과 예제 도움 : Quickstart tutorial - Numpy v1.19.dev() Manual Quickstart tutorial — NumPy v1.19.dev0 Manual NumPy provides familiar mathematical functions such as sin, cos, and exp. In NumPy, these are called “universal functions”(ufunc). Within NumPy, these functions operate elementwise on an array, producing an array as output. See also all, any, apply_along_a numpy.org # 넘파이 베이직 넘파이는 다차원의 배열 데이터를 효율적으로.. 2020. 1. 25.
핸즈온 머신러닝(5) - 로지스틱 회귀 2 # 소프트맥스 회귀 로지스틱 회귀 모델은 직접 다중 클래스를 지원하도록 일반화될 수 있다. 이를 소프트맥스 회귀(Softmax Regression) 또는 다항 로지스틱 회귀(Multinomial Logistic Regression) 라고 한다. 소프트맥스 회귀 모델은 샘플 x 가 주어졌을 때 각 클래스 k 에 대한 점수 sk(x) 을 계산하고, 그 점수에 소프트맥스 함수(정규화된 지수 함수) 를 적용하여 각 클래스의 확률을 추정한다. 다음은 sk(x) 을 식으로 나타낸 것이다. sk(x)=(θ(k))Tx 각 클래스는 자신만의 파라미터 벡터 $\th.. 2020. 1. 24.
핸즈온 머신러닝(5) - 로지스틱 회귀 1 어떤 회귀 알고리즘은 분류에서도 사용할 수 있으며, 그 반대의 경우도 있다. 로지스틱 회귀(Logistic Regression)는 샘플이 특정 클래스에 속할 확률을 추정하는 데 널리 사용된다. 추정 확률이 50% 이상이면 모델은 그 샘플이 해당 클래스에 속한다고 예측하며, 그렇지 않으면 클래스에 속하지 않는다고 예측한다. 즉 이진 분류기이다. # 확률 추정 로지스틱 회귀 모델은 입력 특성의 가중치 합에 편향을 더하여 계산한다. 이때 선형 회귀처럼 바로 결과를 출력하지 않고, 결과값의 로지스틱(Logistic)을 출력한다. 로지스틱 회귀 모델의 확률 추정 벡터 표현식은 다음과 같다. $$ \hat{p} = h_\theta (\mathrm{x}) = \sigma \big( \theta^T \cdot \mat.. 2020. 1. 24.
핸즈온 머신러닝(5) - 규제가 있는 선형 모델 선형 회귀 모델에서는 보통 모델의 가중치를 제한하여 규제를 가한다. 가중치를 제한하는 방법에 따라 릿지 회귀, 라쏘 회귀, 엘라스틱넷으로 구분할 수 있다. # 릿지 회귀 (티호노프 규제) 규제항 αni=1θ2i 이 비용 함수에 추가된 선형 회귀 버전이다. 이로 인해 학습 알고리즘을 데이터에 맞추는 과정에서 모델의 가중치가 가능한 작게 유지되도록 한다. 규제항은 훈련하는 동안에만 비용 함수에 추가되며 모델의 훈련이 끝나면 모델의 성능을 규제가 없는 성능 지표로 평가한다. 릿지 회귀의 비용 함수는 다음과 같다. J(θ)=MSE(θ)+α12ni=1θ2i 하이퍼파라미터 $\.. 2020. 1. 24.
핸즈온 머신러닝(5) - 학습 곡선 # 학습 곡선 지난 시간에 포스팅했던 다항 회귀 모델은 보통의 선형 회귀 모델보다 주어진 훈련 데이터에 훨씬 더 잘 맞추려고 했다. 다음의 코드는 2차원을 넘어 30차원, 100차원 다항 회귀 모델의 예측 결과를 비교한 것이다. from sklearn.preprocessing import StandardScaler from sklearn.pipeline import Pipeline for style, width, degree in (('k--',1,100),('g-',1,30),('r-',1,2)): poly_features = PolynomialFeatures(degree=degree, include_bias=False) standard = StandardScaler() lin_reg = LinearR.. 2020. 1. 24.
핸즈온 머신러닝(5) - 다항 회귀 # 다항 회귀 데이터가 단순한 직선의 형태가 아닌 비선형 형태여도, 선형 모델을 사용하여 비선형 데이터를 학습할 수 있다. 이때 각 특성의 거듭제곱을 새로운 특성으로 추가하고, 확장된 특성을 포함한 데이터셋에 선형 모델을 훈련시키는 것인데, 이러한 기법을 다항 회귀(Polynomial Regression) 이라고 한다. 실습하기 위해 먼저 노이즈를 포함한 간단한 2차 방정식으로 비선형 데이터를 생성해 보도록 한다. import numpy as np import numpy.random as rnd rnd.seed(42) m = 100 X = 6 * rnd.rand(m, 1) - 3 y = 0.5 * X**2 + X + 2 + rnd.randn(m, 1) y=0.5x2+x+2+noise .. 2020. 1. 23.
반응형