본문 바로가기

728x90
반응형
728x90
반응형
텐서플로우 6

기계학습의 종류 - 오차기반 이번 포스트에서 다룰 내용은 가장 널리 이용되고 있고 가장 큰 비중을 차지하고 있는 오차기반의 머신러닝의 기법에 대한 내용이다. 유사도기반(2020/12/22 - [텐서플로우] - 기계학습의 종류 - 유사도 기반), 정보기반(2020/12/13 - [텐서플로우] - 기계학습의 종류 - 정보 기반), 확률기반(2021/01/10 - [텐서플로우] - 기계학습의 종류 - 확률기반)의 학습과 마찬가지로 오차기반의 학습 방법 역시 어떠한 목적(정답)에 다다르기 위한 최적 신경망(일종의 미분방정식)을 구하는 공통을 목표를 가지고 있지만 그 방법론에 있어 오차를 최소화하는 방식이다. 자 설명을 쉽게 하기 위해서 우선 가장 간단한 미분방정식인 단순선형회귀를 예로 들어보자. 특정 데이터셋에서 이 데이터의 특징을 가장 .. 2021. 1. 13.
기계학습의 종류 - 확률기반 확률기반 학습은 베이즈 정리에 기반을 두고 있다. 우선 베이즈 정리란 무엇인가에 대해 간략하게 짚고 넘어가보자. 확률론과 통계학에서, 베이즈 정리(영어: Bayes’ theorem)는 두 확률 변수의 사전 확률과 사후 확률 사이의 관계를 나타내는 정리다. 베이즈 확률론 해석에 따르면 베이즈 정리는 사전확률로부터 사후확률을 구할 수 있다.[1] 베이즈 정리는 불확실성 하에서 의사결정문제를 수학적으로 다룰 때 중요하게 이용된다. 특히, 정보와 같이 눈에 보이지 않는 무형자산이 지닌 가치를 계산할 때 유용하게 사용된다. 전통적인 확률이 연역적 추론에 기반을 두고 있다면 베이즈 정리는 확률임에도 귀납적, 경험적인 추론을 사용한다.[2] [출처 : 위키백과] 베이즈 정리 - 위키백과, 우리 모두의 백과사전 위키백.. 2021. 1. 10.
기계학습의 종류 - 유사도 기반 우리는 지난 포스트에서 엔트로피를 최소화하는 정보기반 학습에 대해 살펴봤다. 이번에 살펴볼 유사도 기반 학습은 말 그대로 얼마나 닮아 있는가를 찾아내어 정보의 불확실성을 줄이는 방법이다. 가장 대표적인 사례가 KNN 분류기법이다. 잠시 복습하고 지나가자면 이 방법은 데이터의 속성을 다차원의 공간으로 투영하여 그룹화를 수행하는 것으로 보면 되는데 이때 같은 그룹으로 묶이기 위해서 유클리드 거리를 사용한다. 각 속성치들의 거리차의 제곱의 제곱근이 최소화되는 그룹을 찾는데 만약 데이터의 속성치가 2개라면 2차원 공간상에 투영한 뒤 유클리드 거리를 측정하면 되겠지만 속성이 많아질 수록 그걸 이미지화 시키기가 녹록치 않다. 특히 3차원 이상이라면 말이다. 따라서 다수의 속성정보를 가진 n차원 좌표계는 추상화할 수.. 2020. 12. 22.
기계학습의 종류 - 정보 기반 기계학습의 학습방법은 크게 보면 정보기반, 유사도기반, 확률기반, 오차기반으로 분류할 수 있다. 모든 학습법은 불확실성(무질서도)의 해소라는 공통의 목표를 가지고 있지만 각 각 목적지에 이르는 방법론에 있어서는 차이가 있다. 이번 포스트에서 알아볼 정보기반 학습의 대표적인 분석기법이 바로 트리모형인데 무질서한 데이터 속에서 어떠한 속성치를 기준으로 점차 가지치기를 해나가는 방법이다. 예를 들어 코스피 200 종목들 중 펀더멘털이 우수(단, 여기서 우수하다는 것은 미리 정의되어 있다고 가정하자.)한 그룹과 그렇지 않은 그룹으로 분류를 한다고 할 때 가장 첫 번째 던질 수 있는 질문은 흑자기업인가? 적자기업인가? 정도가 될 것이다. 만약 흑자기업이라면 순이익률은 은행이자율(Risk Free Rate)보다 높.. 2020. 12. 13.
데이터구조 : Numpy 와 Pandas 머신러닝을 다루다 보면 가장 골치아픈게 데이터의 가공과 처리이다. 그렇기 때문에 우선 가장 많이 쓰이는 numpy 와 판다스의 사용법을 간략하게 짚고 넘어가보자. 우선 파이썬은 리스트와 튜플, 그리고 셋 정도로 구분해볼 수 있는데 그 중 사용빈도가 높은 것은 리스트와 튜플정도이다. 자 그렇다면 둘의 차이는 뭘까? 그렇다. 아래의 코드를 보자. [] 와 ()가 차이난다. 그 다음은? 리스트는 데이터를 추가하거나 삭제하는데 있어서 자유롭고 튜플은 그렇지 못하다. 왜? 귀찮게 뭐하러 이렇게 만들어놨을까? 그냥 리스트만 만들면 되지! 라고 생각할지도 모르겠지만 C++에서도 변수를 선언할 때 동적배열과 정적배열은 메모리 점유율이 다르다. double, int 등 타입을 선언할 때도 메모리 점유율이 다르다. 즉 자.. 2020. 9. 15.
텐서플로우란? 우선 텐서(tensor)란? [출처 위키백과] 선형대수학에서, 다중선형사상(multilinear map)또는 텐서(tensor)는 선형 관계를 나타내는 다중선형대수의 대상이다. 19세기에 카를 프리드리히 가우스가 곡면에 대한 미분 기하학을 만들면서 도입하였다. 기본적인 예는 내적과 선형 변환이 있으며 미분 기하학에서 자주 등장한다. 텐서는 기저를 선택하여 다차원 배열로 나타낼 수 있으며, 기저를 바꾸는 변환 법칙이 존재한다. 텐서 미적분학에서는 리치 표기법, 펜로즈 표기법, 지표 표기법, 비교적 단순한 문맥에서 사용하는 아인슈타인 표기법 등의 다양한 표기법을 사용하여 텐서를 구체적으로 나타낸다. 아인슈타인 표기법 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 둘러보기로 가기 검색하.. 2020. 8. 28.