전체 글
-
로지스틱 회귀모델(Logistic Regression)Learn/머신러닝 2022. 11. 6. 23:58
# 개요 예측하려는 값이 범주형일 경우 선형회귀를 사용하기 어렵다. 가령 위와 같은 데이터를 점으로 찍으면 아래와 같을텐데 선형으로 적합하기는 어렵다. 이럴 경우 아래와 같이 그룹별로 묶어서 확률을 구하면 아래와 같다. 확률로 접근하면 선형회귀로 접근할 수 있게 되는데 확률이므로 0에서 1의 값을 가지는 아래와 같은 시그모이드 함수가 더 적합하다. 범주 예측은 이런 식으로 로지스틱 회귀모델을 사용할 수 있다. # 로지스틱 함수 로지스틱 함수는 아래와 같다. 특징으로는 x는 -∞에서 ∞값을 가지지만 y값은 무조건 0에서 1사이의 값이 나온다. 다른 특징으로 로지스틱 함수를 미분하면 로지스틱 함수의 곱으로 표현된다는 것이다. 이 특징은 추후에 Gradient learning method에 유용하게 사용된다...
-
Analysis of Variance (ANOVA; 분산분석)Learn/통계 2022. 11. 3. 14:43
# 기본 개념 두 모집단이 있을 때 두 집단의 차이가 있는지를 비교하기 위해서는 Two-sample t test를 사용한다. 예시로 μ₁은 흡연자의 수명, μ₂는 비흡연자의 수명일 때, 귀무가설 H0 : μ₁ = μ₂를 확인하기 위해 Two-sample t test를 사용한다. 그러면 모집단이 세 개 이상이라면? 이 때 ANOVA를 사용한다. # 용어 아래 예시는 공부 방법에 따라 수학 점수가 어떻게 다른지를 보여주고 있다. 확인해보고 싶은 것은 공부 방법에 따라 수학 점수에 차이가 있는지이다. 즉, 귀무가설은 H0 : μ₁ = μ₂ = μ₃ 여기서 공부 방법이 세 가지인데 이를 factor level 또는 treatment라 부른다. 위의 예시를 일반화하면 아래와 같다. 앞으로 용어가 많이 나오므로 잘..
-
카이제곱분포, t분포, F분포Learn/통계 2022. 10. 11. 00:27
# 카이제곱분포 카이제곱분포는 짧게 대략 표현하면 표준정규분포 제곱의 합의 분포라고 볼 수 있다. 카이제곱분포에서는 각각의 확률변수는 아래와 같이 표준정규분포를 따른다고 가정한다. 이 때 각각의 확률변수를 제곱해서 더한 새로운 확률변수 Z는 카이제곱분포를 따른다. 여기서 v는 자유도라고 부르는데 표준정규분포를 몇 개 더했는지를 뜻한다. 밀도 함수는 아래와 같이 생겼다. 당연히 외울 필요는 없다. 평균은 v, 분산은 2v이다. 카이제곱분포는 감마분포에서 α=v/2, λ=2인 스페셜 케이스에 해당한다. ## 자유도 자유도에 대해서는 쉽고 명확하게 설명해주는 책은 없다. 좀 쉽게 컨셉을 설명해보자면 만약 x1, x2, x3, x4, x5의 합이 20으로 이미 정해져있다면, x1, x2, x3, x4를 정하는 ..
-
표본 분포(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를 모두 가지고..