본문 바로가기

분류 전체보기

(125)
기계 학습 용어 정리 핵심 키워드 Machine Learning(기계학습) Terminology(용어) ML 용어 정리 학습하기 이번에는 가장 기본적인 용어에 대한 설명을 하고자합니다. 인풋, 아웃풋, 뉴럴넷 등이 그 대상입니다. 항상 용어는 굉장히 중요합니다. 그래서 저희는 아주 간단한 것이지만, 용어를 알아보고자 합니다. 뉴럴넷이라는 건 제 생각에, 단순히 뉴럴이 연결된 것입니다. 입력이 있으면, 출력이 있죠. 뉴럴넷이라는 게 흘러가는 모델이라 본다면, 그 모델의 흘러가는 부분에 들어가는 모든 것이 인풋 데이터입니다. 이미지, 동영상, 글자, 숫자 모든 것이 인풋이 될 수 있습니다만, 모든건 근본적으로 수로 입력이 될 것입니다. 쨋든, 인풋 데이터는 단순 입력입니다. 세상에는 무한한 물체가 있기 때문에, 우리가 문제를 분..
시작에 앞서 해당 카테고리의 글은 edwith.org에서 진행되는 최성준 박사님의 '논문으로 짚어보는 딥러닝의 맥' 강의의 자료를 사용해 만들어집니다. 박사님이 설명하시는 것을 타이핑하는 것을 일차적인 목적으로 하며, 제 이해도에 따라 부연적인 설명을 추가할 생각입니다. 순전히 저의 이해의 목적으로 하는 것이라, 중간중간 생략이 있을 수 있습니다.
Convolutional Neural Network(CNN)의 기초 핵심 키워드 Convolutional Neural Network(CNN) Convolutions Subsampling Convolution layer Fully connected layer 학습하기 이번에는 컨볼루션 뉴럴 네트워크(Convolutional Neural Network, CNN)에 대해서 알아보도록 하겠습니다. CNN이라는 것은 Convolutional Neural Network를 말하는데요, 이름으로 모든 것을 알 수 있습니다. 컨볼루션을 사용한 뉴럴 네트워크. 끝입니다. 그렇다면 컨볼루션이 뭔지를 알면 되겠지요. CNN의 구조는 다음과 같습니다. 인풋(Input)이라는 것은 어떤 입력 이미지입니다. 어떤 이미지가 있고, 거기에 컨볼루션이라는 과정을 거치면, (컨볼루셔널) 피쳐 맵(Feat..
특이값 분해(Singular Vector Decomposition, SVD) 머신러닝을 공부하다 보면 고등학생 시절, 현실과 동떨어져있다고 생각해왔던 수학이, 정말 여러 방면으로 쓰이고 있음을 깨닫습니다. 그 중 하나가 특이값 분해(Singular Vector Decomposition, SVD)입니다. 일전에 기업 협력 프로그램을 진행해보면서 한 번 사용했던 개념이었는데, 이해하는데 골머리를 썩혔던 기억이 있습니다. 유튜브를 보던 중, 최대한 수학적인 내용을 배제하고 효용있는 내용을 잘 설명하는 영상을 발견하여 공유드립니다. [SVD(Singular Vector Decomposition) 이해하기 쉽게 설명드려요!] [Stanford AI recture] 복잡한 개념인데다 수식으로 표현할 것이 많아 일단 영상만 링크해두려다, 복습도 할 겸 정말 간단히만 요약해보겠습니다. 1. 특..
머신러닝 개발의 과정 저 같은 경우에는 머신러닝을 공부하기 시작한지 약 9개월 정도가 되었는데, 운이 좋게도 공모전 2개와 기업 협력 프로그램 1개에 참여해보았습니다. 그렇게 팀을 구성하여 프로그램을 진행할 때마다 느꼈던 점은, 머신러닝을 진행하는 코드는 왠만하면 어영부영 누구든 짤 수 있지만, 어떤 방향성의 코드를 개발해나가야하는가는 굉장히 어려워했다는 점입니다. 그러던 중 발견했던 아래의 내용들이, 개인적으로는 방향성을 잡아나갈 때 항상 좋은 힌트가 되었던 것 같아, 공유하고자 합니다. 1. 데이터에 대한 탐색 - 첫째로 법적 허용에 관한 문제입니다. 데이터를 수집하다보면 정말 다양한 종류의 데이터가 존재합니다. 공공기관에서 제공하는 데이터, 인스타그램 등의 SNS에서 스크래핑해올 수 있는 데이터, 네이버 검색 기록 데이..
데이터 타입(Data Type) 데이터 분석을 하기 위한 글들을 읽어보면 Qualitative data, Quantitative data, Nomial data, Discrete data... 등 굉장히 다양한 데이터 타입이 줄줄이 등장하게 됩니다. 연속(Continous)과 이산(Discrete)까지는 친숙했지만 다른 데이터 타입들은... 해서 오늘은 데이터 타입에 대해 간략히 정리하겠습니다. Qualitative(질적), Categorical(범주형) Quantitative(양적), Numerical(수치형) Nomial(명목형) Ordinal(순서형) Discrete(불연속적) Continuous(연속적) 순서가 없는 범주 순서가 있는 범주 연속되지 않는 수치 연속적인 수치 사실 데이터 특성을 구분하는 기준에 따라 다른 분류법이 ..
박스 플롯(Box Plot), 바이올릿 플롯(Violin Plot) 데이터 분석을 하다보면 목적성에 맞게 여러가지 시각화를 시도하게 됩니다. 어릴적 배웠던 막대 그래프나 꼭지점 그래프 정도에서 발전된 그래프는 충분히 이해하기 쉬웠는데, 이를 벗어나면 간단한 것임에도 처음보면 굉장히 답답한 그래프들이 많습니다. 저에게는 박스, 바이올린 플롯이 그랬습니다. 그래서 이번에는 이런 특이한 그래프에 대해 간단히 기록하고자 합니다. 내용을 읽은 뒤 코드를 참고하시면 좋을 것 같습니다. 아무것도 모르고 봤을 때도, 좌측이 박스 플롯, 우측이 바이올린 플롯일 것 같습니다. 실제로도 그렇구요. 사실 이 그림 하나만으로 이 글의 모든 내용을 설명할 수 있을 것 같습니다. 1. 박스 플롯(Box Plot) 일변량, 연속형 데이터의 분포(Distribution)를 설명하기 위해 사용되는 이 ..
특성 선택(Feature Selection) 모델의 학습하는데 있어 X(특성, Feature)와 y(정답, target) 데이터셋을 사용해 훈련하는 감독 학습(Supervised learning)의 기준에서 바라볼 때, X의 개수가 다양하다는 것은 y를 예측할 힌트가 많아진다는 말 같습니다. 그러면 특성의 개수는 무작정 많다고해서 좋은것인가- 한다면, 그것은 아닙니다. 그저 많기만한 특성은 모델을 과대적합시킬 뿐일 것입니다. 머신러닝은 분명 빅데이터를 필요로 하지만, 어느정도 스케일이 갖춰졌다면, 이후부터는 항상 시나리오에 적합한 데이터의 품질(Quality)과의 싸움이 됩니다. 때문에 다양한 특성을 가진 데이터셋을 확보했다면, 그 다음은 가장 유용한 특성을 선별(Selection)하는 과정이 필요합니다. 이제, 그 선별을 어떻게 하는지, 살펴보겠..