딥러닝이 뭐야?

  • 딥러닝(Deep Learning)은 깊은 계산 스택을 특징으로 하는 기계 학습 접근방식

  • 뉴런 네트워크의 강화와 확장성을 통해 딥러닝 모델이 정의 된다.

    📌 뉴런 네트워크(neural networks)
    : 간단한 계산을 하는 뉴런들의 구성체. 뉴런들이 복잡한 연결되어 있음

    The Linear Unit

  • a neuron (or unit) 은 input과 output이 있다.


    (출처 - https://www.kaggle.com/code/ryanholbrook/a-single-neuron#Welcome-to-Deep-Learning!)

  • input은 x, output은 y, weight는 w

  • y는 뉴런이 궁극적으로 산출하는 값. 뉴런은 네트워킹된 모든 값을 합산 y = w * x + b

  • 선의 방정식. 기울기 절편 방정식과 동일한 식

  • w는 기울기, b는 y 절편 (y-intercept)


모델학습

  • 값이 뉴런을 거칠 때마가 weight에 연결의 가중치를 곱하면서 뉴런 네트워크는 학습을 한다.
  • 예를 들어, x가 뉴런에 도달하였을 때, w*x가 된다.

📌 편향

  • b는 편향으로 어떤 input도 가지고 있지 않아, x와 독립적으로 output을 조정할 수 있다.

📌 예시


(출처 - https://www.kaggle.com/code/ryanholbrook/a-single-neuron#Welcome-to-Deep-Learning!)

calories=2.5×5+90=102.5

Multiple Inputs

  • input아 여러개일 경우


(출처 - https://www.kaggle.com/code/ryanholbrook/a-single-neuron#Welcome-to-Deep-Learning!)

  • input 이 여러개인 경우,의 식 : y=w0x0+w1x1+w2x2+b
  • input이 두 개인 선형유닉은 평면(plane)에 적합하고, 그 이상의 input이 있을 경우, 초평면(hyper plane)에 적합

    📌 초평면(hyperplane)
    : 초평면은 데이터 공간을 둘로 나누는데 사용되는 분리 선이나 평면을 가리킴. 이진 분류(binary classification) 문제

    (출처 - https://ko.wikipedia.org/wiki/%EC%84%9C%ED%8F%AC%ED%8A%B8_%EB%B2%A1%ED%84%B0_%EB%A8%B8%EC%8B%A0)

Linear Units in Keras

  • 기본적으로 keras.Sequential를 사용하여 레이어를 쌓으며 뉴런 네트워크를 생성
from tensorflow import keras
from tensorflow.keras import layers

# Create a network with 1 linear unit
model = keras.Sequential([
    layers.Dense(units=1, input_shape=[3])
])

# look at weight 
model.weights
  • units는 예측하고자 하는 값, input_shape는 예측값을 위한 입력값
  • 예를 들어, units가 칼로리이고, input의 경우, 설탕, 식이섬유, 단백질일 경우
  • input_shape가 pandas일 경우 [3,] 다 차원으로 input_shape를 표시하기

참고

kaggle

profile
공부에는 끝이 없다

0개의 댓글

Powered by GraphCDN, the GraphQL CDN