공부하며 성장하기
[한 줄 정리] SMOTE
SMOTE(Synthetic Minority Oversampling Technique)란 데이터가 부족할 때, 특히 분류 문제에서 클래스 간 불균형을 해결하기 위해 사용하는 대표적인 오버 샘플링 기법입니다. 아래 그림처럼 '+' 클래스의 데이터를 SMOTE 해보겠습니다. ① 큰 빨간 원으로 표시한 데이터로부터 k개의 NN(Nearest Neighbors) 중 랜덤 샘플 하나(작은 빨간 원으로 표시)를 선택합니다. ② 선택한 샘플 `\hat{x_i}`와 기존 샘플 `x_i`을 연결한 직선 위의 새로운 랜덤 샘플(파란색)을 생성합니다. 위 내용을 새로 생성한 샘플에 대한 수식으로 표현하면 다음과 같습니다. $$Synthetic(New)\: Sample = x_i + u\: \cdot \: (\hat{x_i}..
피처 정규화(Feature Normalization)가 반드시 필요한 경우
데이터 특성(Feature) 사이 차원의 영향을 제거하고, 서로 다른 지표들을 비교함으로써 패턴을 정확히 파악하기 위해 정규화를 수행합니다. 그렇다면 정규화는 데이터 전처리 과정에서 항상 거쳐야 하는 필수 단계일까요? 언제 정규화가 필요한 걸까요? 이번 글에서는 피처 정규화가 반드시 필요한 세 가지 경우에 대해 정리해 보았습니다. ※ 개인적으로 공부한 내용을 정리한 글입니다. 틀리거나 다른 의견이 있으시면 그냥 지나치지 마시고, 꼭 댓글 남겨 주세요! :) Why & How 우선 정규화의 목적과 대표적인 방법에 대해 간단히 짚어 보겠습니다. 앞서 언급했듯 정규화는 차원의 영향을 제거하고, 특정 피처에 편향되지 않도록 값의 범위를 일정한 범위 내로 통일시킵니다. 이를 통해 보다 정확한 데이터 패턴을 파악할..
🏆 2021 노마드 어워즈 후기
안녕하세요, 니ㄲ.. 조이입니다! 🙋♀ 이번 글에서는 얼마 전 진행된 '2021 노마드 어워즈 NOMAD AWARDS' 참여 및 수상 후기를 담아 보았습니다. 노마드 어워즈? 노마드 코더? 그게 뭔가요? 최근 코딩에 대한 관심이 뜨거워지면서 비전공자도 쉽고 재미있게 입문할 수 있도록 도와주는 다양한 콘텐츠와 강의가 매우 많아졌죠. 저는 이공계열 전공이어서 학창 시절에 기본적인 코딩을 배우기는 했지만, 당시에는 이론 위주여서 크게 흥미를 느끼지 못했어요. 무엇보다 특출 나게 잘하는 친구들과 스스로를 비교하면서 오히려 '코딩은 천재들만 하는 거다' 같은 불필요한 오해와 편견을 가지게 되었습니다. 그래서 본격적으로 코딩을 해봐야겠다고 마음먹었을 때에도 무척 막막함을 느꼈었습니다. 그런데 이런 한계를 깰 수 ..
머신러닝 기반 이상 탐지(Anomaly Detection) 기법의 종류
이상 탐지(Anomaly Detection)란, 데이터에서 예상과는 다른 패턴을 보이는 개체 또는 자료를 찾는 것을 말한다. 즉 학습 데이터를 기반으로 기존 데이터들과는 다른 특성을 갖는 데이터를 찾는 모형을 만드는 방법이다. 사이버 보안, 의학 분야, 금융 분야, 행동 패턴 분야 등 다양한 분야에 적용될 수 있다. 대표적인 예로 신용카드 사기, 사이버 침입, 테러 행위 같은 악의적 행동이나 시스템 고장, 비정상적인 상황 등에 활용된다. '이상'이라는 표현은 적용되는 도메인 컨텍스트나 데이터의 종류에 따라 anomaly, outlier, discordant observation, exception, aberration, surprise, peculiarity, contaminant 등 다양하게 불린다. ..
국소 회귀(Locally Weighted Regression)란?
아래 글을 먼저 보는 것이 좋습니다. 선형 회귀(Linear Regression)와 경사하강법(Gradient Descent) 선형 회귀(Linear Regression)는 머신러닝의 가장 기본이 되는 알고리즘이다. 머신러닝은 기본적으로 훈련 데이터를 이용해 알고리즘을 학습시키고, 그 결과로 어떤 가설을 도출하는 것이다. 이 가설 nanunzoey.tistory.com 아래와 같은 데이터가 있다고 할 때, 선형 회귀 `\theta_0 + \theta_1x_1` 식은 파란 선으로 나타낼 수 있다. 그런데 이 선은 과연 데이터들을 올바르게 표현하고 있는 걸까? 직선이 아닌 다른 형태가 사실은 더 적합할 수도 있지 않을까? 혹은 feature가 여러 개인 다항 회귀의 경우는 어떨까? 예를 들면 `\theta_..
건설 산업에서의 인공지능 활용(Applications of AI in Construction Industry)
지난 2016년 세계경제포럼(WEF, World Economic Forum)에서 클라우스 슈밥(Klaus Schwab) 회장이 처음 4차 산업혁명을 언급한 후 약 5년이 흘렀다. 같은 해 알파고(Alphago)는 이세돌 9단에게 4승 1패로 승리했고, 2019년 12월에는 COVID-19 바이러스가 전 세계를 강타하기 시작하며 빠르게 우리 일상을 디지털 세계로 이끌었다. 사람들이 '인공지능, 디지털, 가상, 자동'과 같은 단어들에 지나치게 익숙해진 만큼, 산업에서는 한 발 더 빠르게 이 혁신적인 기술을 도입하기 위해 고민하고 있다. 그러나 이러한 디지털 전환(Digital Transformation)이 유난히 힘들고 어려운 산업이 있는데, 바로 건설 산업이다. 이번 글에서는 1) 왜 건설 산업의 디지털화..
선형 회귀(Linear Regression)와 경사하강법(Gradient Descent)
선형 회귀(Linear Regression)는 머신러닝의 가장 기본이 되는 알고리즘이다. 머신러닝은 기본적으로 훈련 데이터를 이용해 알고리즘을 학습시키고, 그 결과로 어떤 가설을 도출하는 것이다. 이 가설(또는 함수)을 가지고 새로운 input이 주어졌을 때, 그에 맞는 output을 예측하여 내놓는다. 다음 그림은 이러한 머신러닝의 메커니즘을 보여준다. 예를 들어 우리가 다음과 같은 데이터를 가지고 있다고 가정해보자. 충분히 많은 데이터만 있다면, 어떤 집의 면적과 침실의 개수 등과 같은 정보만 가지고 그 집이 얼마일지 예측하는 데 이용할 수 있다. Size (sqft) # Bedrooms Price (1K$) 2,104 5 460 1,416 3 232 ... ... ... 이때 이러한 가설(Hypot..
[Kaggle] Recruit Restaurant Visitor Forecasting Competition
Competition Overview 개요 Kaggle Recruit Restaurant Visitor Forecasting Competition Sponsored by Recruit Holings. Held in Jan. 2018. Challenged to use reservation and visitation data to predict the total number of visiotrs to a restaurant for future dates. Will help restaurants be much more efficient and allow them to focus on creating an enjoyable dining experience for their customers. - Submissi..
지속가능한 데이터 센터(Sustainable Data Center)
최근 글로벌 기업들을 중심으로 데이터 센터의 지속가능성, ESG 경영이 주목 받고 있다. 기업에서 데이터 센터는 IT 운영, 나아가 이제는 비즈니스 운영의 핵심이라고 할 수 있다. 특히 우리나라는 코로나 19 발생 이후 다른 어떤 곳보다도 빠르게 디지털 전환(Digital Transformation)을 수용하는 가운데 5G, 심지어 6G 기술까지도 선도하면서 앞으로 그 중요성과 수요가 더 커질 전망이다. APAC 국가들 중에서도 가장 높은 수준으로, 빠르면 앞으로 3년 이내에 서버 이용이 20% 이상 증가할 수 있고, 2026년이 되면 데이터 센터를 운영하기 위해서 407,000`m^2`의 면적이 필요할 것이라고 한다. 이러한 데이터 센터의 에너지 소비 비중은 기본적으로 서버 운영 등 장비에 35%, 열..
하이퍼파라미터(Hyperparmeter)와 최적화(Optimization)
하이퍼파라미터(Hyperparameter)란, 모델이 학습하면서 최적의 값을 자동으로 찾는 것이 아니라 사람이 직접 지정해 주어야 하는 변수를 말한다. 반면 파라미터(Parameter)는 가중치나 편향처럼 모델이 학습을 통해 최적의 값을 찾는 변수이다. 아래 그림은 하이퍼파라미터와 파라미터를 직관적으로 이해할 수 있도록 도와준다. 대표적인 하이퍼파라미터의 종류에는 다음과 같은 것들이 있다. 학습률(Learning Rate) 비용 함수(Cost Function) 훈련 반복 횟수(Epochs) 은닉층의 뉴런 개수(Hidden Units) 규제 강도(Regularization Strength) 가중치 초기값(Weight Initialization) 미니 배치 크기(Mini-batch Size) 그렇다면 최적의..