본문 바로가기

딥러닝4

Scikit-Learn vs. TensorFlow Goal 1. Scikit-learn과 TensorFlow의 차이 알아보기 2. Scikit-learn과 TensorFlow의 장담점 알아보기 Scikit-Learn vs. TensorFlow 쉽게 설명했을 땐 Scikit-learn은 이미 만들어진 머신러닝 알고리즘을 이용하고 싶을 때 흔히 사용하는 라이브러리이고, TensorFlow란 머신러닝 알고리즘을 만들기 위한 레고 블록 같은 느낌이라고 생각하면 된다. 비교 대상 Scikit-learn TensorFlow 머신러닝 알고리즘을 레고로 설명한다면 이미 레고로 잘 만들어진 모형이므로 바로 갖고 놀 수 있음 레고 블록들만 주어져서 내가 직접 만들고 싶은걸 만들어 놀아야 함 예시 SVM, Random Forests, Logistic Regression, .. 2023. 6. 1.
역전파(Backpropagation) 이해하기 Goal 1. 역전파(Backpropagation)의 기본적인 원리 이해하기 2. 역전파 계산 논리 알아보기 딥러닝을 공부하면 역전파(backpropagation) 개념을 피해갈 수 없는데 알고나면 생각보다 어렵진 않다! 그리고 딥러닝 모델을 만드는데 정말 중요한 개념이라는걸 알 수 있다. 역전파(Backpropagation)란? 딥러닝 모델이 출력한 예상 값과 실제 값에는 차이가 있다. 간단하게 예를 들자면 고양이 사진을 input으로 넣었을 때 딥러닝 모델이 고양이가 아니라고 예측(0 이라고 예측)한다면 실제 값인 고양이가 맞다(1 이라는 값)과는 1 - 0 = 1 의 차이가 있다. 이러한 실제 값과 예상 값의 차이를 줄여나가기 위해 역전파(backpropagation)를 이용하게 된다. Loss f.. 2023. 5. 24.
파이썬 벡터 사용하기 Goal 1. 딥러닝에서 벡터화(vectorization)의 장점 알아보기 2. 파이썬의 다양한 벡터화 연산 코드 알아보기 벡터화(Vectorization)을 사용하는 이유 딥러닝에선 엄청 많은 양의 데이터를 다루게 된다. 이 때, 많은 양의 데이터간에 곱셈와 같은 어떤 연산을 하게 되면 시간이 너무 오래 걸리는게 큰 문제가 된다. 예를 들어, 각각 백만개의 숫자를 가진 a와 b 배열에서 a와 b간의 모든 숫자를 곱하여 더해야한다면 일반적으로는 for문을 통해 할 수 있을 것이다. 하지만 시간이 너무 오래 걸리기 때문에 이럴 때 파이썬 numpy 라이브러리에 내제되어 있는 벡터 함수들을 사용하면 아주 빠르게 같은 작업을 수행할 수 있다! import numpy as np import time a = np.. 2023. 5. 13.
딥러닝 표준 기호 Goal 1. 딥러닝 논문에서 흔히 사용하는 표준 기호 알아보기 딥러닝 표준 기호 딥러닝을 설명할 때 흔히 수학 기호를 볼 수 있는데 하나씩 알아보자! 기본적인 기호 x(1), x(2), ... x(m) 값들은 각각 몇만개의 데이터값들을 가질수 있기 때문에 매트릭스 형태로 바꾸어 표기하는게 훨씬 간편하다. X 매트릭스는 m개의 열과 nx개의 행을 가지게 된다. 이것을 수학 기호로는 이렇게 표기한다: 이 정보를 파이썬으로는 이렇게 얻는다: print(X.shape)# (nx, m)가 출력된다. Y 매트릭스는 이렇게 표기한다: 수학 기호로 표기하면 이렇게: print(Y.shape)# (1, m)가 출력된다. 보시다시피 X와 Y 매트릭스 둘 다 m개의 열을 가지고 있다. 즉, m개의 데이터로 모델 학습을 한.. 2023. 5. 11.