본문 바로가기

분류 전체보기85

[딥러닝 기초] 신경망과 학습 안녕하세요 :) 오늘은 여태까지 배운 지식들을 기반으로 신경망과 신경망 학습에 대한 이야기를 해볼까 합니다! 1. 신경망 신경망의 파라미터와 변수 파라미터(parameter)는 신경망의 수학적 모델을 정하는데 필요한 상수입니다. 이전에 대분 가중치(weight)와 편향(bias)을 파라미터라고 부릅니다. 파라미터를 제외하고, 신경망의 입력으로 주어지는 데이터 값에 따라서 변하는 변수가 필요합니다. 그러므로, 신경망에서는 데이터를 저장하는 변수 모델을 결정하는 파라미터 로 구성됩니다. 이해하기 쉽게 단순회귀분석을 예시로 들어보겠습니다. y = px + q 라는 회귀방정식을 살펴보면, 절편(q)과 회귀계수(p)는 파라미터에 해당하고, 독립변수(x), 종속변수(y)는 변수에 해당합니다. 파라미터와 변수의 이름.. 2020. 7. 9.
[딥러닝 기초] 경사하강법과 회귀분석 안녕하세요 :) 오늘은 딥러닝의 기초 개념 중 하나인 경사하강법과 회귀분석에 대해서 간단하게 다뤄보겠습니다. 1. 경사하강법 (Gradient descent) 신경망에서는 z = f(x, y)를 최소화하는 x, y 값을 구하는 것이 목표입니다. 이러한 목표를 달성하기 위한 방법 중 하나가 바로 경사하강법(Gradient descent)입니다. 경사하강법은 그래프 상의 점을 조금씩 움직여서 함수의 최소 값을 구하는 방식입니다. 점을 조금씩 움직일 때, 가장 가파른 방향으로 이동하게 됩니다. 이러한 방법을 수치해석에서는 최급하강법(method of steepest descent)라고 합니다. 앞서 배운 내적을 이용한 근사식 표현으로 돌아가 보겠습니다. z = f(x, y)에서 x, y를 △x, △y 만큼 변.. 2020. 7. 9.
[딥러닝 기초] 딥러닝 수학 - 2 : 행렬, 미분 안녕하세요 :) 오늘은 저번 게시물(딥러닝 수학-1)에 이어서 조금 더 구체적인 수학적인 내용을 다뤄보겠습니다. 크게 형렬, 미분에 대해서 배워보겠습니다. 1. 행렬 (matrix) 행렬은 수와 식을 사각 형태의 배열로 나열한 것을 의미합니다. 거로 줄을 행, 세로 줄을 열이라고 부릅니다. 이때, 행의 수와 열의 수가 같은 경우 정사각 행렬(square matrix)라고 부릅니다. 또한, 행렬 중, 하나의 열로 구성된 행렬을 열 벡터, 하나의 행으로 구성된 행렬을 행 벡터라고 부릅니다. 행렬의 원소 중, i행 j열에 위치한 성분은 aij로 표시합니다. 그중, i = j 인 경우 aij 가 1이고, 나머지의 경우 모두 0인 경우를 단위행렬(E)라고 합니다. 행렬의 연산 행렬의 상등 두 행렬에서 대응하는 각.. 2020. 7. 6.
[딥러닝 기초] 딥러닝 수학 - 1 : 함수, 수열, 벡터 안녕하세요 :) 오늘은 구체적인 딥러닝 이야기를 하기에 앞서, 딥러닝을 이해하는데 필요한 수학적인 내용을 다뤄볼까 합니다. 크게 함수, 수열, 벡터에 대한 내용을 다뤄보겠습니다. 1. 함수 1차 함수 가장 기본적인 1차 함수에 대해서 알아보겠습니다. 일차 함수는 기본적으로 다음과 같은 형식으로 구성될 수 있습니다. 위 식은 독립 변수가 1개인 가장 단순한 형태의 1차 함수입니다. 다음과 같이 2개의 독립 변수로 구성된 1차 함수를 생성할 수도 있습니다. 이 때, y는 x1, x2와 "1차 함수 관계"라고 표현합니다. ※ 독립 변수와 종속 변수 x가 주어졌을 때, y의 값이 정해진다면, x는 독립변수, y는 종속 변수라고 할 수 있습니다. 앞서 배운 신경망의 가중입력은 1차 함수 관계로 표현할 수 있습니다.. 2020. 7. 1.
[딥러닝 기초] 신경망과 딥러닝 개요 안녕하세요 :) 오늘은 신경망 기반의 딥러닝에 대한 기본적인 이야기를 해보려고 합니다. 주어진 데이터를 스스로 학습이 가능하다는 점이 신경망 기반의 딥러닝의 장점이라고 할 수 있는데요. 신경망을 설명하려면 뉴런에 대해서 먼저 간단하게 이해해야 합니다. 뉴런 (neuron) 뉴런의 기본적인 특징을 먼저 살펴보겠습니다. 다수의 뉴런들로 네트워크를 구성합니다. 입력된 값의 합이 임계값을 넘지 않으면 해당 뉴런은 반응하지 않습니다. 입력된 값의 합이 임계값을 넘으면, 다른 뉴런에 일정 강도의 신호를 전달합니다. 여러 뉴런에서 전달되는 신호의 합은 가중치가 각각 다릅니다. 쉽게 말하면, 서로 다른 뉴런으로부터 신호를 받아 가중치에 따라 입력된 값이 임계값을 넘는 경우 연결된 또 다른 뉴런들에게 전달되는 구조입니다.. 2020. 6. 29.
[Python 기초] 기본 자료형 : 딕셔너리 (dictionary) 이번에는 파이썬의 기본 자료형 중 딕셔너리(dictionary)에 대해서 알아보겠습니다! :) 딕셔너리 (dictionary) 딕셔너리는 대응관계를 나타내기 위해 사용합니다. 그러므로, Key-Valuye를 한 쌍으로 저장하게 됩니다. 딕셔너리는 연관배열(associative array) 또는 해시(Hash)라고도 불립니다. 딕셔너리는 앞서 배운 리스트(list)와 튜플(tuple) 처럼 순차적으로 요소 값을 접근하는 것이 아니라, key 값을 통해서 value 값에 접근하는 방식으로 구성됩니다. 딕셔너리 생성 >>> d = {"key1" : "value1", "key2" : "value2"} 딕셔너리를 생성할 때 주의하셔야 하는 점은, key 값에는 변하지 않는 값을 사용해야 한다는 것입니다. 그러므로.. 2020. 6. 29.
[Python 기초] 기본 자료형 : 튜플 (tuple) 이번에는 파이썬의 기본 자료형 중 튜플(tuple)에 대해서 알아보겠습니다. 튜플 (tuple) 튜플은 다양한 값을 함께 저장하는 것은 리스트(리스트에 대한 게시물을 조회하시려면 여길 누르세요)와 유사합니다. 하지만, 리스트와는 다른 2가지의 특징이 있습니다. 중괄호를 쓰는 리스트와는 달리, 튜플은 소괄호 "()"를 사용합니다. 값의 생성, 삭제, 수정이 불가능합니다. 그러므로, 값이 변하지 않기를 바라는 경우 사용합니다. 튜플의 생성은 다음과 같이 합니다. >>> t = () >>> t1 = (1, ) >>> t2 = (1, 2, 3) 여기서 주의하셔야 할 점은, 원소가 1개인 튜플을 생성하는 경우 콤마(,)를 꼭 함께 사용해야 한다는 것입니다. 콤마를 사용하지 않는 경우, 튜플이 아닌, 원소 그 자체.. 2020. 6. 25.
[Python 기초] 기본 자료형 : 리스트 (list) 이번에는 파이썬의 기본 자료형 중, 리스트(list)에 대해 알아보겠습니다. 리스트 (List) 리스트(list)는 다양한 요소를 모아서 저장할 수 있는 자료구조입니다. 리스트 안에는 어떠한 자료형도 삽입할 수 있습니다. 리스트명 = [요소1, 요소2, 요소3, ...] 의 형태로 생성할 수 있습니다. 빈 리스트는 l = list() 형태로 선언할 수 있습니다. >>> l1 = [100, 'hello', [1, 2, 3]] >>> l2 = [] >>> l3 = list() 리스트 연산 1. 리스트 인덱싱 문자열 인덱싱과 동일한 방법으로 수행됩니다. 리스트의 각 요소를 인덱스를 이용해서 접근할 수 있습니다. 이때, 각 인덱스는 0에서부터 시작합니다. 리스트의 뒤에서부터 접근하기 위해서는 - 를 이용해서 접.. 2020. 6. 24.
[Python 기초] 기본 자료형 : 숫자형(number), 문자열(string) 파이썬의 기본 자료형에 대해서 알아보겠습니다! 숫자형 (Number) 1. 정수형 (Integer) 말 그대로 정수 자료형이 있습니다. 양의 정수, 음의 정수, 0을 사용할 수 있습니다. >>> a = 200 >>> b = -200 >>> c = 0 2. 실수형 (Floating point) 실수 자료형이 있습니다. 실수 자료형을 표현하는 데 있어서 두 가지 방식이 있습니다. 첫 번째로는 우리가 일반적으로 사용하는 소수점 표현 방식입니다. >>> a = 20.1234 >>> b = -20.1234 두 번째로는 컴퓨터식 지수 표현 방식입니다. 예를 들어, 1.23E10 은 1.23 * 10^10과 동일한 값을 나타냅니다. >>> a = 1.23E10 >>> b = 1.23E-10 3. 8진수 / 16진수 .. 2020. 6. 22.