DATA/머신 러닝

DATA/머신 러닝

    [머신 러닝] 과소적합(underfitting), 과대적합(overfitting)

    편향과 분산 직선 모델은 너무 간단해서 복잡한 곡선 관계를 학습하지 못한다는 한계가 있습니다. 모델이 너무 간단해서 데이터의 관계를 잘 학습하지 못하는 경우 그 모델은 편향이 높다 라고 합니다. 모델의 복잡도를 높여서 트레이닝 데이터의 관계를 완벽히 학습했다면 그 모델은 편향이 낮다 라고 할 수 있습니다. 그렇다면, 편향이 낮은 모델은 항상 편향이 높은 모델보다 좋을까요? 꼭 그렇지만은 않습니다. 각 모델이 처음 접하는 데이터인 테스트 데이터 셋에 대해서 모델의 성능을 평가해보면, 트레이닝 데이터의 관계를 완벽하게 나타내는 모델은 너무 트레이닝 데이터에 딱 맞춰서 학습되어있기때문에 처음 보는 테스트 데이터 셋에 대해서는 편향이 높은 모델보다 성능이 더 안좋을 수 있습니다. 이렇게 데이터셋별로 얼마나 일관..

    [머신 러닝] 더 빠르게, 더 정확하게

    데이터 전처리 데이터 전처리는 주어진 데이터를 그대로 사용하지 않고, 좀 가공해서 목적에 맞게 더 좋은 형태로 변형해주는 것입니다. Feature Scaling Feature Scaling은 입력 변수들의 크기를 조정해서 일점 범위 내에 떨어지도록 바꿔주는 것입니다. 예를 들어 연봉이랑 나이라는 입력 변수가 있다고 하겠습니다. 사람의 연봉은 몇천만원인것에 비해 사람의 나이는 몇십살밖에 안됩니다. 이렇게 너무 차이가 나는 게 모델 학습에 방해가 될 수 있기 때문에 Feature Scaling을 해서 입력 변수의 크기가 모두 일정 범위 내에 들어오도록 변형해주는 것입니다. Feature Scaling은 경사 하강법이 더 빨리 수행되도록 도와줍니다. 그 이유는 아래 사진을 참고하세요. 이미지 출처 Featur..

    [머신 러닝] 로지스틱 회귀 (Logistic Regression)

    로지스틱 회귀 선형 회귀를 이용해서 분류를 할 수 있긴 하지만 선형 회귀는 예외적 데이터에 너무 민감합니다. 그래서 분류를 할 때는 보통 선형 회귀 대신 로지스틱 회귀를 이용합니다. 선형 회귀는 데이터에 가장 잘 맞는 일차 함수를 찾는 것이고, 로지스틱 회귀는 데이터에 가장 잘 맞는 시그모이드 함수를 찾는 것입니다. 시그모이드 함수는 아래와 같이 쓰고, \[ \displaystyle sigmoid(x) = \frac{1}{1 + e^{-x}} \] 그래프는 아래와 같습니다. 시그모이드 함수는 무조건 0과 1 사이의 값만 반환합니다. 그러니까, x가 아무리 커도, 아무리 작아도 0과 1사이의 값만 반환합니다. 결과가 0과 1 사이라는 것은 어떤 의미일까요? 선형회귀에서 썼던 일차함수 같은 경우에는 결과가 ..

    [머신 러닝] 다항 회귀 (Polynomial Regression)

    다항 회귀 입력 변수와 목표 변수의 관계를 여태 직선으로 나타냈는데, 사실 그 관계를 가장 잘 나타내는 게 직선이 아닐 수도 있습니다. 단일 속성 다항 회귀 다항 회귀도 두 가지로 나뉘는데, 속성이 하나인 경우랑 속성이 많은 경우입니다. 속성이 많으면 다중 다항 회귀라고 하는데, 우선 간단하게 속성이 하나인 경우부터 보겠습니다. 가설 함수가 이차 함수라면 아래와 같이 쓸 수 있습니다. \[ h_{\theta}(x) = \theta_{0} + \theta_{1}x + \theta_{2}x^{2} \] 선형 회귀를 할 때랑 마찬가지로 할 일은 학습 데이터에 잘 맞는 \(\theta\)를 찾는 것입니다. 그런데 위 식은 \( h_{\theta}(x) = \theta_{0} + \theta_{1}x_{1} + ..

    [머신 러닝] 다중 선형 회귀 (Multiple linear regression)

    다중 선형 회귀 여태는 이해의 편의를 위해 입력 변수가 1개인 경우로 한정해서 생각했는데요, 그런데 실제 상황에서는 입력 변수가 하나밖에 없는 경우는 굉장히 드뭅니다. 예를 들어, 집 값은 그 집의 평수만으로 예측하기엔 무리가 있죠, 그래서 보통은 훨씬 많은 입력 변수를 갖고 예측을 합니다. 이렇게 여러 입력 변수를 가지고 선형 회귀를 하면 다중 선형 회귀(Multiple Linear Regression)라고 합니다. 다중 선형 회귀는 시각적으로 표현하기 힘들어서 이해하기가 힘들 수 있는데 시각화를 못할 뿐이지 기본 개념은 이전 챕터에서 했던 것과 거의 똑같습니다. 다중 선형 회귀 표현법 다중 선형 회귀에서는 앞서 말했듯이 입력 변수가 여러 개 있습니다. 입력 변수의 개수는 n이라는 변수로 표현하고, i..

    [머신 러닝] 선형 회귀 (Linear Regression)

    선형 회귀(Linear Regression)란? 선형 회귀는 머신러닝에서 가장 단순하기도 하면서 대표적인 알고리즘으로, 종속 변수 y와 한 개 이상의 독립 변수 X와의 선형 상관 관계를 모델링하는 회귀분석 기법입니다. 좀 더 쉽게 말하면 주어진 데이터로부터 x와 y의 관계를 가장 잘 나타내는 직선을 그리는 것을 말합니다. 선형회귀는 프로그램에게 답을 알려 주면서 학습을 시키기 때문에 지도 학습 알고리즘에 속합니다. 그럼 선형 회귀에 대해 알아보기 전에 먼저 선형 회귀 용어부터 살펴보겠습니다. 선형 회귀 용어 학습 데이터: 프로그램을 학습시키기 위해 사용하는 데이터 목표 변수: 맞추려고 하는 값 (target variable, output variable이라고도 합니다.) 입력 변수: 맞추는 데 사용하는 ..

    [머신 러닝] 머신 러닝이란?

    머신 러닝 프로그램 일반적인 프로그램은 우리가 정해준 대로 일을 하는데, 머신 러닝 프로그램은 경험을 통해서 스스로 업무 능력을 키웁니다. 인공 지능, 빅 데이터, 머신 러닝 빅 데이터 간단하게 표현하자면 많은 양의 데이터를 다루는 분야입니다. 많은 양의 데이터를 효율적으로 보관/처리하고, 많은 양의 데이터를 분석해서 의미 있는 결과물을 만들어내는 것입니다. 머신 러닝도 일반적으로 많은 양의 데이터를 쓰기 때문에 빅 데이터와 겹친다고 볼 수 있습니다. 인공 지능 인공 지능은 컴퓨터 프로그램이 인간처럼 생각하거나 동작하게 하는 학문입니다. 영화에서 보는 인공 지능 로봇들은 사실상 인공 지능의 최고 목표이고, 그걸 달성하기 위한 수단 중 하나로 머신 러닝을 사용하는 것입니다. 딥 러닝 딥 러닝은 머신 러닝에..