
역전파와 경사하강법의 차이점 역전파와 경사하강법은 같은 것인가? 가중치와 편향을 업데이트하기 위해서 사용한다는 것이 비슷해서 헷갈리는 역전파와 경사하강법. 과연 같은 것일까? 찾아보았다. 경사하강법 : 비용함수가 최소가 되도록 가중치와 편향을 찾는 최적화 알고리즘. 역전파 : 신경망의 기울기를 계산하는 알고리즘. 즉, 경사하강법은 비용함수가 최소가 되도록 하는 가중치와 편향을 찾기위해 역전파(신경망 기울기 계산) 를 사용할 수 있는 것이다. 결론 : 역전파와 경사하강법은 똑같지 않으며 경사하강법이 역전파를 이용하는 관계다. 참고 What is the difference between gradient descent and back propagation in deep learning? Are they not..

Clean Code 1. 깨끗한 코드 의도를 분명하게 이름을 지으라. 나쁜 예 int d; 좋은 예 int elapsedTimeDate; int daysSinceCreation; 코드의 맥락이 코드 자체에 명시적으로 드러나게 하여 정보를 충분히 제공해야한다. 그릇된 정보를 피하자 일관성을 유지하여 깔끔한 정보를 주자. 미리 정해진 예약어는 피해서 깔끔한 정보를 주자. l과 1, o와 0과 같이 헷갈릴 수 있는 문자를 피하자. 불용어를 쓰지 말자. class라는 이름을 이미 사용하고 있어서 klass라고 하고싶은가? 하지말자. 불용어는 중복이기도 하다. money와 moneyObject가 있다면 무엇을 뒤져야 하는지 헷갈리지않겠는가! 쓰지말자. 발음하기 쉬운 이름을 사용하자. 프로그래밍은 사회활동이다. a..

Gradle Gradle이란? 그루비(Groovy) 기반의 빌드 자동화 오픈 소스 빌드 스크립트를 xml이 아닌 그루비(Grooby)로 작성한다. 그루비(Groovy)란? 특정 도메인에 특화된 언어인 DSL(Domain Specific Language) JVM 위에서 돌아가며 Java에 파이썬,루비 등의 특징을 얹었기 때문에 Java와 문법이 유사하다. Gradle wrapper를 이용하여 gradle이 설치되어있지 않아도 사용 가능(버전도 신경쓰지않아도 됨) 확장성이 뛰어나다. Gradle vs Maven Gradle의 Groovy 언어를 이용한 스크립트 작성 vs Maven의 xml 작성 Gradle의 주입 방식 vs Maven의 상속 방식 Gradle이 Maven보다 빌드속도가 더 뛰어나다. Gra..