목록전체 글 (279)
ecsimsw
1. DTM (Document-Term Matrix) : 문서 단어 행렬(DTM)은 문장 안 각 단어들의 빈도를 행렬로 표현한 것이다. 2. TF-IDF : TF는 각 문서 안에서의 단어의 빈도, DF는 문서군안에서 각 단어가 등장한 문서의 수를 의미한다. IDF는 DF에 반비례하는 값이다. 이 TF-IDF를 사용하여 문장끼리의 유사도나, 단어의 중요도를 구할 수 있다. #TF : term frequency #IDF : inverse document frequency #IDF는 이 DF의 역수인 것은 맞는데, 일반 역수를 사용하면 분자 (전체 문장의 개수)가 늘어짐에 따라 분모 (등장 문장의 수)는 그를 따라가지 못하므로, 그 값이 기하급수적으로 커져 결국 단어들의 중요성을 하향평준화 시켜 비교가 어려워..
백엔드 개발자를 꿈꾸는 학생 개발자에게 우연히 네이버 D2의 정상혁님이 쓰신 진로 칼럼 '백엔드 개발자를 꿈꾸는 학생 개발자에게' 을 읽게 되었다. 백엔드 개발자의 일, 전망, 필요한 지식, 네이버는 어떤 백엔드 개발자를 원하는지까지, 개발자를 꿈꾸는 학생들이 고민할 것들을 답 해두셨다. 백엔드 개발자, 시스템 엔지니어, 머신러닝 엔지니어,,, 아직 뭘 해야할지, 어떤 개발자가 되야할지 모르고 고민하고 있던 중에, 이 칼럼을 읽고, 개발 공부 방향에 느낀게 많아 생각을 정리할겸, 글쓰는 연습도 해볼겸 처음으로 블로그에 내 생각에 대한 글을 쓰게 되었다. 울타리 위에 있다! ( 갈팡질팡하는 모습을 영어로 On the fence라고 표현한다고 한다. 표현이 재밌어 써보고 싶었다.) C언어를 대학교 1학년 때..

이진 분류 ( Binary Classification ) - 적합/부적합, 합격/불합격, 스팸/햄 처럼 2가지 선택지로 분류하는 것을 이진 분류라고 한다. 놀이동산에서 범퍼카를 타려면 키가 126cm 이상이어야 한다고 생각해보자. 그럼 키에 따른 분표는 다음과 같을 것이다. - 이전 선형 회귀에서 본 분표랑은 조금 다르게 생겼다. 그래프는 직선보다는 S에 가깝고, y의 값은 적합, 또는 부적합 두가지 경우만을 갖는다. 적합을 1, 부적합을 0이라고 하면, 예측 값은 0~1 값만을 갖고, 그 모양은 S인 함수를 만들어야 이런 이진 분류를 잘 표현할 수 있을 것이다. - 이런 이진 분류를 풀기 위한 대표적인 알고리즘이 로지스틱 회귀이고, 그 분포를 가장 잘 설명하기 위해 위 조건을 충족하는 함수, 시그모이드..

Optimizer - 선형 회귀 학습은 결국 데이터를 가장 잘 표현할 수 있는 선(단순 선형 회귀 기준으로)을 그리는 과정이다. 그 예측 값과 실제 값의 그 오차를 표현하는 값을 최소화하는 알고리즘이 최적화 알고리즘 / Optimizer 이다. - 기본적인 최적화 알고리즘 중 하나가 경사 하강법이다. Gradient descent - 가설 H(x)=Wx+b에서 편향 b를 제거하고 가중치 W만 생각하여, 가설을 H(x) = Wx라고 하자. 비용 함수는 아래 그래프처럼 2차 함수 형태를 갖을 것이고, 그 값이 최저점이 되는 빨간색 꼭짓점의 W을 찾아야한다. 검정 원 표시는 랜덤하게 정해진 W 값이 점차 목표 W 값에 수렴하는 과정을 표시하였다. 이 과정이 바로 경사 하강법이다. - W값을 움직이는 로직은 비..

Linear Regression - 어떠한 경향을 갖는다. 라는 것에 다음 데이터의 결과를 예측할 때가 많다. 더 많은 시간을 공부에 쓰면 더 좋은 점수를 받더라, 반도체 집적 회로의 성능이 2년에 2배씩 증가하더라. 처럼 기존의 데이터가 어떤 경향을 갖는지를 파악하여, 그럼 8시간 공부한 시험에는 몇 점을 받겠구나, 반도체는 2020년도에 어떤 성능을 갖겠구나 라는 예측을 하게 된다. 이렇게 종족 변수(y)와 독립 변수(x)의 선형 상관 관계를 모델링한 것을 선형 회귀라고 한다. - 독립 변수(x)의 개수에 따라, 1개라면 단순 선형 회귀, 2개 이상이라면 다중 선형 회귀 분석이라고 한다. Hypothesis - 대략 50명 정도 되는 사람의 키와 몸무게를 기록했다고 생각해보자. 해당 집단의 기록은 아..
개요 - 텐서플로우, 사이킷 런, 케라스 등, 라이브러리로 혼자 예제를 만들어보고 학습해보았다. 그렇지만 사실, 어떤 라이브러리에 무슨 기능이 있고, 그것을 사용하면 어떤 마법이 벌어진다. 정도로 경험한거지, 어떤 모델이 어떤 학습 유형에 효과적인지, 어떤 원리인지 전혀 모르는 상태이다. - 지금까지 학습을 어플리케이션단에서 어떻게 사용되는지 활용해보면서 공부했다면, 이번에는 학습 요소, 알고리즘 원리, 보다 효율적인 학습을 위한 방법을 공부해볼 생각이다. 지도 학습 (Supervised) / 비지도 학습 (Un-supervised) / 강화 학습 (Reinforcement) - 지도 학습 : 지도 학습은 학습 데이터와 그 데이터에 대한 레이블이 지정된 상황에서 학습하는 것이다. 예를 들어 강아지, 고양..

PIL / OpenCV / 이미지 처리 - 이미지 처리를 위한 라이브러리를 간단하게만 사용해보았다. - 영상 안의 사람이나 사물을 인식하고 이를 레이블링 하는 등의 프로젝트를 만들어보면서 공부할 생각이다. PIL - 파이썬에서 이미지를 처리하기 위한 대표적인 라이브러리. Example - 이미지를 정의한 사이즈의 0,1 이차원 배열로 변환한다. - 이미지를 회색조로, 크기를 정의한 사이즈로 변경하고, 전체 픽셀 데이터를 2차원으로 표현한 후, 이 전체 픽셀의 평균값을 계산한다. 모든 각 픽셀을 평균값과 비교하여 그보다 크면 1, 작으면 0로 하여 다시 2차원 배열에 저장한다. from PIL import Image import numpy as np import matplotlib.pyplot as pp ..