본문 바로가기

분류 전체보기

(64)
[머신러닝] 1-2 일반화 (Generalization) 1. 일반화란? 모델에 test set을 넣어보면서 정확도 높은 예측을 할 수 있도록 설계하는 것. 지난 시간에는 데이터셋을 넣어 모델을 훈련시켰다. 이를 통해 만들어진 모델은 이미 제공받은 데이터들에 대해서는 정확도가 높은 대답을 내놓을 것이다. 하지만 학습에 쓰이지 않은, 완전히 새로운 데이터를 넣었을 때의 답변은 어떠할까? 이때도 훈련 때처럼 정확도가 높아야 '모델의 성능이 좋다'고 말할 수 있을 것이다. 모델을 만드는 목적이 '예측'이기 때문이다. 훈련 데이터에서의 성능과 테스트 데이터에서의 성능이 유사하게 나온 것을 '일반화'가 잘 된 모델이라고 한다. 2. 일반화 방법 A. 2 way hold out 일반화는 어떻게 하는걸까? 바로 test 데이터셋을 통해 모델의 성능을 검증하고 가늠해보는 것..
[머신러닝] 1-1 Linear Regression 0. 머신러닝 데이터로부터 유용한 예측을 하기위해 모델이라고 불리는 소프트웨어를 학습시키는 과정. 모델은 데이터 간의 수학적 관계, 규칙, 패턴을 학습한 뒤 새로운 데이터가 들어왔을 때 예측을 한다. A. 머신러닝 방법론 ① 지도학습 : 답(label)이 있는 데이터를 학습하며 데이터와 답 간의 규칙 파악 회귀 문제 : 연속적인 값을 예측하는 문제. ex) 주택 가격 예측, 강수량 예측 분류 문제 : 데이터의 특정 범주에 속할 확률을 예측하는 문제. 범주의 갯수에 따라 이진 분류 / 다중 분류 문제로 나눌 수 있다. ex) 상품 구매 여부 예측, 고양이 종 예측 * 회귀 문제와 분류 문제는 예측값, 사용 모델, 평가 지표 등이 상이하니 어떤 문제를 풀고 있는 지 정확히 파악하는 것이 중요하다 ② 비지도학..
[기초 수학] 3-4 Gradient Descent(경사하강법) 1. 미분 함수를 작게 나누는 것. 함수를 대체 어떻게 나눈다는 말인가? x의 값을 아주아주아주 미세하게 변화시켰을 때, f(x) 값이 어떻게 변하는지 본다는 것이다. 사실상 x의 변화값이 너무너무너무너무 작기 때문에 '점의 기울기'라고 볼 수도 있다. 아래는 미분의 큰 원칙 네가지. 2. 경사하강법 예측값과 실제값 사이의 차이를 나타내는 오차함수를 그래프로 그려본다면, 이 차이가 가장 적은 지점을 찾아 해당하는 독립변수를 찾고싶을 것이다. 그래서 그 지점을 찾기위해 미분을 이용한다. 이후 교육과정에서 자세히 다뤄질 예정이니, 어떤 것인지만 알고 넘어가도록 한다.
[DS 기초] 3-3 clustering clustering 수많은 데이터들을 군집화하는 일. 예를 들어, 온라인 쇼핑몰 고객을 한달동안 방문 빈도와 총 구매건수를 통해 적극적 유저와 비적극적 유저, 유령회원 등을 나눌 수 있다. 또, 머신러닝 중 데이터가 분류가 되어있지 않은 경우에 클러스터링을 통해 자동으로 라벨을 붙여줄 수도 있다. K-Means Clustering 클러스터링도 여러 방법이 있지만 오늘 배울 방법은 K-Means Clustering이다. 만약 데이터를 4개의 집단으로 나누고 싶다면, 먼저 4개의 임의의 점을 찍는다. 그리고 가까운 데이터들을 해당 클러스터로 할당한다. 클러스터별로 평균을 구해 다시 4개의 점을 찍고, 또 가까운 점들을 배정한다. 연속적으로 위 행위를 반복하다보면 평균으로 찍힌 점의 위치가 변하지 않고, 특정..
[기초 수학] 3-2 PCA 1. 공분산과 상관계수 공분산 - 변수 간의 연관성을 보여주는 지표 - 두 변수에 대하여 한 변수가 변화할 때, 다른 변수가 어떠한 연관성을 갖고 변하는 지를 나타낸 값 - 공분산이 음수라면 두 변수가 반대 방향으로 움직이는 경향성, 양수라면 같은 방향으로 움직이는 경향성을 가진다고 볼 수 있다 - 공분산의 절댓값이 클수록 두 변수의 연관성도 크다고 볼 수 있다 - 다만 연관성이 같더라도 변수 자체의 값(스케일)이 크면 공분산이 크게 나온다 #공분산 구하기 df.cov() #dataframe 형태로 출력 np.cov(df.T) #array 형태로 출력 상관계수 - 공분산을 두 변수의 표준편차로 나눈 값 - 위에서 변수의 스케일에 따라 공분산이 달라진다고 했는데, 그 부작용을 제거할 수 있는 지표 - 1에..
[기초 수학] 3-1 기본 선형대수 1. list와 array 그리고 set list - 파이썬 기본 배열 - 하나의 list 안에 서로 다른 자료형을 담을 수 있다 - 수치적 연산 불가 array - numpy 배열 - 하나의 array 안에는 동일한 자료형들만 담을 수 있다 - 수치적 연산 가능 (array 내 평균 구하기, 다른 array와의 덧셈-뺄셈 등) a = [1,2,3] array_a = np.array(a) set - 순서가 없다 - 자료간 중복을 허용하지 않는다 2. 선형대수 선형대수를 이용해 컴퓨터에 데이터를 이해시키고 그 속의 패턴을 설명한다. a. 스칼라 : 상수 b. 벡터 : 1차원 형태의 배열 벡터의 크기(norm, length, magnitude) - 벡터의 길이를 나타내므로 음수가 될 수 없음 벡터의 내적(D..
[통계학] 통계적 유의성 / p-value 통계적 유의성 모집단에 대한 가설이 가지는 '통계적 의미'를 말한다. 다시 말해서, 어떤 실험 결과 자료를 두고 "통계적으로 유의하다."라고 하는 것은 확률적으로 봐서 단순한 우연이라고 생각되지 않을 정도로 의미가 있다는 뜻이다. 반대로 "통계적으로 유의하지 않다."라고 하는 것은 실험 결과가 단순한 우연일 수도 있다는 뜻이다. 귀무 가설(H0) 통계학에서 처음부터 버릴 것을 예상하는 가설. 기본적으로 '참'으로 추정하지만 이 귀무가설을 기각하려는 시도를 통해서 통계적 발견을 하게된다. 수식으로 썼을 때, 같다는 뜻의 equal sign ( = )을 포함하고 있다. =, =>, =, sample_mean).mean() #>> 0.0 p-value는 0이므로 귀무가설을 기각할 수 있다. 아래와 같은 방법으..
[통계학] Z-Score Z-Score Z-Score은 표준편차의 그래프에서 특정 경우가 표준편차 상에 어떤 위치를 차지하는지를 보여주는 수치다. 표준 점수(Standard Score), 정규 점수, Z변수로 불리기도. 쉽게 말해서, 표준편차의 그래프에서 x축에 특정 위치 a를 짚는다. 그리고 a가 평균에서 얼마나 떨어져 있는지를 나타낸다. 단, 표준편차의 수준에서 나타낸다. z = (a - μ) / ∂ 참고 : https://ko.wikipedia.org/wiki/%ED%91%9C%EC%A4%80_%EC%A0%90%EC%88%98 누군가 데이터셋을 정규화하자고 말하면 다음과 같은 작업 순서를 가진다 ① 표본 분포의 그래프를 그린다 ② 표본 분포의 평균과 표준편차를 구한다 ③ 표본 분포의 평균을 0으로 두고, 표준편차를 1로 만..