Learn
-
표본 분포(Sampling Distribution)Learn/통계 2022. 10. 10. 14:46
# 모집단과 표본 population : 모집단 (전체) sample : 모집단의 일부 통계 : 표본을 이요하여 모집단의 특성을 파악하는 학문 모집단, 표본의 평균과 분산은 아래와 같은 기호를 쓴다. # 통계량 통계학에서 가장 중요한 세 개의 함수는 아래와 같다. ① 확률 변수 ②확률 함수 ③ 통계량 크기가 n인 샘플을 뽑았을 때 이 샘플들에 대한 함수를 통계량이라고 부른다. 아래와 같이 표본 평균, 표본 분산이 대표적인 통계량이다. # 표본 분포 (Sampling Distribution) 통계량의 분포를 뜻한다. (표본 평균, 표본 분산) 모집단의 분포를 N(μ, σ²)라 가정하고 각각의 샘플들도 같은 분포로 뽑았다면 (i.i.d. : independent identically distributed) ..
-
선형 회귀 (Linear Regression)Learn/머신러닝 2022. 10. 9. 16:23
# 개요 Y를 X의 선형결합으로 표현한 모델 선형 결합이란 변수들을 더하기 빼기를 통해서 결합하는 것을 뜻한다. X와 Y의 관계를 설명하고 더 나아가 예측한다. x로 설명할 수 없는 부분을 표현하기 위해 ε이 필요하다. ε은 확률오차(random error)라고 부른다. ε은 정규 분포를 따른다는 가정이 필요하며 그렇지 않으면 올바른 모델이 아니다. 마찬가지로 Y도 정규분포를 따른다. (상수+ε이 되므로) # 파라미터 추정 우리는 아래와 같이 실제 점과의 거리가 가장 가까운 직선을 찾아야 한다. 거리 차이의 합이 0이 되지 않게 하기 위해 제곱을 해서 더한다. 이 거리를 최소화하는게 최종 목적인데 수식으로 표현하면 아래와 같다. 선형 회귀는 이차식이므로 전역 최적해 (globally optimal sol..
-
[Design Pattern] MVC PatternLearn/Architecture 2022. 9. 25. 20:46
# 개요 Model-View-Control Pattern Model - application object View - UI Controller - UI가 사용자의 입력에 어떻게 반응하는지 여러 디자인 패턴들이 적용된 Compound Pattern # 구조 View와 Controller(UI)는 API를 통해 Model(Non-UI)에 접근할 수 있다. Non-UI는 UI를 잘 알지 못하게 한다. 같은 데이터로도 여러 UI가 있을 수 있으므로 Non-UI에 비해 UI가 많다. UI쪽이 변화가 있을 때 마다 Non-UI가 영향을 받으면 변경이 너무 잦게 된다. 점선은 실선보다 커플링이 약한 상태를 의미한다. # Patterns in MVC Observer pattern (Model - View) 모델과 뷰 ..
-
[Design Pattern] Bridge PatternLearn/Architecture 2022. 9. 25. 07:58
# 문제 상황 사각형을 그리는 라이브러리가 있다고 가정해보자. (Drawing Program) 그리는 방식이 두 가지가 있다고 하면 아래와 같이 abstract class를 구성할 것이다. 그런데 추후에 사각형 뿐만 아니라 원도 추가될 것으로 예상된다면? 아래와 같이 Shape이라는 클래스로 추상화를 한 단계 더 할 수 있다. 문제는 다른 종류의 도형이 계속 추가된다고 가정했을 때 도형 하나 당 3개의 클래스가 늘어나므로 클래스가 너무 많아질 수 있다. # 해결 원인: Abstraction과 Implementation의 커플링이 너무 심하다. 해결: Abstraction과 Implementation을 분리한다. 공통적인 것은 abstract class에, variation은 concrete class에 ..
-
[Design Pattern] Composite PatternLearn/Architecture 2022. 9. 25. 01:16
# 개요 계층(Hierarchy)이 있는 객체들을 동일하게 다루기 위해 사용하는 패턴 위와 같이 계층이 있을 경우 아래와 같이 계층에 따라 다르게 핸들링하지 않기 위한 패턴이다. if ( current instanceOf(MenuItem)) // … handle Menu Item in a way else if (o instanceOf(Menu)) // … handle Menu in another way # Composite Pattern 아래와 같이 Decorator Pattern과 유사하게 디자인 할 수 있다. 클라이언트는 MenuComponent를 통해 MenuItem과 Menu에 동일하게 접근할 수 있다. Decorator Pattern처럼 Association, Inheritance를 모두 가지고..
-
[Design Pattern] Decorator PatternLearn/Architecture 2022. 9. 24. 17:07
# 개요 이미 존재하는 객체를 dynamic wrapping하여 책임과 행동을 추가하는 패턴 wrapping한 객체에 새로운 기능을 추가 # 문제 상황 아래는 커피숍에 대한 예시이다. 만약 새로운 첨가물을 추가하고 싶다면 아래와 같이 할 수 있다. 그러나, 클래스가 너무 많다. 물론 attribute로 표현하면 클래스가 늘어나는 것은 막을 수 있다. 그러나 Beverage는 상위 클래스이므로 변경이 잘 없어야 하지만 아래와 같이 변경이 일어날 때 마다 cost함수 변경이 필요하다. (OCP 위반) public class Beverage { protected String description; boolean milk, soy, mocha, whip; public float cost () { float co..
-
[OOP/UML] UP - Elaboration 단계 / OOILearn/OOP&UML 2022. 9. 21. 23:57
OOA와 OOD에서 만든 Domain Model, Design Model을 바탕으로 Implementation하는 단계 # Designing for Visibility 다른 객체에게 보여지거나 레퍼런스를 가지는 것을 Visibility라고 한다. 아래와 같이 A가 B에게 메시지를 보내려면 B는 반드시 A에게 visible해야 한다. Visibility는 Class Diagram을 그리거나 구현을 통해 확보할 수 있다. ## Visibility를 확보하는 4가지 방법 1. Attribute visibility B는 A의 attribute 아래와 같이 catalog를 가지고 있으면 된다. 2. Parameter visibility B는 method A의 parameter return으로 operator가 끝..
-
[OOP/UML] UP - Elaboration 단계 / OODLearn/OOP&UML 2022. 9. 21. 00:24
Elaboration 단계 중 앞 OOA 단계에서 Domain Model 및 Use-Case Model을 작성하였다. 그 다음은 OOD 단계로 Design Model을 작성하는데 Sequence Diagram을 그리고 Class Diagram을 그린다. OOA에서 OOD로 넘어갈때는 아키텍쳐가 확정되어 있어야 한다. # Logical Architecture Logical architecture란, 소프트웨어 클래스를 package, subsystem, layer로 묶어놓은 것을 뜻한다. UML Package Diagram으로 그린다. ## Layered Architecture 보통 아래와 같이 구성된다. 1. User Interface layer 흔히 아는 UI 레이어 External User가 여기로 ..