금융/AI/IT 기사
이제 그동안 배웠던 Linear regression를 이용한 머신러닝을 실제 구현을 해보겠습니다. Octave를 이용해서 간단하게 해볼 수 있습니다. 실습을 하기 이전에 벡터화를 하는 방법에 대해서 잠시 살펴보고 하겠습니다. Vectorization 우리가 배웠던 h함수를 아래 그림과 같이 공식으로 나타낼 수 있었습니다. 왼쪽편 아래에 표기된 방법으로 구현을 하게 되면 이것은 벡터로 처리하는 것이 아닙니다. 반복문을 돌면서 각각의 변수들을 개별적으로 처리하는 […]
앞에서 Octave를 설치하였으니 이제 간단한 사용법에 대해서 알아보겠습니다. 교수님의 강의에서 실제로 명령어들을 직접 실행하면서 보여주시기에 명령어를 순서대로 나열해서 정리하려고 합니다. 그러므로 직접 Octave에서 순서대로 실행을 하시면서 이해하시면 좋을 것 같습니다. 각 명령어 옆에 %는 주석이고 주석에 간단히 설명을 달아놓았습니다. 1. Octave Basic Operations 1 == 2 % 1과 2가 같은 값이면 true(1) 아니면 false(0) 1 ~= 2 % 1과 […]
자 이제 직접 실습을 하기 위한 프로그램인 Octave를 설치해보록 하겠습니다. 자신의 pc환경에 맞는 설치파일을 찾아서 설치하면 되며, 머신러닝 강좌를 위해 교수님이 올려놓은 파일을 사용해도 되고 직접 최신 버젼을 사용해서 설치를 해도 됩니다. 아래 두개의 링크를 클릭하셔서 자신의 pc에 맞는 원하는 버젼을 다운로드 받아서 설치하시면 됩니다. 설치는 간단하게 다운로드 받은 파일을 실행해서 진행하시면 됩니다. 혹시 어려움이 […]
지금까지 linear regression에서 머신이 학습하는 알고리즘으로 Gradient Descent Algorithm에 대해서 배웠습니다. 이번에는 이를 대체하여 사용할 수 있는 또 다른 방법인 Normal Equation(정규방정식)에 대해서 알아보겠습니다. Normal Equation 아래 그림과 같이 Gradient Descent는 경사면을 하강하면서 최저점을 찾는 방식이기에 한걸음씩 내려오면서 여러번을 수행하게 됩니다. 하지만 Normal Equation을 사용하면 한번에 찾아갈 수 있는 장점이 있습니다. 물론 단점도 있습니다 J함수가 세타에 […]
Feature 아래 그림과 같은 두개의 features가 있다고 생각해보겠습니다. 집의 사이즈를 나타내기 위한 폭과 넓이, 이 두가지 데이터가 있습니다. features가 두개임으로 h함수는 아래와 같이 3개의 parameters를 갖는 함수로 표현이 됩니다. 여기서 우리는 이 두개의 features이 의미하고자 하는 정보를 다시 생각해볼 수 있을 것입니다. 결국 우리가 원하는 것은 집의 사이즈 정보이지 사이즈가 어떻게 구성이 되었는지는 별로 중요하지 […]
이번에는 Gradient Descent 알고리즘을 사용할때 유의할 내용에 대해서 알아보겠습니다. Feature Scaling 이제 우리는 많은 features들의 data를 사용할 수 있게 되었습니다. 각각의 features는 다른 정보를 나타내는 값들이기 때문에 이 값들이 어떤것은 사이즈를 나타내어 단위가 1000단위로 표현이 되고 어떤것은 층수를 나타내어 1~10까지의 단위로 표현이 되기도 할 것입니다. 만약 이런 데이터들을 그대로 사용하면 어떻게 될까요 아래 그림과 같이 […]
자 이제 그동안에 배웠던 내용을 다시 기억해봅니다. 이전에는 집의 사이즈에 대한 집 매매가격에 대한 예제 dataset를 가지고 했었는데요 집의 가격에 영향을 미치는 요인이 단지 사이즈만 존재하는 것은 아니겠지요. 그래서 data(feature)를 더 추가해보려고 합니다. 아래 그림에서와 같이 방의 갯수, 층수, 건물이 지어진 년수와 같은 3가지 data를 추가하였습니다. 1번째 데이터를 보면 집에 사이즈는 2104피트이고 방이 5개가 있고 1층으로 지어진 […]
이번에는 선형대수학(Linear algebra)에 대해서 공부를 합니다. 이름은 거창하지만 실제로는 더하기, 곱하기 이런 기본 산수 수준인데 단지 다른 것은 알고리즘을 사용하기 위해서 필요한 행렬과 벡터 위주로 다루고 있습니다. 행렬이나 벡터도 이름만 거창하지 실제로는 여러번 산수해야하는 것을 한번에 산수하면 되도록 해주는 도구라고 생각하면 될 것 같습니다. 알아두면 매우 유용한 면이 많아 보이는 내용입니다. 예를 들어서, 1+1, 1+2, […]
지난번에 Cost 함수에 대해서 알아보았습니다. 이번에는 Cost 함수를 minimizing 하기 위한 알고리즘에 대해서 알아보겠습니다. 이 알고리즘의 이름은 Gradient descent algorithm이라고 합니다. 변역해서 이야기 하면 경사면을 하강하는 알고리즘이 되는데 실제로도 그렇습니다. 우리는 기본이 되는 linear regression에서 하나씩 살펴보고 있지만 실제로 이 알고리즘은 여러 다양한 분야에서 범용적으로 사용이 되는 알고리즘입니다. 중요하다는 뜻이 되겠습니다. Cost 함수를 minimizing하기 위한 […]
우리는 Supervised 방식을 공부하고 있기 때문에 결과 값을 비교할 수 있습니다. 왜냐하면 실제 정확한 결과 값을 알고 있기 때문입니다. 이 결과 값을 비교할 수 있는 표현이 Cost입니다. 그리고 Cost를 수학적인 함수로 표현하는 것도 배우게 될 것입니다. 이전 내용에서 이어서 h 함수를 일차방정식으로 표현할 수 있었습니다. ( h = Ax + B) 여기서 A와 B를 Parameters라고 […]