목록전체 글 (431)
mojo's Blog
GRASP ※ GRASP- General Responsibility Assignemnt Software Patterns- Craig Larman's 9 principles- OOAD를 사용하여 소프트웨어를 구성하는 일반적인 작업을 의미함도메인 모델을 만들다디자인 모델을 만든다소프트웨어 클래스에 attribute 및 method 를 추가한다객체들 간의 interaction 을 정의한다 ※ Modularity- 시스템을 모듈로 분할하고 컴포넌트 간에 책임을 할당함- 모듈화는 프로그래머가 한 번에 처리해야 하는 전체 복잡성을 줄여줌- 유사한 기능을 함께 그룹화하는 방식으로 모듈에 기능을 할당함 (Separation of Concerns)- 모듈 사이에 작고 단순하며 잘 정의된 인터페이스가 있음 (Informa..
Single Responsibility Principle (SR.P) 클래스는 변경해야 할 이유가 단 하나뿐이여야 한다. ※ Responsibility- 책임이 많아질수록 변화 가능성이 많아짐- 클래스 변경이 많아지면, 버그가 나타날 가능성이 높아짐- 결국 변화는 다른 사람들에게 영향을 줄 수 있음 ※ SR.P- 결합된 책임들을 별도의 클래스로 분리함 SR.P 위반 케이스로 Rectangle 클래스는 두 개의 책임을 가지고 있다. (낮은 응집력)(1) CGA 전용 area() (2) GA 전용 draw()일관된 개념 표현이 아닌, 응집력을 고려하지 않고 필요한 기능을 묶어버렸다.Geometry와 Graphical은 자연스럽게 함께 속하지 않는 것이 맞다. 결합된 책임들을 별도의 클래스로 분리하였다.(..
※ 추상적 데이터 유형 (Abstract Data Type)- 데이터 및 관련 작업을 하나의 구문 단위로 캡슐화- 단일 구문 단위 : 프로그램 구성, 수정 가능성(데이터 구조와 관련된 모든 것) 및 별도의 컴파일을 향상- 캡슐화 : 데이터 표현을 숨김으로써 사용자 코드가 유형 객체에 직접 접근하거나 표현에 의존할 수 없으므로 사용자 코드에 영향을 주지 않고 표현 변경 가능 ※ 상속 (Inheritance)클래스 Y가 클래스 X에 속하는 경우 (Y -> X)- Y는 X의 모든 메서드를 상속함- Y는 X로부터 모든 데이터를 상속받음- 타입 X의 인스턴스가 예상되는 곳 어디서나 Y의 인스턴스를 사용할 수 있음 ※ 다형성 (Polymorphism)작업이 다른 클래스에서 다른 방식으로 수행될 수 있는 객체 ..
Cross-Validation ※ Hold-out Method Divide a given data into a training set and a test set. - The training set and the test set should NOT overlap each other. How to choose a good model? - With the training set, build each model. - With the test set, evaluate each model. - Choose the model which shows the best performance with the test set. 훈련용 데이터와 테스트용 데이터는 중복이 허용되면 안된다. 훈련용 데이터를 통해 학습이 완료된 모델을..
The Overfitting Problem ※ Polynomial Curver Fitting Which order polynomial does best fit for the data? \(f(x) = w_{0} + w_{1}x + ... + w_{M}x^{M} = \sum_{i=0}^{M} w_{i}^{T}x^{i}\) 다항식은 M차원으로 표현되며 주어진 data를 얼마나 잘 표현하는지, 주어진 data에 적합한지를 찾는 문제가 있다고 할 때, 과연 몇 차원의 다항식을 활용하는 것이 주어진 data를 가장 잘 표현하는 것인지를 해결해야 한다. 또한 차원이 주어진다면, w 값을 또한 어떻게 선택해낼 것인지도 문제이다. We want to minimize the sum-of-squared error func..
Multinomial Logistic Regression ※ Multinomial Logistic Regression It is a classification method that generalizes logistic regression to the multiclass problem, i.e. with more than two possible discrete outcomes. -> Also called softmax regression and multinomial logit Example - Which major will a student choose, given a status of the student? - Which blood type does a person have, given the resul..