목록데이터 분석 & 머신러닝 (31)
컴공생의 다이어리
다음과 같이 하루 노동 시간과 하루 매출에 대한 표가 주어졌을 때, 하루 노동 시간이 8시간일 때의 하루 매출을 예측해보자! 하루 노동 시간 하루 매출 1 25,000 2 55,000 3 75,000 4 110,000 5 128,000 6 155,000 7 180,000 구현 코드 import tensorflow.compat.v1 as tf tf.disable_v2_behavior() xData = [1,2,3,4,5,6,7] yData = [25000,55000,75000,110000,128000,155000,180000] W = tf.Variable(tf.random_uniform([1],-100,100)) # W : 가설의 기울기,weight의 줄임말로 가중치라는 뜻을 가지기도 함 b = tf.Va..
비용(Cost)이란? 가설이 얼마나 정확한지 판단하는 기준을 말한다. 아래 왼쪽과 같이 데이터가 주어졌을 때, 가설 식으로서 1차함수를 그리면 아래 오른쪽과 같다. 이때, 비용은 아래와 같이 직선과의 거리를 이용해 구할 수 있다. 비용 함수(Cost Function) 비용 함수는 예측 값에서 실제 값의 차의 제곱의 평균과 같다. => (예측 값 - 실제 값)2의 평균 - 현재의 W, b 값과 데이터를 이용하면 비용 함수를 구할 수 있다. - 비용함수로 구한 비용이 적을 수록 좋다. 경사 하강(Gradient Descent) 경사 하강을 이용해 합리적인 식을 도출한다. H(x)=Wx로 식을 간단히 한다. 따라서 비용 함수는 (Wx-y)2를 따른다. www.youtube.com/watch?v=YK9PNTJ_..
k-mean 알고리즘은 비지도 학습(Unsupervised Learning) 알고리즘 중 하나이다. cf) clustering(=군집,클러스터링)이란? 머신러닝에서 비지도 학습의 기법 중 하나이며, 데이터 셋에서 서로 유사한 관찰치들을 그룹으로 묶어 분류하여 몇 가지의 군집(cluster)를 찾아내는 것 k-mean 클러스터링이란? k-mean 알고리즘은 굉장히 단순한 클러스터링 기법 중에 하나이다. 어떤 데이터 셋(set)이 있고 k개의 클러스터로 분류하겠다고 가정하면, 그 데이터 셋에는 k개의 중심(centroid)이 존재한다. 각 데이터들은 유클리디안 거리를 기반으로 가까운 중심에 할당되고, 같은 중심에 모인 데이터 그룹이 하나의 클러스터가 된다. cf) mean이란? 각 클러스터의 중심과 데이터들..
머신러닝의 지도학습(Supervised Learing)에는 2가지 카테고리가 있다. 바로 분류(classification)와 회귀(regression)이다. 분류(classification) 회귀(regression) 분류에는 classifier(분류기)가 있다. 분류기에서 정답을 가진 data로 train을 해주고 난뒤, train이 끝나면, test시에는 정답이 없는 data를, 학습된 class를 기초로 판단하게 하는 것이다. classifier ex) knn, decision tree, SVM 등 사람의 무게를 줬을 때, 그 사람의 키를 예측하는 등의 문제 선형 회귀(Linear Regression)란? 변수 사이의 선형적인(=직선적인) 관계를 모델링 한 것이다. 즉, 선형 회귀란 주어진 데이터를..
머신러닝은 학습하려는 문제의 유형에 따라, 다음과 같이 크게 3가지로 분류된다. 지도 학습(Supervised Learning) 비지도 학습(Unsupervised Learning) 강화 학습(Reinforcement Learning) 지도 학습(Supervised Learning) 지도 학습이란 말 그대로 정답이 있는 데이터를 활용해 데이터를 학습시키는 것이다. 입력 값(X data)이 주어지면 입력값에 대한 Label(Y data)를 주어 학습시키는 것을 말한다. 예를 들어 인물 사진과 동물 사진을 주어 이건 사람이고 이건 동물이야라고 알려주는 학습 방식이다. 따라서 기계가 정답을 잘 맞췄는지 아닌지를 쉽게 알 수 있다. 지도학습에는 대표적으로 분류(classification)와 회귀(regressi..
베이즈 정리(Bayes Theorem) 베이즈 정리는 새로운 정보를 토대로 어떤 사건이 발생했다는 주장에 대한 신뢰도를 갱신해 나가는 방법이다. 베이즈 정리 증명 서로 영향을 끼칠 때의 두 사건에 대한 조건부 확률을 사용해 베이즈 정리를 증명할 수 있다. 다음과 같이 식을 정리하다보면 결과적으로 A가 일어났을 때의 B의 확률(P(B|A))를 구할 수 있다. 문제 적용 이제 free라는 메일이 와있을 때(A) 그것이 스팸메일인지(B) 아닌지를 구분해야 하는 문제에 나이브 베이즈 문제를 적용시켜보자. 10개의 메일 중에, 3개는 스팸메일이다. 그리고 그와 상관없이 free라는 단어를 포함하는 메일이 4개가 있다. 기본적으로 필요한 요소는 3가지 이다. P(spam) : 스팸메일의 확률 = 3/10 P(fre..
확률(Probability) 아래와 같이 사과 2개와 바나나 1개가 있을 때 사과를 집을 확률과 바나나를 집을 확률은 각각 아래와 같다. 조건부 확률(Conditional Probability) 어떠한 상황이 주어졌을 때, 그 상황 속에서 다른 상황이 일어날 확률이다. 조건부 확률의 두가지 경우 1. 서로 영향을 끼치지 않을 때 예시 : 녹색 셔츠를 입었을 때 잭팟이 터질 확률 2. 서로 영향을 끼칠 때 예시 : 비가 오는 날에는 우산 장사가 더 잘 될 것이다. www.inflearn.com/course/%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D%EC%9D%B4%EB%A1%A0-%ED%8C%8C%EC%9D%B4%EC%8D%AC%EC%8B%A4%EC%8A%B5/lecture/9538..
위와 같이 8개의 사진 중 겨울 가족 여행사진을 찾으라고 했을 때의 엔트로피와 정보이득을 구해보자. 엔트로피 총 8개의 사진에서 1개의 사진만 겨울 가족여행 사진이고 나머지 7장은 아닐 때의 엔트로피를 Entropy([1+,7-])라고 나타낼 수 있다. p(+)의 경우 1/8, p(-)의 경우 7/8을 Entropy식에 대입해보면 0.543이라는 결과가 나온다. 따라서 엔트로피는 0.543이다. 정보이득(Information Gain) 정보이득은 주어진 상황에서 하나의 속성을 잡았을 때의 엔트로피를 빼면 된다. Information Gain(winter family photo), cartoon)은 cartoon을 속성으로 잡았을 때이다. E(winter family photo)는 앞서 구한 0.543이다..
불순도(Impurity) 불순도란 다양한 범주(Factor)들의 개체들이 얼마나 포함되어 있는가를 의미한다. 쉽게 말하면 여러 가지의 클래스가 섞여 있는 정도를 말한다. 반대로 순수도(purity)는 같은 클래스끼리 얼마나 많이 포함되어 있는지를 말한다. 예를 들어, 아래와 같이 항아리 3개가 있을 때, 1번과 3번 항아리는 순도 100%라 할 수 있으며, 2번 항아리는 불순도가 높은 상태라 할 수 있다. 이 불순도를 수치화한 지표로 엔트로피(Entropy), 지니계수(Gini Index) 등이 있는데, 불순도를 엔트로피로 계산한 알고리즘이 ID3이며, 지니계수로 계산한 알고리즘이 CART알고리즘이다. 엔트로피(Entropy) 엔트로피란 데이터의 분포의 순수도(purity)를 나타내는 척도이며, 데이터의..
의사결정트리(Decision Tree) 의사결정트리는 분류와 같은 의사결정을 수행할 때, 나무와 같이 가지치기를 하면서 분류하는 방법이다. 이는 과거에 수집된 데이터들을 분석하여 이들 사이에 존재하는 패턴을 속성의 조합으로 나타내는 분류 모형이다. 의사결정트리 분류절차 새로운 데이터 분류(classification) 해당 범주 값 예측 트리 구조의 일반화된 지식 추출 의사결정트리의 두가지 데이터 유형 범주형 연속형 분류나무(Classification Tree) 회귀나무(Regression Tree) 범주형은 분류나무로써 의사결정트리를 구성하며, 연속형은 회귀나무로 의사결정트리를 구성한다. 하지만, 의사결정트리는 회귀모델의 정확도가 낮기 때문에 주로 분류의 목적으로 사용된다. 의사결정트리 구성 의사결정트리..