전체 글
-
[Anomaly Detection] 개요, 확률 분포 기반Learn/머신러닝 2022. 8. 10. 13:10
# Novelty vs Anomaly vs Outlier 비슷한 듯 하지만 다르다. 그런데 우리나라에서는 다 '이상치'로 번역. Novelty - 본질은 같지만 특성이 같은 유형 ex. 일반 호랑이가 정상 데이터일 때 백호는 novelty Anomaly - 대부분의 데이터와 특성이 다른 관측치. - 약간 부정적인 느낌이 있음. ex. 일반 호랑이가 정상 데이터면 라이거는 anomaly Outlier - 대부분의 데이터와 본질적인 특성이 다른 관측치. - 아주 부정적인 느낌. 보통 데이터에서 발견되면 삭제함. ex. 일반 호랑이가 정상 데이터면 사자가 outlier # Anomaly Detection 이상치는 정상 데이터보다 소수 (심한 불균형) > Classification이 잘 되지 않는다! class..
-
[OOP/UML] Use Case DiagramLearn/OOP&UML 2022. 8. 10. 00:38
# Use Case - External Actor가 시스템을 어떻게 사용하는지 - use case는 diagram이 아닌 텍스트 - 3가지 포멧(레벨) : brief -> casual -> fully dressed - Casual: OOA단계에 해당. Main / Alternate Scenario를 구분함. - Fully dressed: OOD단계에 해당. Main / Alternate / Precondition / Extension Scenario를 구분함. - Use case가 곧 functional requirements임. # User Case Diagram - use case를 모아놓은 그림 - 일을 직접 하는 actor를 primary actor, 일을 시키는 사람을 secondary acto..
-
[OOP/UML] UMLLearn/OOP&UML 2022. 8. 9. 00:06
OMG라는 회사에서 만든 Unified Modeling Language # MOF (Meta Object Facility) - Layer M3: Meta-meta model layer (The MOF model) - Layer M2: Meta model layer (The UML meta model) - Layer M1: Model layer (The UML model) - Layer M0: Information layer (the Application) --> 보통 M1에서 모델링, M0에서 구현 # UML Diagrams 보통 2.0을 많이 씀. (Profile Diagram은 2.2에서 추가됨.) Structure / Behavior / Interaction Diagram은 실제 다이어그램이 아니라..
-
[OOP/UML] Object-Oriented DevelopmentLearn/OOP&UML 2022. 8. 8. 00:01
# Software Development 컴퓨터의 소프트웨어로 문제를 푸는 것을 뜻함. 이를 위해 프로그래밍 언어가 필요. - Procedural Programming --> SASD (C) - Object-Oriented Programming --> OOAD (C++, JAVA) # Procedural Programming Procedure: variable을 바꾸는 statement procedure를 얼마나 잘 만드는지가 핵심 algorithm: statement를 언제 어떻게 실행하는지 data structure: 데이터를 어떻게 어디에 저장할 것인지 procedure와 data의 dependency어서 자유롭게 접근하도록 하는게 SASD의 핵심 --> OOAD에서는 그렇지 않음 (Encapsul..
-
[OOP/UML] PrinciplesLearn/OOP&UML 2022. 8. 6. 23:33
# Basic Principles of Object-Oriented 1. Abstraction 2. Encapsulation 3. Inheritance 4. Polymorphism 5. Composition 1. Abstraction 하려는 일에 관련된 것만 남겨두고, 관련 없는건 지우는 것. 2. Encapsulation 내부적으로 어떻게 동작하는지 몰라도 사용할 수 있게 만드는 것. (Information hiding) ex. 자동차 내연기관이 어떻게 작동하는지 몰라도 운전 방법만 알면 가능 get/set을 통해서 데이터를 얻거나 수정 아래 예시에서 client는 interface를 통해서만 데이터에 접근 가능 operation이 어떤식으로 구현(implement)되었는지는 전혀 알 필요 없음. 3...
-
[OOP/UML] Object OrientedLearn/OOP&UML 2022. 8. 2. 23:03
# Object Object는 unique ID, State(attribute), Behavior(operation)이 있어야 함. - State: Object의 상태 --> Encapsulation함 (밖에서 못보게; information hiding) ex. 교수일 경우 --> 이름 / 사번 / 입사일 / 전공 등 - Behavior: Object가 할 수 있는 일 ex. 교수일 경우 --> 수업하기, 학점 결정 등 object는 다른 object의 데이터를 쓸 수 없다. --> 단 get/set 함수가 열려 있으면 가능하다. (object collaboration) # Class object을 만드는 틀 class object들은 같은 attribute, operation을 가진다. (Instant..
-
[통계] 데이터와 표본분포Learn/통계 2022. 5. 18. 00:49
- 2장 읽고 정리하기- sampling 빅데이터 시대가 되면서 샘플링이 필요 없을 것이라고 생각하기 쉽다. 그러나 오히려 좋은 샘플이 더 중요해졌다. sample bias 샘플이 크다고 좋은게 아니다. 실제 미국 대통령 선거에서 1000만의 샘플이 bias가 발생하여 2000 X n개의 랜덤 샘플을 못이겼던 적이 있다. (설문조사 대상 선정 방식에서 bias 발생) 층화표본추출 (stratified sampling) 모집단을 여러 층으로 나눠서 샘플을 추출한다. 가령 백인/흑인/라틴계가 섞인 집단에서 랜덤 샘플링을 하면 라틴계가 너무 적을 수 있다. 그래서 각각의 층에서 샘플링을 할 수 있다. 대량의 데이터가 필요한 경우 예시로 검색 쿼리를 벡터로 표현하면 매우 sparse 하다. 그러므로 데이터가 많..
-
[통계] 탐색적 데이터 분석Learn/통계 2022. 5. 11. 23:52
-1장 읽고 정리하기- 평균 현실의 데이터에는 outlier가 낀 경우가 대부분이다. 늘 습관적으로 중간값을 쓰곤했는데 절사평균도 고려해보자. 절사평균은 scipy.stats의 trim_mean함수를 쓰면 된다. Robust SE쪽에서 많이 쓰던 단어인데 여기서는 outlier에 민감하지 않은 것을 이렇게 부른다. outlier outlier를 언급할 때 자주 비교되는게 noise이다. outlier는 값이 잘못되었다는 뜻이 아니며 때로는 일반 값들보다 더 의미를 가진다. 사실 anomaly detection에서 noise와 outlier를 구분하는건 현실적으로 쉽지 않다. 분산과 표준편차 표준편차는 분산에 루트를 씌운 값이다. 왜 이런걸 만들었을까 생각해본적이 없었는데 루트를 씌우면 원래의 데이터와 같..