분류 전체보기 51

[Machine learning] Tree-based Methods: Bagging, Random Forests & Boosting

오늘 공부할 내용은 저번에 공부한 Decision Tree의 성능을 향상하기 위한 방법이다.https://ysk1m.tistory.com/45 [Machine learning] Tree based Methods: Decision Tree로 Regression과 Classification하기Tree-based Methods분류와 회귀 작업 모두에 사용 가능하며, 입력공간을 재귀적으로 분할하여 단순한 영역으로 나눈다.이 방법은 시각적으로 이해가 쉽고, 해석력 높은 모델을 만들 수 있다. 단, 정ysk1m.tistory.com사실 오늘 정리한 내용은 Decision-Tree뿐만 아니라 machine learning의 성능을 향상하기 위한 general 한 method이다. 실제로 연구할 때는(paper를 쓸 ..

[Machine learning] 머신러닝에서 사용하는 통계적 오차 측정 지표의 차이 알아보기

처음 Machine learning을 공부하면 RSS, MSE, RSE에 대한 개념이 헷갈릴 것이다.뭔가 비슷한 것 같은데 셋의 정확한 차이는 뭘까?그 개념을 여기서 확실하게 짚고 넘어가고자 한다. RSS(Residual Sum of Squares)말 그대로 잔차를 모두 더한 것이다. 오차를 제곱해서 더한 것으로 데이터 point가 늘어날수록 RSS값도 끊임없이 늘어난다.그렇기 때문에 성능을 비교하는데 쓰기에는 단위가 너무 크다.또한 샘플 수가 다르면 비교가 어려워 단지 수식 유도를 위한 분석을 할 때 중간단계에서 많이 사용한다. RSE(Residual Standard Error)표준오차라고 불리는 값으로 예측값이 실제값으로부터 얼마나 떨어져 있는지를 나타내는 것이다.그렇기 때문에 작을수록 좋다.RSS는..

[빅데이터 및 지식관리시스템] ER Data Model과 Logical DB Design 공부내용 정리

ER Data ModelER Data model만으로는 데이터를 조작하거나 검색하는 기능이 없다.또한 query언어도 없다. 그러나 시각적으로 구조를 표현하기 쉽기 때문에 논리적 데이터 베이스 스키마 설계에 매우 유용하다.How to design the DatabaseRequirement analysis: 사용자 그룹과 비공식적인 논의를 통해 요구사항을 분석한다.Conceptual Design: ER 다이어그램을 이용하여 Entity(데이터의 주요 객체), Relationship(관계), Constraints(무결성)을 설계한다.Logical Design: PK, FK, Check, Assertion 등을 통해 제약조건을 설계하여 schema로 변환한다.Physical Design: Create Tabl..

Computing 2025.04.15

[Machine learning] Confounding Effect, Interaction Term, MultiCollinearity의 차이

종속변수들 간 종속변수와 독립변수들 간의 관계에 대해 나타내는 용어이고 공부할 때 헷갈려서 정리를 하려 한다. MultiCollinearity이 경우는 종속변수들의 관계만 생각하자.종속변수 feature들 간의 상관관계가 있는 것이다. linear regression의 경우 \(\beta\)에 대해 closed form이 있는데 식이 \((X^TX)^{-1}\)으로 구성돼있다.즉 feature \(x\) 간의 correlation이 있는 경우 \(\beta\)에 대한 추정이 불안정해지는 것이다. 따라서 서로 correlation이 강한 feature가 있다면 feature를 제거하는 것이 문제를 해결하는 방법이다. Confounding EffectCofounding Effect는 \(Y\)에 영향을 주는..

[C++] Copy Semantics과 Move Semantics에 대해서 알아보기

Copy 또는 Move를 할 때 shallow 하게 하기 때문에 error가 뜰 가능성이 있다.이는 semantic 전체를 copy하지 않고 주소만 복사했기 때문이다. 따라서 deep copy를 하면 shallow copy로 인한 문제를 해결할 수 있으나deep copy만의 문제가 있고 이를 해결하기 위해서는 Move라는 방법을 이용할 수 있다.Copy SemanticsNon-temporary object으로 object를 initialize 하거나 update 할 때 사용하는 것이 copy이다.또는 Non-temporary object를 함수에 통과시킬 때 Copy가 일어난다. Copy constructor와 Copy operation 두가지 방법이 있는데 둘의 차이점과 예제를 알아보겠다.Copy Co..

Computing 2025.04.11

[C++] C++에서 class 배우기

Class클래스는 기존 C의 abstraction과 modularity가 부족한 것을 해결하기 위해 통합된 것으로 C++의 중심적인 기능으로 자리 잡았다.class는 data information과 procedural information으로 구성된다.data information을 attributes, data field라고 하며 Procedural information을 method, function이라 한다. Object는 data attribute와 behavior를 포함하는 개념으로 class에서 구체적으로 실현하는 Runtime instance이다. C에 class와 유사한 structure라는 구조가 있다. structure는 단순히 데이터를 묶는 컨테이너로 함수(method, behavio..

Computing 2025.04.10

[Machine learning] Tree based Methods: Decision Tree로 Regression과 Classification하기

Tree-based Methods분류와 회귀 작업 모두에 사용 가능하며, 입력공간을 재귀적으로 분할하여 단순한 영역으로 나눈다.이 방법은 시각적으로 이해가 쉽고, 해석력 높은 모델을 만들 수 있다. 단, 정교한 supervised model에 비해 예측 정확도 면에서 성능이 떨어진다.이 것을 해결하기 위한 방법으로 bagging, random forests, boosting이 있다.이 내용에 대해서는 다음에 공부하도록 하겠다. Tree-based model에 Decision tree가 있으며, 오늘은 이 내용에 대해 알아보도록 하겠다. Decision TreesDecision Tree는 이름 자체에서도 알 수 있듯이 Tree-based model이다.따라서, regression과 classificatio..

[빅데이터 및 지식관리시스템] Business question에 대해 답하기 위한 Analytic Functions 정리

SQL에서 좀 더 복잡한(?) 질문에 대해 출력하기 위해서, 중요한 business question에 대해 답을 하기 위해 Analytic Function을 사용한다. 예를 들어 각 부서 상위 10명의 salesman을 추출하여라.지난 90일간 이동 평균은?전년도 대비 성장률은?과 같은 질문이 있다. SQL로는 이런 것을 하기에는 좀 복잡하고 비효율적이다.따라서 여러 Analytic function을 이용하게 된다. Analytic Functions그에 반해 analytic function을 이용하면 query의 performance를 향상해 주고 효율적이게 작업을 할 수 있다.종류는 다음과 같다.Ranking functions: rank, dense_rank, percent_rank, ntileWind..

Computing 2025.04.08

[C++] Operator Overloading에 대해 알아보기

Operator흔히 아는 +,-,==,>, 각 class에 따라 operator를 redefine 할 수 있고 이것을 operator overloading이라한다.custom type에 맞게 tailor를 할 수 있다. 피연산자, 반환 값을 결정해야 하고 그것에 맞춰 구현하는 function의 형태이다. 사실 convention과 expectation을 맞춰서 function꼴로 만들어야 하는데 사실상 제약은 없다.그래도.. convention에 맞춰서 해주면 좋다고 한다.(rule이니깐)[] Subscript Operator  Purpose: v [i]는 v의 i번째 element에 접근하는 것을 목표로 한다.Syntax: 보다시피 입력으로 int index를 넣어주고 T& reference를 반환해 ..

Computing 2025.04.07

[빅데이터 및 지식관리시스템] SQL에서 모든 것에 대한 만족을 표현하고 싶을때..?

Set vs Bag semanticsRelational Algebra에서는 기본적으로 set sementic을 기본으로 한다.하지만 real-world에서 SQL로 구현할 때, bag sementic을 기본으로 한다. Bag은 set과 비슷하지만, 같은 요소가 여러번 나타날 수 있다.{1,2,3,1}: 1이라는 중복을 허용하는 집합이다.{1,2,3}: 같은 bag이지만 중복이 없는 set이다.또한 element의 순서가 중요한 list와 다르게 bag은 순서가 중요하지 않다. SQL이 bag semantics를 기본으로 하는 이유는 일부 연산에서 더 효율적이기 때문이다.또한 중복된 것을 "distinct" 키워드를 이용하여 제거할 수 있기 때문이다. DivisionDivision은 기본 연산자는 아니지만..

Computing 2025.04.06