본문 바로가기

전체 글154

TabNet Introduction TabNet은 2019년에 Google Research에서 발표한 딥러닝 기반의 트리 구조 모델로, 특히 Tabular Data 형태의 데이터에 최적화된 모델. TabNet은 Gradient-based Learning을 통해 최적화되며, 주요 특징으로 해석 가능성과 효율성을 들 수 있음 이름생년월일국어 점수영어 점수수학 점수홍길동1992년7월17일100점90점70점희동이1992년4월3일90점100점100점Tabular Data 예시  Tabular Data과 딥러닝은 다른 데이터 셋 ( Raw형 데이터 셋, 이미지, 영상 .. ) 과 비교하여 효과적인 성능을 보여주지 못하는 추세로, 비정형 데이터를 활용한 딥러닝을 사용하거나 feature engineering에 집중하여 머신 러닝.. 2024. 8. 4.
머신러닝 알고리즘 - KNN & SVM KNN KNN은 사례 기반 학습 중 하나로 별도의 모델 생성 없이 인접 데이터를 분류/예측하는데 사용할 수 있다.Lazy Learning : 모델을 미리 만들지 않고, 새로운 데이터가 들어오면 계산을 시작KNN, Native Bayes데이터로부터 모델을 생성하고 분류/예측하는 것은 Model-Based Learning 이라고 한다.  K-Nearest Neighbors : K 개의 가까운 이웃을 찾고, 학습 데이터 중 K개의 가장 가까운 사례를 사용하여 분류 및 수치를 예측한다.   알고리즘 동작 방식새로운 데이터를 입력모든 데이터들과의 거리를 계산가장 가까운 K개의 데이터를 선택K개의 데이터의 클래스를 확인함다수의 클래스를 새로운 데이터의 클래스로 예측함   KNN에서는 알맞은 K를 선정하는 것이 KN.. 2024. 6. 21.
머신러닝 알고리즘 - Boosting Boosting 부트스트랩 샘플(무작위 표본 추출 시행)을 추출하는 과정에서 각 자료에 동일한 확률을 부여하는 것이 아니라 분류가 잘못된 데이터에 더 큰 가중을 주어 표본을 추출한다.약 분류기를 순차적으로 학습하는 앙상블 기법예측을 반복하면서 잘못 예측한 데이터에 가중치를 부여하여 오류를 개선 > Bagging  : 무작위 복원 추출로 부트스랩 샘플을 추출함> Boosting : 부트스트랩 샘플을 추출하는 과정에서 각 자료의 동일한 확률을 부여하는 것이 아니라 분류가 잘못된 데이터에 더 큰 가중을 두어 표본을 추출함  Boosting의 종류AdaBoostGradient BoostXG Boost  [1] AdaBoost ( Adaptive Boosting )간단한 약 분류기들이 상호보완하도록 순차적으로 학.. 2024. 6. 21.
[MQTT]Message Queueing Telemetry Transport Message Queueing Telemetry Transport [ MQTT ] [1] MQTT란?MQTT는 국제 표준화된 발행-구독(Publish-Subscribe) 기반의 메시지 송수신 프로토콜이다.MQTT는 국제 표준화된 표준 ISO/IEC PRF 20922 규격을 따름   (1-1) 메시지 송수신 프로토콜이란?- 프로토콜: 컴퓨터나 장치들이 서로 통신할 때 어떤 설정과 규칙을 따르는지 정립 해놓은 것[ (ex) 우편 시스템 : 편지를 어떻게 쓰고, 주소를 어떻게 적고 우표를 어디에 붙이는지에 대한 규칙도 일종의 송수신 프로토콜의 예시로 볼 수 있다. ] - MQTT는 발행-구독(Publish-Subscribe) 기반의 송수신 프로토콜이다.발행-구독(Publish-Subscribe) 방식은 정보를.. 2024. 5. 31.
[NestJs] Controller NestJSNest(NestJS)는 효율적이고 확장 가능한 Node.js 서버 측 애플리케이션을 구축하기 위한 프레임워크입니다 . 특징프로그레시브 JavaScript를 사용하고 TypeScript 로 구축되어 완벽하게 지원OOP(객체 지향 프로그래밍), FP(기능 프로그래밍) 및 FRP(기능 반응 프로그래밍) 요소를 결합내부적으로 Nest는 Express (기본값)와 같은 강력한 HTTP 서버 프레임워크를 사용하며 선택적으로 Fastify 도 사용하도록 구성할 수 있습니다!Nest는 이러한 일반적인 Node.js 프레임워크(Express/Fastify)보다 높은 수준의 추상화를 제공하지만 해당 API를 개발자에게 직접 공개이를 통해 개발자는 기본 플랫폼에서 사용할 수 있는 수많은 타사 모듈을 자유롭게 사.. 2024. 4. 26.
[ Spark ] Spark란 무엇인가 기존 MapReduced의 문제점 기존 MapReduce 에서의 문제점 데이터 복제, 디스크 I/O, 직렬화로 인한 오버헤드 발생 디스크와 메모리 간의 지속적인 데이터 전송으로 인한 트래픽 발생 오버에드 및 대량의 트래픽으로 인한 프로그래밍이 어려워짐 성능 병목 및 패치 문제 발생 가능성 증가 디스크 지속성이 메모리 작업에 비해 느려 성능 악화 Data-Flow Systems Data-flow 시스템이란 기존의 데이터 시스템과 달리, 데이터 처리를 단계적인 흐름으로 관리하는 시스템 기존에는 MapDeduce는 2가지의 등급별로 작업을 진행함 One for Map , the Second for Reduce Flow -> 직렬화가 문제가 되는 경우 발생 (병목 등의 현상) Dta-Flow Systems의 일.. 2024. 4. 21.
[ Spark ] 빅데이터의 분산 처리와 Map Reduce Data Mining : 대규모 데이터셋에서 패턴, 규칙, 트랜드 등의 유용한 정보를 추출하기 위해 사용되는 과정 지식을 추출하기 위해 데이터는 저장, 관리, 그리고 분석이 수행되어야 함 → 데이터 마이닝의 필요성 데이터 마이닝 ≈ 예측 분석 ≈ 데이터 과학 ≈ 머신 러닝 ≈ 데이터 중심 AI 매우 큰 데이터셋에서 의미 있는 정보를 추출하는 것이 어렵기 때문에 현재 관심받는 연구 분야 주로 확장가능한 알고리즘에 중점을 두는데, 이 때 병렬처리가 필수적으로 요구됨 Descriptive methods ▪ 데이터를 설명하는 사람이 해석할 수 있는 패턴 찾기 ▪ 예: 클러스터링 Predictive methods ▪ 일부 변수를 사용하여 다른 변수의 알려지지 않은 값 또는 미래 값 예측 ▪ 예: 추천 시스템 데이.. 2024. 4. 20.
머신러닝 알고리즘 - Naive Bayes Naive Bayes 나이브 베이즈(Naive Bayes)는 베이즈 정리를 기반으로 하는 확률적 분류 알고리즘 중 하나입니다. 주로 텍스트 분류, 스팸 필터링, 감성 분석 등의 문제에 많이 사용됩니다. 이름에 "Naive(순진한)"라는 말이 붙은 이유는 모든 특성이 독립이라고 가정하기 때문입니다. 확률 (Probability) 확률은 어떤 사건이 발생할 가능성을 나타내는 수치입니다. 일반적으로 0부터 1까지의 값을 가지며, 0은 사건이 발생하지 않을 확률이고, 1은 사건이 반드시 발생할 확률을 의미합니다. 확률은 주어진 상황에서 특정 사건이 일어날 가능성을 수학적으로 표현하는 데 사용됩니다. 조건부확률 (Conditional Probability) 조건부확률은 어떤 사건이 특정 조건 아래에서 일어날 확률.. 2023. 12. 29.
머신러닝 알고리즘 - Logistic Regression Logistic Regression [ 비 선형 회귀 ] Linear Regression은 연속형 변수 예를 들어, 주택 가격이나 온도와 같은 연속적인 값을 예측하는데 사용되었다면 Logistic Regression은 불연속적인 데이터 주로 이진 분류 문제에 사용된다. 이진 분류 문제 ? 주어진 입력 변수에 대해 두 개의 클래스 중 하나에 속할 확률을 예측하는 것을 목표로 한다. 예를 들어, 이메일이 스팸인지 아닌지를 예측하는 데 사용된다. 범주형 데이터와 선형 회귀 단순 선형 회귀의 예측 범위가 -inf ~ inf 에 반해 범주형 데이터인 경우 정답의 범위가 0과 1사이 0과 1사이를 벗어나는 예측은 예측의 정확도를 낮추게함 따라서 예측의 결과가 0과 1사이에 위치해야 함 Logistic Regress.. 2023. 12. 18.
머신러닝 알고리즘 - Linear Regression 1. Linear Regression 예측 값을 직선으로 표현하는 모델 예측값 = 편향 + { 계수 * 입력값 } 회귀 직선으로 나타낼 경우, x값의 증감에 따라 예측 값이 증가하는 정도를 알 수 있어서, 해석하기에 용이함 선형 회귀의 평가 실제 값과 예측 값의 차이가 작은 직선이 데이터를 더 잘 표현한다고 할 수 있다. 1. 평균제곱오차-MSE ( Mean Squared Error ) 실제값과 예측값의 차이를 제곱한 후 평균화함 예측값과 실제값 차이의 면적의 평균과 같음 특이값이 많이 존재할 수록 수치가 많이 늘어난다. 2. 평균절대오차 MAE는 예측값과 실제값 간의 절대적인 차이를 나타냄 각 데이터 포인트에서 예측값과 실제값의 차이를 모두 더하고, 그 값을 전체 데이터 포인트 수로 나누어 구함. MA.. 2023. 12. 17.
[InfluxDBv2] Flux 문법 이전 버전과 influxDBv2의 가장 큰 차이점은 쿼리언어가 Flux문으로 교체되었다는 점입니다. 아래에서는 Flux문에 대해서 알아봅시다. [1] Query fields and tags filter()를 사용해서 필드나 태그 또는 다른 컬럼의 값을 조건 기반으로 검색할 수 있습니다. influxQL의 SELECT()문과 WHERE문을 조합해서 사용하던 방식과 유사합니다. Flux 조건식은 predicate expression를 기반으로 하는데 predicate expression은 true, false를 반환합니다. Example predicate function (r) => r.foo == "bar" and r.baz != "quz" filter함수에서는 이러한 predicate expression.. 2023. 12. 17.
[InfluxDBv2] 구조 및 설계 가이드라인 InfluxDB의 구조 및 설계를 위해 필요한 정보들을 정리한 글입니다. 1. InfluxDBv2의 데이터 구조 Get started with InfluxDB | InfluxDB OSS v2 Documentation Thank you for your feedback! Let us know what we can do better: docs.influxdata.com InfluxDBv2에서는 시계열 데이터를 bucket과 mesurements라는 큰 구조를 사용하고 있습니다. 하나의 bucket에는 여러 개의 measurements가 구성될 수 있고 , 하나의 measurements에는 여러 개의 태그와 필드로 구성될 수 있습니다. Bucket: 시계열 데이터가 저장되는 위치로, 이전 버전과 비교했을 때 .. 2023. 12. 8.
반응형