전체 글 23

딥 러닝: 배치 사이즈(Batch size), 에폭(Epoch), Activation Function, Overfitting

배치 사이즈(Batch size): 학습 시킬 데이터셋을 한번에 학습하는 것이 비용적, 시간적으로 불리하므로 학습을 용이하게 하기 위해 어떠한 단위로 데이터셋을 쪼개는데, 이러한 단위를 배치라고 한다. 1,000만 개의 데이터를 만 개씩 쪼갠다면, 배치 사이즈는 10,000이고, 이를 1,000번 반복한다. 이러한 과정을 iteration(이터레이션)이라고 한다. 에폭(Epoch): 데이터셋을 반복학습 시키는 만큼의 사이클 수. 1,000만 개의 데이터셋을 5번 학습시켰다면 Epoch은 5이다. Activation Function(활성화 함수) 노드의 임계치(Threshold)가 넘었을 경우에만 다음 노드로 신호를 보내는데 이를 가능하게 하는 함수이다. 예시로 Sigmoid, ReLU 등이 있으며, ac..

CS/ML DL 2021.07.13

딥 러닝: Deep Neural Network 구성 방법

딥러닝에서 네트워크 구조는 크게 세가지로 나누어진다. Input layer(입력층): 네트워크의 입력 부분으로, 학습시키고 싶은 x값이다. Output layer(출력층): 네트워크의 출력 부분으로, 예측한 값 y이다. Hidden layer(은닉층): 입력층과 출력층을 제외한 중간층이다. 풀어야하는 문제에 따라 입력층과 출력층의 모양은 정해져 있으므로, 은닉층의 모양에 집중해야 한다. 은닉층은 완전연결 계층(Fully connected layer, Dense layer)으로 이루어져 있다. 보편적으로 은닉층은 노드의 개수가 늘어났다가 줄어드는 형태를 띈다. 입력층 노드 (4개) - 첫번째 은닉층 노드 (8개) - 두번째 은닉층 노드 (16개) - 세번째 은닉층 노드 (8개) - 출력층 노드 (3개)와 ..

CS/ML DL 2021.07.13

딥 러닝: 딥러닝이란

딥러닝은 머신 러닝으로 기계를 학습하는 방법 중 하나이다. Linear Regression과 Logistic Regression 모두 1차 함수를 이용하여 문제를 풀었지만, 현실에서는 직선으로 설명할 수 없는 문제들이 많다. XOR 문제와 같이. 그러나 이 말을 바꿔 말하자면 비선형으로 풀 수 있는 문제들이 있다는 소리이다. 딥러닝 초기에는 비선형 모델을 만들기 위해 선형 회귀를 여러번 반복하였다. 하지만 선형 회귀를 여러번 반복한다 해도 비선형이 되는 것이 아니어서, 선형 회귀 사이의 비선형을 추가하게 되었다. 이런 방식으로 층(Layer)를 여러 겹으로 쌓게 되었고, 층을 깊게(Deep) 쌓는다고 하여 딥러닝이라고 불리게 되었다. 딥러닝은 주로 Deep nueral networks, Multilaye..

CS/ML DL 2021.07.13

머신 러닝: 전처리 (Preprocessing)

머신러닝을 하기 위해서는 예측값과는 동떨어진 값, 예외를 제거해야 합니다. 이런 식의 예외를 아웃라이어라고 합니다. 아웃라이어 제거, null 값이 들어가 있는 행 제거, 정규화(normalization)과 표준화(Standardization) 등을 전처리(Preprocessing)이라고 합니다. 정규화(Normalization) 정규화는 데이터를 0과 1사이의 범위를 가지도록 만든다. 같은 특성의 데이터 중에서 가장 작은 값을 0으로 만들고, 가장 큰 값을 1로 만든다. 수식은 아래와 같다. 따라서 아래는 정규화하기 전의 데이터와 정규화 후의 데이터를 나타내는 표이다. 이렇게 정규화를 하면 서로 다른 기준을 가진 데이터들을 비교할 수 있게 된다. 표준화(Standardization) 표준화는 데이터의 ..

CS/ML DL 2021.07.12

머신 러닝 : 다항 논리 회귀 (Multinomial logistic regression)

Binary logistic regression은 참이냐 거짓이냐. 수업을 이수했냐 이수 안 했냐. 등과 같이 두 가지만을 분류하는 방법이었다. Multinomial logistic regression에서는 분류하는 클래스가 3개 이상일 경우를 말하는데, 이를 표현하기 위한 Softmax function과 one-hot encoding을 알아보자. 기본적으로 분류되는 클래스는 보통 정수이다. 이를 컴퓨터가 더욱 편하게 사용할 수 있도록 one-hot encoding을 실시한다. one-hot encoding을 실시하면 총 클래스의 개수만큼 element를 가지는 배열로 나타내지는데, 이때 클래스의 인덱스 위치에만 1이고 나머지는 0인 구조이다. B와 같은 경우엔 1번 인덱스를 가진 클래스이고, 총 클래스..

CS/ML DL 2021.07.12

머신 러닝: 로지스틱 회귀의 비용 함수

로지스틱 회귀의 비용 함수는 아래와 같다. 수식만 보면 이해가 잘 되지 않으니 그래프로 확인해보자. 정답이 0일 경우에는 가설 함수로 예측한 값 H(x)가 0일 확률을 1(100%)이 되도록 학습을 시켜야 하고, 1일 확률을 0(0%)으로 되도록 학습을 시켜야 한다. 정답이 1일 경우에는 가설 함수로 예측한 값 H(x)가 1일 확률을 1(100%)이 되도록 학습을 시켜야 하고, 0일 확률을 0(0%)으로 되도록 학습을 시켜야 한다. 그래프를 조금 더 자세히 보자면, Cost가 줄어들수록, 가설 함수로 예측한 값 H(x)가 정답을 나타낼 확률이 높아진다. 그와 반대로, 가설 함수로 예측한 값 H(x)가 정답이 아닌 값을 나타낼 확률이 높아진다면 Cost는 무한대에 수렴한다. 그래서 학습을 하기 위해선 정답..

CS/ML DL 2021.07.12

머신 러닝 : 로지스틱 회귀 (Logistic Regression)

선형 회귀만으로 문제를 해결하려고 하면 이런 결과가 나온다. 결국 선형 회귀로만으로는 현실을 예측하고 문제를 해결할 수 없다. 이러한 것을 해결하기 위해 고안된 것이 로지스틱 회귀이다. 로지스틱 회귀는 위에서 보이는 Sigmoid Function (시그모이드 함수)를 사용하는데, 시그모이드 함수는 아래와 같다. 시그모이드 함수는 입력값(x)이 음수 방향으로 향할수록 출력값(y)이 0에 가까워지고, 입력값(x)이 양수 방향으로 향할수록 출력값(y)이 1에 가까워지고, 여기서 중요한 것은 출력 값은 무조건 0과 1 사이에 존재한다는 것이다. 함수의 내용은 알아두기만 하면 되고, 그래프의 모양을 기억하자. 가설을 이끌어내는 방식이 이런 형태인데, 아래는 내가 정리해본 내용이다. 기존 데이터셋의 y(출력값)를 ..

CS/ML DL 2021.07.12

머신러닝: 용어 정리

회귀(Regression): 연속적인 소수점으로 출력값을 예측하는 경우에 사용한다. 분류(Classification): 불연속적인 출력값을 예측할 경우에 사용 머신러닝(Machine Learning, ML): 머신러닝에는 지도학습, 비지도학습, 강화학습이 있으며, 딥러닝은 인공신경망을 사용하여 학습을하는 머신러닝의 일종이다. 지도 학습(Supervised learning): 정답을 알려주면서 학습시키는 방법 이때, 정답을 표시해주는 작업을 Labeling 혹은 Annotation이라고 한다. 비지도 학습 (Unsupervised learning): 정답을 알려주지 않고 군집화(Clustering)하는 방법 정답값이 없을 경우에 사용되는 방법이지만, Supervised Learning보다 학습이 오래걸리고..

CS/ML DL 2021.07.11

Git, GitHub, Git Bash 사용법

Git = 버전 관리 및 협업을 할 수 있게 하는 프로그램. GitHub, GitLab = 깃으로 버전 관리를 한 내용을 저장하는 서버. Mac에서는 Terminal, Windows에서는 Git Bash로 Git을 사용할 수 있다. Windows에서 사용하는 Git Bash를 알아보자. Working Directory: 현재 작업하고 있는 디렉토리(폴더) Staging Area: 작업물들의 버전이 저장되는 임시 공간. 버퍼라고 생각하면 편하다. Repository: 작업물들의 버전(커밋)이 저장되는 공간. GitHub에 있는 Repository라고 생각하면 좋다. 깃 커밋 타임라인 git config --global user.name "your_name": GitBash 최초 실행시 1회 git conf..

CS 2021.07.10