2018년 대학생으로의 마지막 여름방학을 보내면서, 작성하는 코드의 Quality를 높이고자 친구와 함께 Robert C.Martin의 Clean Code라는 책을 집어들었습니다. 단순 독서로는 얻은 내용을 까먹을 뿐만 아니라, 적용하지 못할 것 같아서 유용한 내용 혹은 몰랐던 내용을 정리하였습니다!! 생각보다 간단한 내용들일수도 있지만 직접 코딩을 할 때는 놓쳤던 부분들이 많았던 것 같습니다ㅠㅅㅠ 1. 유효한 내용 정리 개인적으로 Interface를 활용한 다형성에서 많은 것들을 느꼈는데 이 부분은 따로 포스팅하도록 하겠습니다:) Flag 값을 Parameter로 주지 마라! 함수는 최대한 작게 만들며 하나의 역할만을 하도록 만들어야 한다. 하지만 Flag값을 인수로 준다는 것은 Flag 검사도 하고,..
본 내용은 Coursera에서 Andrew ng 의 Machine Learning(기계학습, 머신러닝)을 수강한 내용을 정리한 것입니다. 이번 장에서는 Error가 발생한 경우에 무엇을 할지에 대한 접근(Deciding what to try next)에 대해서 알아보도록 하겠습니다. 1. Prioritizing what to work on: Spam Classification Example [ Building a spam classifier ]예를 들어 우리가 Spam Classifier을 만든다고 합시다. 아래의 왼쪽은 y=1인 스팸메일이고, 아래의 오른쪽은 y=0으로 스팸메일이 아닙니다. 이러한 이메일들이 무수히 많다고 할 때, Supervised Learning을 사용하여 어떻게 이것을 구분할 수 ..
본 내용은 Coursera에서 Andrew ng 의 Machine Learning(기계학습, 머신러닝)을 수강한 내용을 정리한 것입니다. 이번 장에서는 Error가 발생한 경우에 무엇을 할지에 대한 접근(Deciding what to try next)에 대해서 알아보도록 하겠습니다. 1. Deciding what to try next[ Debugging a learning algorithm ]$$ J(\theta) = \frac{1}{2m} \sum_{i=1}^{m} \left( h_\theta( x^{(i)}) - y^{(i)} \right)^2 + \lambda \sum_{i=1}^{100} \theta_j^2 $$ 예를 들어 집값을 예측하기 위해 Regularized Linear Regression..
본 내용은 Coursera에서 Andrew ng 의 Machine Learning(기계학습, 머신러닝)을 수강한 내용을 정리한 것입니다. 이번 장에서는 Cost Function of Neural Networks(신경망의 비용함수)와 Backpropagation(역전파)에 대해서 알아보도록 하겠습니다. 1. Cost Function[ Neural Network (Classification) ] 우리는 이제 Training Set이 주어졌을 때 Neural Network(신경망)의 Cost Function과 그 Parameter $\theta$ 를 구해주어야 합니다. 예를 들어 위의 그림과 같은 Neural Network와 ${ (x^{(1)}, y^{(1)}), ..., (x^{(m)}, y^{(m)}) ..
본 내용은 Coursera에서 Andrew ng 의 Machine Learning(기계학습, 머신러닝)을 수강한 내용을 정리한 것입니다. 이번 장에서는 Neural Networks(뉴럴 네트워크, 신경망)에 대해서 알아보도록 하겠습니다. 1. Non-linear Hypothesis[ Non-linear Classification ] 위와 같은 Classification 문제를 해결하기 위해서는 Non-linear Decision Boundary가 필요합니다. 물론 Logistic Regression을 이용해서 이 경계를 만들 수 있지만, Logistic Regression은 Feature의 개수가 많아질수록 식을 위해 필요한 1, 2, 3, .... n차원의 항이 기하급수적으로 늘어날 뿐만 아니라 Ove..