Box World
어제보다 나은 사람이 되기

걱정보단 실행을, 그러나 계획적으로

Box World 자세히보기
반응형

전체 글 71

[머신러닝] Logistic Regression 이해하기 2

시작하며 저번 포스팅에선 Supervised Learning 중 하나인 Classification 에 대해 알아보고, 여기에 사용되는 Logistic Regression 의 기초를 공부하였습니다. Logistic Regression 이해하기 1 https://box-world.tistory.com/13?category=397062 이번 포스팅에서는 Logistic Regression에서 사용되는 Cost Function 은 무엇이며, 이를 Gradient Descent Algorithm 에 적용하여 어떻게 최적의 Decision Boundary 를 만드는 θ를 구하는지 알아보겠습니다. Logistic Regression - Cost Function 우선 Logistic Regression에서 이용하는 C..

[머신러닝] Logistic Regression 이해하기 1

시작하며 우리는 그동안 Supervised Learning 에서 회귀(Regression) 를 중점적으로 다뤘습니다. 이때 회귀 란 결과값을 예측하는 것이었습니다. 이제부터는 마찬가지로 Supervised Learning 중 하나인 분류(Classification) 을 배워보겠습니다. Classification Classification 이란 어떤 기준에 의해 데이터를 처리하고 이를 A인지 B인지 내지는 1인지 0인지 식의 결과값 을 얻고 싶을 때 사용합니다. 앞으로 우리는 이렇게 이분법적으로 분류하는 Binary Classification 을 공부할 것이며 2가지 이상으로 분류하는 Multiple Classification 도 앞으로 차차 공부하게 될것입니다. EX) 이메일이 Spam vs Not Sp..

[머신러닝] Feature 선택과 다항 회귀(Polinomial regression)

시작하며 이번 포스팅에선 정확하고 효율적인 머신러닝을 위해서, 데이터의 Feature가 어떤 영향을 끼치는지 알아보겠습니다. 겹치는 Feature는 합치자 위는 제가 참여했던 대회에서 버스 정보를 이용하여 버스의 도착 시간을 예상하는 모델 을 만들어 보라고 저에게 주어진 데이터입니다. 주어진 데이터의 feature에는 1)출발 지점의 위도(now) 와 2)도착 지점의 위도(next) 가 포함되어있었습니다. 이 둘을 그대로 학습에 적용할 수도 있지만 이 두 feature 대신 두 위도의 직선거리라는 새로운 feature로 대체 하여 전체 feature의 갯수를 줄인다면, 가설함수 h는 훨씬 심플 해지지 않을까요? 이처럼 모델 학습에 앞서 feature를 합치거나 필요가 없는 feature는 과감히 삭제해버..

[머신러닝] Normal Equation vs Gradient Descent Algorithm(경사 하강 알고리즘) in 선형 회귀(linear regression)

시작하며 경사 하강 알고리즘(Gradient Descent Algorithm)은 선형 회귀(Linear Regression)에서 비용 함수(Cost Function)를 최소화하는 θ를 찾기 위한 방법 중 하나입니다. 이번 포스팅에선 이러한 θ를 찾는 또 다른 방법인 Normal Equation 에 대해 알아보고 경사 하강 알고리즘과의 차이점까지 알아보겠습니다. Normal Equation Gradient Descent Algorithm은 미분 값을 이용하여 반복적으로 θ를 갱신하면서 최적의 θ를 찾게 됩니다. 여기서 반복적인 연산이 이뤄진다는 점이 경사 하강 알고리즘의 단점 이라고 할 수 있습니다. 하지만 Normal Eqution을 이용하면 한번에 θ를 구할 수 있습니다. 우선 Normal Equati..

[머신러닝] 데이터 전처리(Feature Scaling)을 이용한 경사 하강 알고리즘(Gradient Descent Algorithm)

시작하며 우리가 머신러닝을 하면서 어떤 알고리즘이나 기법을 사용하여 모델을 학습시킬 것인가도 중요하지만, 학습을 위해 사용되는 데이터를 어떻게 가공해서 모델에게 학습시킬 것인가 도 정말 중요합니다. 오늘은 데이터 전처리(Feature Scaling) 를 배우면서 효과적인 학습을 위해 어떻게 데이터를 가공하고 어떤 이점을 지니고 있는지 공부해보겠습니다. 데이터 전처리(Feature Scaling) 막대기의 길이를 비교하는 경우 를 생각해봅시다. 우리가 막대기의 대소관계를 파악하기 위해서는 왼쪽 처럼 아무렇게나 널부러뜨려놓고 눈대중으로 비교하기보단, 오른쪽 처럼 동일한 선상에 막대기를 가지런히 놓고 관측하면 훨씬 더 정확하고 빠르게 대소관계를 알 수 있겠죠? 우리가 머신러닝에서 사용할 데이터도 마찬가지입니다..

[머신러닝] 다변수 선형 회귀(Multivariable Linear Regression )이란

시작하며 행렬(Matrix) 이 가지는 가장 큰 의미는 아무리 많은 데이터라도 행렬을 이용하면 계산과 표현이 간단해진다는 것입니다. 이번 포스팅에서는 우리가 그동안 배운 선형 회귀(one-variable Logistic Regression) 가 특징(feature)이 하나가 아닌 두개 이상일때(Multiple Features) 어떻게 나타나는지 알아보겠습니다. 다변수 선형 회귀(Multivariable Logistic Regression) 여기 공부한 시간(hours)에 따른 시험 점수(exam score) 를 예측하는 상황을 생각해보겠습니다. 여기서 주목해야할 것은 시험점수라는 결과값 y를 예측하기 위해 공부한 시간 x라는 하나의 feature만 쓰였다는 점입니다. 그래서 위 이미지에서 one-vari..

[머신러닝] 머신러닝 공부 전 꼭 알아야 할 행렬(Matrix)과 벡터(Vector)

시작하며 저번 포스팅에서는 경사 하강 알고리즘에 대해 공부했었습니다. 이번 포스팅에서는 다음 포스팅에서 배울 다변수 경사 하강 알고리즘을 공부하기 전 행렬(Matrix) 과 벡터(Vector) 에 대한 기초를 다져보도록 하겠습니다. 행렬(Matrix) 행렬 이란 직사각형 모양의 숫자의 배열입니다. 이때 여러 숫자들을 모아서 한번에 표현했다는 것에 주목해야합니다. 왜냐면 행렬은 다량의 데이터를 한번에 표현할 수 있는 좋은 수단 이기 때문입니다. 여기서 조심해야할 점은 우리가 아는 표(Graph)와 행렬(Matrix)의 차이 를 명확하게 알아야 합니다. 표 는 여러가지 데이터를 효과적으로 시각화하기 위함입니다. 행렬 은 다량의 데이터에 대한 계산을 편리하게 하기 위함입니다. 행렬의 차원(Dimension) ..

[머신러닝] 경사 하강 알고리즘(Gradient Descent Algorithm)이란

시작하며 이번 포스팅에선 비용 함수(Cost Function)의 비용값을 최소화 하는 파라미터 θ를 찾는 경사 하강 알고리즘(Gradient Descent Algorithm) 에 대해 공부해보겠습니다. 경사 하강 알고리즘(Gradient Descent Algorithm) 경사 하강 알고리즘은 비용 함수 J(θ(0),θ(1))를 최소화 하는 θ를 구하는 알고리즘으로 머신러닝에서 굉장히 폭넓게 쓰입니다. 작동원리는 단순합니다. θ에 대해 임의의 초기값 즉 시작점을 잡습니다. 그리고 J가 최소가 될때까지 θ값 갱신을 반복하여 최솟값에 도달했을 때 해당하는 θ를 찾아냅니다. := : 대입 연산자 θ 값을 갱신한다는 의미입니다. 'α 뒤에 곱해져있는 것'은 비용 함수 J의 미분값 입니다. α : learning ..

[머신러닝] 비용함수(Cost Function)란

시작하며 오늘 포스팅에서는 머신러닝의 기본적인 모델과 함께 가설함수(hypothesis) 와 비용함수 (Cost Function) 를 알아보며 다음 포스팅에서 알아볼 경사 하강 알고리즘을 위한 기초를 다져보겠습니다. 머신러닝의 기본적인 모델 위 그래프는 집의 크기(Size) 에 따라 집의 가격(Price) 이 어떻게 형성되는지 보여주는 그래프 입니다. 이제부터 우리는 만약 임의의 집의 크기(Size)가 주어졌을 때 그 집의 가격(Price)이 얼마인지 예측하는 것 을 목표로 삼을 것입니다. 그러기 위해선 우리는 데이터를 대표할 수 있는 적합한 모델을 찾아 Size에 따라 적절한 Price를 제시할 수 있게 해야합니다. 이는 지도학습(Supervised Learning)에서 회귀(Regression) 에 ..

[머신러닝] 지도학습(Supervised) vs 비지도학습(Unsupervised) vs 강화학습(Reinforcement)

시작하며 머신 러닝은 데이터를 이용하여 컴퓨터를 학습시키는 방법론 을 의미합니다. 결국 컴퓨터를 어떻게 학습시킬 것인가 하는 부분에서 머신러닝의 알고리즘은 - 지도학습(Supervised learning) - 비지도학습(Unsupervised learning) - 강화학습(Reinforcement learning) 으로 나뉩니다. 오늘 포스팅을 통하여 이 세가지 학습의 차이를 알아보고 머신러닝의 기초 개념을 쌓아보고자 합니다. 지도학습(Supervised) 지도학습 이란 데이터에 대한 명시적인 정답 즉 레이블(label) 이 주어진 상태에서 컴퓨터가 학습하는 방식입니다. 위 이미지는 손글씨로 작성된 0부터 9까지의 숫자들입니다. 이 경우 각 데이터의 레이블(정답)은 각 손글씨가 의미하는 숫자가 될 것입니..

반응형