반응형

전체 글 241

[기초통계] 분산이란? 표준편차란? (What is Variance and Standard Deviation?)

이전 포스팅에서는 자료의 분포를 파악하는 방법으로 중심의 측도를 소개했다. >> 평균 vs 중앙값 vs 최빈값 바로가기 중심위치를 아는 것은 분포를 파악하는데 있어서 중요한 요소이기는 하지만, 중심 위치만으로는 분포를 파악하는데 부족한 점이 많다. 예를 들어, 다음 그림을 보자. 1234ggplot(data.frame(x = c(-5, 5)), aes(x=x)) + stat_function(fun=dnorm, args=list(mean=0, sd=2)) + stat_function(fun=dnorm, args=list(mean=0, sd=1)) + theme_bw() Colored by Color Scriptercs 두 분포의 중심위치는 같지만, 분포의 퍼진 정도가 다르다. 따라서 본 포스팅에서는 퍼진 ..

AI/기초통계 2019.09.19

[R] R에서 eval() 함수로 표현식 실행하기 (eval in R)

R에서 eval() 함수로 character expression 실행하기(execute r-code stored in a string variable) for문을 통해 반복하면서 특정 문자만 바꾸어 무언가를 실행하고 싶은 경우가 있다.예를 들면, 회귀분석에서 들어가는 feature를 바꾼다던가, 데이터의 모든 컬럼에 대해 그래프를 그릴때 등이다.그 때, eval 함수를 이용할 수 있다. 다음은 eval 함수 예제코드이다. 12a class(a)"character" > b10 > class(b)"numeric" 이는 for문에서 다음과 같이 활용될 수 있다.5개의 컬럼을 가진 데이터의 각 컬럼에 대해 ggplot으로 그림을 그려본다고 가정하자. 코드는 다음과 같다. 12345678910library(ggp..

R 2019.09.18

[R] R에서 문자열 합치기 or list의 모든 element 하나로 합치기 (paste in R)

R에서 문자열 or list 한 문자열로 합치기 (Convert list into a string in R)(Concatenate vectors after converting to character in R) R에서 특정 문자열을 하나로 합치고 싶을 때가 있다. 이때 paste or paste0 함수를 사용하면 된다.paste에는 두 가지 형태의 함수가 있다. paste (..., sep = " ", collapse = NULL)paste0(..., collapse = NULL) paste는 나열된 원소 사이에 공백을 기본으로 두고 출력하며, paste0는 공백없이 출력한다.이때, sep 및 collapse는 각 원소 사이를 구분하는 파라미터이다. 자세한 예제는 아래서 설명하겠다. 1. 묶여있는 원소 하..

R 2019.09.17

[밑바닥부터 시작하는 딥러닝] 파이썬으로 신경망 순전파 구현하기 (Neural Network forward propagation in python)

지난 포스팅에서는 신경망과 활성화 함수에 대해 알아보았다. >> 신경망이란? 바로가기>> 활성화함수란? 바로가기 이번에는 파이썬에서 3층으로 이루어진 신경망의 순방향(입력부터 출력까지)을 구현하는 방법에 대해 알아보겠다. 파이썬으로 뉴럴 네트워크 Feed Forward 구현하기 다음과 같은 3층 신경망을 구현하겠다. input layer (0층)는 2개, 첫 번째 hidden layer (1층)는 3개, 두 번째 hidden layer (2층)는 2개, output layer (3층)는 2개의 노드로 구성된다. 1. 0층 -> 1층 입력층 (0층) 에서 첫 번째 은닉층 (1층) 으로 가는 신호는 다음과 같다.a1을 식으로 나타내면 다음과 같다.이를 다시 일반화 하면 다음과 같다. 즉, input laye..

[밑바닥부터 시작하는 딥러닝] 활성화함수란? 활성화 함수의 종류, 역할 및 구현 in python 파이썬 (What is activation function?)

지난 시간에 신경망이란? 에 대해 알아보았다. >> 신경망이란? 바로가기 이번에는 신경망의 특징 중 하나인 활성화 함수에 대해 알아보겠다. 활성화함수란? What is activation function? 활성화함수(Activation Function)란? 입력 신호의 총합을 출력 신호로 변환하는 함수로, 입력 받은 신호를 얼마나 출력할지 결정하고 Network에 층을 쌓아 비선형성을 표현 할 수 있도록 해준다. Activation Function을 자세히 설명하기에 앞서 퍼셉트론에 대해 복습해 보겠다. >> 퍼셉트론이란? 바로가기>> 퍼셉트론으로 논리회로 구현하기 바로가기>> XOR 게이트로 알아보는 퍼셉트론의 한계 바로가기>> 퍼셉트론으로 XOR 게이트 구현하기 바로가기 x1과 x2라는 두 신호를 입..

[밑바닥부터 시작하는 딥러닝] 신경망이란? (What is neural network?)

지난 포스팅에서는 신경망의 근간이 되는 퍼셉트론에 대해 알아보았다. >> 퍼셉트론이란? 바로가기>> 퍼셉트론으로 논리회로 구현하기 바로가기>> 퍼셉트론의 한계 바로가기>> 퍼셉트론으로 XOR 게이트 구현하기 바로가기 이번에는 신경망에 대해 알아보겠다. 신경망이란? What is neural network? 앞서 리뷰했던 퍼셉트론(perceptron)과 신경망(neural network)은 매우 비슷하다. 그러나 다른점은 퍼셉트론은 가중치(w, b)를 수동적으로 지정해줘야하지만, 신경망은 스스로 학습하여 그 값을 찾아낼 수 있다는 점이다. 신경망의 구조는 다음과 같다. 가장 왼쪽 노드들을 입력층(input layer), 가장 오른쪽 노드들을 출력층(output layer), 중간 노드들을 은닉층(hidde..

[밑바닥부터 시작하는 딥러닝] 퍼셉트론으로 XOR 게이트 구현하기 in python 파이썬

지난 시간에 퍼셉트론의 한계에 대해 공부했다. >> 퍼셉트론이란? 바로가기>> 퍼셉트론으로 논리회로 구현 바로가기>> 퍼셉트론의 한계 바로가기 이번에는 퍼셉트론으로 XOR 게이트를 구현하는 방법에 대해 알아보겠다. 파이썬에서 perceptron으로 XOR gate 구현하는 방법 퍼셉트론 하나로는 XOR 게이트를 구현 할 수 없었다. 그렇다면 퍼셉트론으로 XOR 게이트를 표현하는 방법은 무엇일까?바로 퍼셉트론을 여러 층 쌓아 다층 퍼셉트론(multi-layer perceptron)으로 비선형성을 만드는 것이다. 퍼셉트론을 쌓기에 앞서, XOR 게이트를 NAND, OR, AND 게이트로 쪼개보면 다음과 같다. input x1과 x2에 대해 NAND 게이트의 결과와 OR 게이트의 결과를 다시 AND 게이트에 ..

[밑바닥부터 시작하는 딥러닝] 퍼셉트론의 한계 - XOR 게이트 (limit of perceptron - XOR gate)

지난 포스팅에서 퍼셉트론과 퍼셉트론으로 논리회로 구현하는 방법에 대해 알아보았다. >> 퍼셉트론이란? 바로가기>> 퍼셉트론으로 논리회로 구현하기 바로가기 이번에는 퍼셉트론의 한계에 대해 알아보겠다. 퍼셉트론의 한계 - XOR 게이트 퍼셉트론은 직선으로 나뉜 두 영역을 만든다.AND, NAND, OR gate 같은 경우 나뉜 한 쪽 영역은 1을, 나머지 영역은 0을 출력한다. 예를들어 OR gate의 경우 다음과 같다. 입력이 (0,0) 일 때 0을, (0,1), (1,0), (1,1) 일 때 1을 출력한다. 그렇다면, XOR 게이트는 퍼셉트론으로 어떻게 구현할 수 있을까?즉, 하나의 직선으로 0과 1을 어떻게 나눌 수 있을까? 정답은 "하나의 직선만으로는 불가능"이다. 아래의 그림에서 하나의 직선만으로 ..

[밑바닥부터 시작하는 딥러닝] 파이썬으로 논리회로 구현하기 (AND, NAND, OR gate with perceptron in python)

지난 시간에는 퍼셉트론이란 무엇인가에 대해 알아보았다.이번에는 퍼셉트론으로 AND, NAND, OR 게이트 구현하는 방법에 대해 알아보겠다. >> 퍼셉트론이란? 바로가기 perceptron으로 AND, NAND, OR 게이트 구현하기 in python 1. AND 게이트 AND 게이트의 진리표는 다음과 같다. 이를 퍼셉트론으로 구현하기 위해서는 해당 input에 대한 output이 나오도록 w1, w2, θ 값을 정해야 한다.이를 만족하는 (w1, w2, θ)의 조합은 (0.5,0.5,0.7), (0.5,0.5,0.8), (1,1,1) 등 무수히 많다. 1.1 이를 파이썬에서 perceptron으로 구현하면 다음과 같다. 123456789101112def AND(x1,x2): w1,w2,theta=0.5..

[밑바닥부터 시작하는 딥러닝] 퍼셉트론이란? (What is perceptron?)

>> 퍼셉트론으로 논리회로 구현하기 바로가기 퍼셉트론(perceptron)이란? 퍼셉트론은 신경만(딥러닝)의 기원이 되되는 알고리즘으로 매우 중요한 알고리즘이다. 퍼셉트론은 다수의 신호를 입력으로 받아 하나의 신호를 출력한다.즉, 하나 이상의 값들을 input으로 받아 어떠한 계산 후 output으로 출력한다.퍼셉트론 신호는 1 or 0의 두 가지 값을 가질 수 있다. 신호가 흐르면 1, 흐르지 않으면 0이라 생각하면 편하다. 예를 들어, input이 2개인 perceptron은 다음과 같다. x1과 x2는 입력 신호, y는 출력 신호, w1과 w2는 가중치를 의미한다. (w : weight) 입력 신호와 출력 신호를 담고있는 원은 노드 혹은 뉴런이라 부른다.입력 신호가 뉴런에 보내질 때는 각각 고유한 ..

반응형