분류 전체보기 106

확률 및 통계 - 6. Expected Values and Variance

- Discrete R.V.에서 Expected Value (Expected Value는 개별적인 확률 변수의 값들을 나타내는 것이 아니라 그 확률 변수들이 나타내는 전체 분포의 특성을 요약해서 나타내는 요약이다.) Def) X가 discrete r.v.이고 m이 X의 distribution func. Ω가 sample space라고 하면 expected value(mean) E(X)은 x*m(x)의 총 합을 의미한다. 만약 x*m(x)의 sum이 수렴하지 않는다면, 기댓값이 무한한 것이 아니라 X는 Expected value가 없다고 표현한다. 더보기 ex) tossing a fair coin 3 times. r.v. X : # of heads. Ω = {0,1,2,3} E(X) = 0*m(0)+1*m..

개인 공부 2024.04.09

데이터 과학 - 6. Data Understanding & Visualization

* Data Understanding => 데이터가 모델링을 위해 충분한 quality를 갖추고 있는가는 다음의 3가지로 따진다. - Completeness : 모인 데이터의 size를 측정한다. - Noisiness : Scatter plot을 그려 경향성이 있는지 확인 가능하다. - Consistency : Mean, Variance를 그려 확인할 수 있다. 어떤 모델이 사용되어야하는지 판단은 plot을 그리거나 상관계수를 측정하여 결정할 수 있고, 데이터가 project target에 관련 있는지는 Visualization, modeling하기에 충분한지는 Data size를 측정함으로 알 수 있다. 우선 데이터를 사용하기 전에 데이터의 특성에 대한 이해를 하는 것은 매우 중요하다. 데이터의 특성이..

개인 공부 2024.04.09

데이터 과학 - 5. Data Acquisition

* Data Acquisition CRISP-DM에서 데이터 이해 과정을 생각해보자. 1. 초기 데이터 수집. 2. 데이터 묘사. (데이터 셋의 field, records 등에 대한 설명서) 3. 데이터 탐색. (querying, visualization 그리고 요약을 통해 데이터 과학 질문, 데이터가 어떤 영향을 끼치는지 파악) 4. 데이터의 Quality 검증. (데이터의 결측이나 오류 등을 검증한다.) TDSP에서 데이터 습득 및 이해 과정을 생각해보자. - 목표 : 대상 변수와의 관계가 파악된 깨끗한 고품질 데이터 세트 생성, 데이터를 정기적으로 고치고 점수를 매기는 데이터 파이프라인의 개발. - 과정 : 데이터 수집 -> 데이터 탐색 -> 데이터 파이프라인 설정하여 새로운 데이터 점수 매김. =..

개인 공부 2024.04.09

4. CS 기본 지식 - 네트워크

* 웹 동작 방식 1. 사용자가 브라우저에 URL을 입력. 2. 브라우저는 도메인 네임 서버에 접근하여 DNS를 통해 해당 URL에 매핑된 서버의 진짜 ip 주소를 찾는다. (이때 www.google.com 일 시, 자신이 속해있는 도메인 local서버로 접근해 www.google.com을 질의한다. 여기서 local 도메인 서버가 해당 URL에 해당하는 IP 주소가 없을 시, Root DNS 정보를 전달 받는다. 그 뒤 com 도메인을 관리하는 TLD(Top-Level Domain) 서버 정보를 전달 받는다. TLD 서버에 www.google.com을 질의하고, TLD는 google.com을 관리하는 DNS 서버에 IP 주소를 질의한다. 그러면 Local DNS는 www.google.com에 대한 IP..

CS 기본 지식 2024.04.08

데이터 과학 - 4. Data Mining/Science Algorithms

* Classification - 주어진 Data (Training set) : 각 데이터들은 attribute들의 집합이다. 그리고 각 Attribute들은 class이다. - class attribute에 대한 Model을 찾는다. => 목표 : 새로 주어진 데이터의 class를 정확히 할당해주어야 한다. (Classification) - Process - Classification 에서 Error의 원인 1. 불충분한 training data 2. 너무 적은 feature 3. 너무 많거나 설명력이 떨어지는 feature (ex: 여자,남자를 classification하는데 오늘의 날씨.) 4. Overfitting => 해결법 : Introducing new feature - Classificat..

개인 공부 2024.04.08

3. CS 기본 지식 - 알고리즘

* 정렬 - Bubble Sort 0번째 인덱스를 골라서 정렬이 안된 마지막 인덱스까지 탐색하며 규칙에 맞게 적절한 위치를 찾아주는 정렬법. 시간 복잡도는 O(n^2)이다. //ascending int a[n]; int selec_num; for(int i=0; i Divide Conquer는 큰 문제를 작은 하위 문제로 바꾸고 하위 문제를 해결한 뒤 이들을 결합하는 과정은 똑같다. 하지만 이 분할된 하위 문제들은 서로 "독립적"이며 하나의 하위 문제 해결이 다른 하위문제 해결에 도움이 되지 않는다. 그러나 Dynamic Programming에서는 각 하위 문제의 해결책을 저장하여 다른 하위 문제 해결에 도움을 준다.(재 계산 방지) 예를 들면 팩토리얼 계산법에서 5!를 계산할 때 4!까지의 수에서 5를..

CS 기본 지식 2024.04.04

데이터 과학 - 3.Data Science Methodology Part 2.

* TDSP (Team Data Science Process) Agile principles : 소프트웨어 개발을 위한 가이드라인을 제공. 변화하는 요구사항에 빠르고 유연하게 대응할 수 있도록 하는 것을 목적. 1. 프로세스 및 도구를 통한 개인 및 상호 작용. 2. 문서화를 통한 소프트웨어 작업 3. 계약 협상에 대한 고객과의 협업 4. 계획이 변경될 경우 즉시 대응 => TDSP란? : 1. Agile 원칙을 적용하여 데이터 과학 솔루션을 효율적으로 제공하는 방법론. 2. TDSP의 backbone은 Data Science LifeCycle이라는 개념이다. * TDSP Lifecycle Steps 1. 비즈니스 이해 -> 2. 데이터 습득 및 이해 -> 3. 모델링 -> 4. 배포 -> 5. 고객 동..

개인 공부 2024.04.03

2. CS 기본 지식 - 프로그래밍

* OOP란? Object-Oriented Programming 의 약어이다. 즉, 객체 지향 프로그래밍이다. 객체 지향 프로그래밍의 특징은 현실 세계를 프로그래밍으로 옮겨와 각 사물들을 객체로 보고, 그 객체로부터 개발하고자 하는 특징과 기능을 뽑아와 프로그래밍하는 기법이다. OOP로 코드를 작성하면 재사용성과 변형가능성을 높일 수 있다. 또한 세부 기능들을 캡슐화 하기 때문에 은닉 효과도 있다. 더보기 (ex : OOP로 Remote Controller를 개발했다고 치자. OOP의 특성상 최대한 추상화 시킨 RC의 Interface를 구성하고, 해당 Interface를 상속해서 구체화된 RC를 디자인할 것이다. 예를 들면 RC interface - "TV 용" RC Interface(혹은 abstra..

CS 기본 지식 2024.04.03

HCI - Needfinding

? UI, UX, CX, SD 란? => "UI" : User Interface, "UX" : User Experience, "CX" : Customer Experience, "SD" : Service Design * UI : 제품의 시각적인 부분. user들에게 product를 더 매력적이게 어필할 수 있다. UI는 제품의 첫 인상을 담당하는 부분이다. 만일 UI가 좋지 않다면, 진입장벽이 크게 형성될 수 있다. ex) 김밥의 포장 * UX: 사용자가 제품이나 서비스를 실제로 사용할 때 어떻게 느끼고 무엇을 생각하는지를 의미한다. ex) 김밥을 먹는 과정에서 느낀 맛, 크기 등 * CX: 제품 또는 서비스의 전반적인 인상. CX는 고객이 특정 서비스나 제품을 고르거나 고르지 않은 "이유"이다. ex) ..

개인 공부 2024.04.02