프로그래밍 공부

알고리즘 40

카테고리 설명
  • import tensorflow as tf# MNIST 데이터를 다운로드(x_train, y_train), (x_test, y_test) = tf.keras.datasets.mnist.load_data()x_train, x_test = x_train.astype('float32'), x_test.astype('float32')x_train, x_test = x_train.reshape([-1, 784]), x_test.reshape([-1, 784])x_train, x_test = x_train / 255., x_test / 255.y_train, y_test = tf.one_hot(y_train, depth=10), tf.one_hot(y_test, depth=10)learning_rate = 0.00..

  • 퍼셉트론이전에 인공신경망의 개념을 제안하였지만, 개념적인 시도로써 공학적인 구현을 최초로 제안한 개념무려 1958년에 나온 논문이다. 퍼셉트론 은 생물학적 뉴런을 공학적인 구조로 변형한 그림이다. 퍼셉트론은 입력층(Input [ in(t) ] )와 출력층(Output [ out(t) ] ) 을 가진다. 퍼셉트론은 입력층에서 인풋데이터 X를 받고 이를 가중치 W와 곱한 후 이 값에 바이어스 b를 더한다.이 값을 활성함수 (시그모이드 함수) 의 입력값으로 대입해서, 출력층은 최종적으로 0 또는 1의 값으로 출력한다.활성함수는 계단함수를 사용해서 0보다 작으면 0 크면 1 이런식으로 0 또는 1로 표현하게 한다.W는 가중치를 의미한다. 의사결정에 대한 값은 X라고 할때W1 ~ Wn까지는 임의의 가중치 이다. ..

  • import tensorflow as tf## # MNIST 데이터를 다운로드(x_train, y_train), (x_test, y_test) = tf.keras.datasets.mnist.load_data()# 이미지들을 float32 데이터 타입으로 변경x_train, x_test = x_train.astype('float32'), x_test.astype('float32')# 28*28 형태의 이미지를 784차원으로 flattening 한다.x_train, x_test = x_train.reshape([-1, 784]), x_test.reshape([-1, 784])# [0, 255] 사이의 값을 [0, 1] 사이의 값으로 Normalize한다.x_train, x_test = x_train / 25..

  • 소프트맥스 회귀 기법 소프트맥스 회귀는 n개의 레이블을 분류하기 위한 가장 기본적인 모델이다. 모델의 아웃풋에 Softmax함수를 적용해서 모델의 출력값이 각각의 레이블에 대한 확신의 정도를 출력하도록 만들어주는 기법이다. 구체적으로 SoftMax함수는 Normalization함수로써 출력값들의 합을 1로 만들어준다. Softmax함수는 아래 수식으로 표현된다. $ softmax(X)_{i} = \frac{exp(x_{i})}{\sum_{j}exp(x_{j})} $ SoftMax함수를 마지막에 씌우게 되면 모델의 출력값이 레이블에 대한 확률을 나타나게 된다.(출력값들의 합이 1이되므로) 예를들어 SoftMax함수를 적용하게 되면,인풋에 대하여 각각의 레이블 확률을 0.7 , 0.2, 0.1 로 확신하게 ..

  • 범주형 값(Categrical Value)을 이진화된 값 으로 바꿔서 표현하는것 을 말한다. 범주형 값은 예를 들어 "개", "고양이", "말" 이런 3가지 범주형 데이터가 있을 떄, 이를 개 = 1, 고양이 = 2 말 = 3 이라고 단순하게 integer Encoding으로 변환하여 표현한다.이에 반해 One-hot Encoding을 사용하면 범주형 데이터를 개 = [1 0 0], 고양이 = [0 1 0], 말 = [0 0 1] 형태로 해당 레이블을 나타내는 인덱스만 1의 값을 가지고 나머지 부분은 0의 값을 가진 Binary Value로 표현한다. 단순한 InregerEncoding의 문제점은 머신러닝 알고리즘의 정수 값으로부터 잘못된 경향성을 학습하게 될 수도 있다.예를들어, Integer Enco..

    알고리즘

    One-hot Encoding NEW

    2024.06.13
    댓글
  • 머신러닝 모델을 학습시키기 위해서는 데이터가 필요하다.하지만 데이터 학습에 적합한 형태로 정제하는 것은 많은 시간과 노력이 필요한 일이다. 따라서 많은 연구자가 학습하기 쉬운 형태로 데이터들을 미리 정제해서 웹상에 공개해놓았다. 그중에서 MNIST데이터셋은 머신러닝을 공부하는 사람들이 접하는 데이터셋으로 머신러닝의 기초 라고 볼 수 있다.

    알고리즘

    MNIST 데이터셋 NEW

    2024.06.13
    댓글 1