본문 바로가기

Study39

딥러닝 기초 - Perceptron, Gradient Descent 1. Perceptron binary classification을 위한 supervised learning 알고리즘으로, 최근에는 single layer보다 좀 더 복잡한 neural network(multi layer)를 구성하여 deep leaning에서 활용하고 있다. Input layer Weights Bias 복잡한 패턴을 모델링하는데 있어 유연성을 주기 위해 Input layer에 추가하는 data Activation function Input과 bias로 weighted sum하여 output을 결정한다. 주로 sigmoid, ReLu 등 니즈에 맞게 function을 선택하여 사용한다. Output Binary값으로 1 또는 0으로 perceptron의 결과가 나온다. Training al.. 2023. 11. 20.
Python 문서화 (1) - Sphinx 설치 및 docstring 스타일 선택 Sphinx 란? Python documentation 을 위한 오픈소스 프로젝트 입니다. Java Doc 처럼 파일, 클래스, 기능별로 문서화할 수 있으며, comment를 자동 인식하여 기본적으로 html 페이지를 생성합니다. Sphinx에서는 comment를 무조건 다 인식할 수 있는게 아니라 인식할 수 있는 docstring 스타일이 존재합니다. 기본적으로 reStructuredText (rst) 포맷을 주로 사용하지만 Google 스타일도 있기 때문에, 스타일의 차이점과 그에 맞는 설정 방법을 설명 드리도록 하겠습니다. docstring 스타일 기본적으로 주석은 """ 을 사용하며, docstring의 대상은 모듈, 클래스, 함수(메소드) 세 가지입니다. 아래 sum( ) 함수를 예로 들어보겠습.. 2022. 3. 22.
딥러닝 기초 - Underfitting, Overfitting DNN (Deep Neural Network) 란? Neural Network에서 hidden layer가 2개 이상인 경우 (hidden layer가 점점 많아지면)를 DNN이라 함. 사람의 뇌를 닮아서 사람이 할 수 있는걸 전부 할 수 있는 것 같지만 아래와 같은 문제점이 존재. Underfitting : 학습 부족 Slow : 느림 Overfitting : 과하게 학습하여 융통성이 없음 1. Underfitting 해결 방법 Back propagation (오차 역전파) 내가 틀린 정도를 '미분(기울기)' 한 거를 앞 단으로 다시 전달하여 업데이트 Vanish gradient (그래디언트 소실) 현상 발생 activation 함수로 sigmoid 를 많이 사용하는데, 미분 기울기가 없는 곳을 참조하.. 2022. 3. 21.
Python 3 설치 및 가상환경 구축 본 문서에서는 시스템에 설치되어 있는 Python은 그대로 두고 Python3 를 가상환경으로 구축하는 방법에 대해 소개하고자 합니다. 시스템에 설치되어 있는 것을 건드리다 보면 문제가 발생했을 시 롤백하기가 어렵기 때문에, 가상환경을 사용하는 것을 적극 권장합니다 또한, 가상환경을 사용하면, 여러 버전을 동시에 관리할 수 있으므로 프로젝트에 맞게 구분하여 관리할 수 있습니다 여러 OS 중 CentOS에서 설치 방법 입니다. 약간씩 차이가 날 수 있으니 설치 환경에 맞지 않거나 잘못된 경우 공유 부탁드립니다. Requirements yum 패키지 설치 sudo yum -y install gcc gcc-c++ kernel-devel sudo yum -y install openssl-devel zlib zl.. 2022. 3. 18.