본문 바로가기

Machine Learning8

Machine Learning Resources - Lectures (ML 기본강좌) [머신러닝 입문 강좌]Andrew Ng's ML class https://class.coursera.org/ml-003/lectureML class wiki : https://share.coursera.org/wiki/index.php/ML:MainML1 class wiki : https://share.coursera.org/wiki/index.php/ML1:Mainnote : http://www.holehouse.org/mlclass/ [모두를 위한 머신러닝(한글)]김성훈 교수님 classhttp://hunkim.github.io/ml/ [머신러닝 입문 온라인북]Bengio textbookhttp://www.deeplearningbook.org/https://www.youtube.com/watch?v=.. 2017. 7. 11.
44. 빅데이터 대응하기 : Large Scale Machine Learning 최근 5년~10년 동안에 머신 러닝이 급격하게 발전한 이유중에 하나는 데이터가 많아졌기 때문이기도 합니다. 최근에 대두된 빅데이터의 시대가 보다 정확한 머신러닝에서의 학습에 큰 도움이 되기 때문입니다. 때문에 우리는 많은 데이터들을 통해 학습을 하게 되는 경우가 자주 발생합니다. 하지만 이런 빅데이터는 학습하는 속도에 영향을 미치기도 하며 알고리즘이 연산을 함에 있어서 연산 비용이 크게 증가하는 원인이 되기도 합니다. 이번에는 이렇게 스케일이 큰 데이터들을 다루는 방법(알고리즘)들에 대해서 알아보도록 하겠습니다. 우리가 이전에도 살펴보았듯이 머신 러닝에서 어느 알고리즘을 사용하면 더 좋은 성능을 보이는가에서는 크게 차이가 없었습니다. 하지만 데이터의 사이즈가 커질 수록 더 좋은 결과가 나타난다는 것은 명.. 2016. 9. 5.
27. 머신러닝 시스템을 디자인 하는 방법 (Machine Learning System Design) 지금까지 머신러닝에 대한 중요한 내용들을 배웠습니다. 이번에는 조금 다른 방향으로 생각해보려고 합니다. 스팸 메일을 분류하는 시스템을 만든다고 생각해 보겠습니다.이 시스템은 분류(classification)에 대한 내용임으로 Supervised Learning에 속하는 문제가 됩니다.이메일의 features를 x라고 하고 스팸인지 아닌지 여부를 y라고 합시다. (스팸은 1, 정상은 0)이중에서 100개의 단어를 선택하여 이메일과 대조를 해보면서 각 features가 이메일 내용에 포함이 되어 있으면 1과 그렇치 않으면 0으로 표현을 할 수 있습니다. 아래 그림과 같이 x는 각 단어를 포함하는지 여부에 대한 vector가 될 것입니다. 100의 기본 단어로 시작을 했지만 점차적으로 5만여개까지 늘어날 수도.. 2016. 8. 6.
6. 머신이 학습하는 알고리즘 (Gradient descent algorithm) 지난번에 Cost 함수에 대해서 알아보았습니다. 이번에는 Cost 함수를 minimizing 하기 위한 알고리즘에 대해서 알아보겠습니다.이 알고리즘의 이름은 Gradient descent algorithm이라고 합니다. 변역해서 이야기 하면 경사면을 하강하는 알고리즘이 되는데 실제로도 그렇습니다. 우리는 기본이 되는 linear regression에서 하나씩 살펴보고 있지만 실제로 이 알고리즘은 여러 다양한 분야에서 범용적으로 사용이 되는 알고리즘입니다. 중요하다는 뜻이 되겠습니다. Cost 함수를 minimizing하기 위한 방법중에 하나인 이 Gradient descent algorithm은 이미 알고 계시듯이 우리가 목표로 하는 직선을 찾기 위한 방법이되고 이를 머신이 학습한다고 표현합니다. 현재까.. 2016. 7. 5.
5. 결과 값을 비교하는 방식(Cost function) 우리는 Supervised 방식을 공부하고 있기 때문에 결과 값을 비교할 수 있습니다.왜냐하면 실제 정확한 결과 값을 알고 있기 때문입니다.이 결과 값을 비교할 수 있는 표현이 Cost입니다. 그리고 Cost를 수학적인 함수로 표현하는 것도 배우게 될 것입니다. 이전 내용에서 이어서h 함수를 일차방정식으로 표현할 수 있었습니다. ( h = Ax + B)여기서 A와 B를 Parameters라고 합니다. 이 파라미터가 결정이 되면 우리는 원하는 결과 값을 찾을 수 있게 됩니다. 그럼 이 파라미터 값은 어떻게 찾을 수 있을까요?바로 minimize를 해서 찾을 수 있습니다. 우리는 이미 결과 값을 알고 있기 때문에 실제 결과 값과 알고리즘이 수행하여 예측한 결과 값을 비교해서 그 차이를 구할 수 있는데, 이 .. 2016. 7. 4.
4. Supervised Learning - Regression 표현 이제 한걸음 들어가게 됩니다.앞에서 공부했던 Supervised Learning에서 regression 에 대한 예시를 가지고 이것을 수학적인 표현식으로는 어떻게 표현이 되는지를 보겠습니다. 집의 사이즈에 따라서 집의 매매가격의 변화하는 데이터를 그래프로 표현하면 아래와 같습니다.사이즈가 커지면 가격이 높아지니 선을 하나 그어볼 수 있을 것입니다.이 직선은 사이즈와 가격에 대한 변화를 아주 잘 나타내는 그래프이자 수학적으로는 일차방정식으로 표현이 됩니다. 데이터셋의 실제 데이터들을 하나씩 열어보면 아래와 같이 사이즈와 가격으로 구성이 된 정보들을 볼 수 있습니다.저기 지역에서는 사이즈가 2104 피트인 집이 460,000달러인가 봅니다. DataSet의 크기, 즉 데이터의 수량을 m으로 표현을 하고집의 .. 2016. 7. 3.
3. 머신이 학습하는 방식들 머신이 학습을 하는 방식은 Supervised Learning과 Unsupervised Learning의 2가지로 구분이 됩니다.이는 기초 데이터인 Dataset의 성격과 원하는 결과 값의 성격에 따라 다르게 사용이 됩니다. Supervised Learning 변역하면 지도식 학습 방법입니다.선생님이 학생을 교육하듯이 이미 답을 알고 있는 상태에서 학습을 하는 경우입니다.DataSet이 이미 결과 값을 포함하고 있어 머신이 학습을 수행하여 나온 결과 값이 얼마정도의 오차를 가지고 있는지 알수 있는 경우에 사용될 수 있습니다. 예를들어, 집의 사이즈에 따른 집의 가격을 분석한다면 우리는 이미 평수에 따른 가격이 어떻게 구성이 되는지를 알고 있습니다. 실제로 집이 거래된 가격도 정확하게 알 수 있습니다. 이.. 2016. 7. 3.
2. 개요와 히스토리 Machine Learning 머신 러닝의 기본 방식은 크게 3가지로 구성이 됩니다.분석하고자 하는 데이터를 기초로 머신이 학습 또는 task를 수행하게 되고 그 수행결과 값이 실제 값과 같은지를 판단하는 과정으로 진행이 됩니다. 여기에서 사용되는 기초 데이터를 Dataset 이라고 하며 데이터는 수량이 많고 다양할 수록 좋은 데이터가 될 것입니다. 이러한 데이터를 수집하는 단계가 있을 것입니다. 그리고 머신이 학습을 수행하는 단계에서 앞으로 공부하게 될 Algorithm 들이 적용이 될 것입니다. 이렇게 수행한 결과 값이 우리가 원하는 값이 되어야 하며, 실제 우리가 원하는 값과 비교를 하여 그 결과가 적절한 것인지 아닌지 여부를 측정하게 됩니다. 만약 원하는 값이 아니라면 수행을 계속 진행하거나 알고.. 2016. 7. 2.