728x90
MachineLearning
5

Gradient Descent(경사하강법)

경사하강법으로는 크게 Gradient Descent와 Stochastic Gradient Descent로 나눌 수 있을 것 같다. 지금은 Gradient Descent에 대한 설명을 시작해보려고 한다. 경사하강법이란? 경사하강법은 반복적인 실행을 통해 에러를 최소화 시킬 수 있는 값을 구하는 방법이다. 여기서 에러라는 것은 실제값과의 다른 정도라고 이해하자. 자, 조금 더 파보자. 아래와 같은 그래프가 있다고 하자. 이 그래프에서 에러가 최소인 지점이 어디일까? 바로 아래 그림처럼 빨간 점으로 표시된 지점일 것이다. 이처럼 육안으로는 최소인 지점을 한 눈에 알아볼 수 있었다. 하지만 컴퓨터에게는 눈이 없기때문에 한 눈에 알아볼 수가 없다. 일단 저 빨간 점을 지나는 접선을 그려보자. 그러면 위 그림처럼 ..

[실습]주성분 분석(Principal Component Analysis, PCA)

1. 데이터 생성 import pandas as pd df = pd.DataFrame(columns=['calory', 'breakfast', 'lunch', 'dinner', 'exercise', 'body_shape']) df.loc[0] = [1200, 1, 0, 0, 2, 'Skinny'] df.loc[1] = [2800, 1, 1, 1, 1, 'Normal'] df.loc[2] = [3500, 2, 2, 1, 0, 'Fat'] df.loc[3] = [1400, 0, 1, 0, 3, 'Skinny'] df.loc[4] = [5000, 2, 2, 2, 0, 'Fat'] df.loc[5] = [1300, 0, 0, 1, 2, 'Skinny'] df.loc[6] = [3000, 1, 0, 1, 1, '..

주성분 분석(Principal Component Analysis, PCA)

주성분 분석(Principal Component Analysis)이란 고차원의 데이터를 저차원의 데이터로 차원 축소하는 알고리즘이다. 주로 고차원의 데이터를 3차원 이하의 데이터로 바꿔서 시각화하는데 많이 사용되며, 유용한 정보만 살려서 적은 메모리에 저장하거나 데이터의 노이즈를 줄이고 싶을 때도 사용하는 알고리즘이다. 이해하기 쉽게 시각화 가능한 2차원 데이터를 1차원 데이터로 축소하는 과정을 알아보겠다. 위와 같은 2차원 공간의 데이터들을 직선상의 데이터로 변환하면 다음과 같다. 보다시피 x1과 x2 선상에 옮기면 중첩되는 데이터가 많이 생긴다. 하지만 1차원 직선 상에 옮겨진 데이터들은 하나도 중첩되지 않고 육안으로 7개의 점을 확인할 수 있다.이를 정보이론 측면에서 해석해본다면 고차원 데이터를 저..

[실습] 단일, 다중 입력 로지스틱 회귀와 소프트맥스(다중 분류 로지스틱 회귀)

단일 입력 로지스틱 회귀 1. Import from keras.models import Sequential from keras.layers import Dense, Activation import numpy as np 2. 모델 생성 #sigmoid(wx+b)의 형태를 갖는 간단한 로지스틱 회귀 구현 model = Sequential() model.add(Dense(input_dim=1, units=1)) # 입력 1개, 출력 1개 model.add(Activation('sigmoid')) # 출력값을 시그모이드에 연결 model.compile(loss='binary_crossentropy', optimizer='sgd', metrics=['binary_accuracy']) 3. 데이터 생성 X = np..

로지스틱 회귀(Logistic Regression)

로지스틱 회귀에 대해 설명하기 전 일단 시그모이드 함수에 대해서 알아보자. 시그모이드 함수는 입력값이 크면 클수록 1이라는 값으로 수렴하고, 입력값이 작을수록 0이라는 값으로 수렴하는 함수이다. 또한 0부터 1까지의 값을 가지는 특성 때문에 시그모이드의 출력값은 확률로도 사용될 수 있고, 출력값이 0.5 이상일 경우에는 참, 0.5 이하일 경우에는 거짓이라고 분류하는 분류 모델로도 사용될 수 있다. 선형 회귀의 입력값(x), 출력값 및 로지스틱 회귀의 출력값에 따른 이진 분류 결과를 표로 정리하면 다음과 같다. [표] 선형 회귀 입력값(x) 선형 회귀 출력값(wx) 로지스틱 회귀 입력값(z) 로지스틱 회귀 출력값(y) 이진 분류 0.5 이상: O, 0.5 이하: X -2 -2 0.12 X -1.5 -1...

728x90