본문 바로가기

반응형

Mathematics/Machine Learning

(7)
Testing and validating machine learning 머신러닝 모델을 만들면 당연히 테스트해봐야 한다. 테스팅 방법 training set 과 test set training set으로 학습시키고, test set으로 테스트를 해본다 보통은 training set에서 1~20% 정도를 test set으로 남겨두거나, 데이터의 양에 따라서 가감한다 test set에서 생기는 에러율을 generalization error 혹은 out of sample error라고 부른다 일반화 에러가 높다면, training data 에서 과최적화를 했다는 것이다. Hyperparameter Tuning and Model Selection 모델 선택을 할 때(선형모델, 다항모델 등)도 마찬가지 트레이닝셋으로 비교하고자 하는 모델에서 모두 학습시킨 뒤 테스트셋으로 나누어 테스..
머신러닝 결과를 나쁘게 하는 것 머신러닝 결과를 나쁘게 하는 것 안좋은 데이터 안좋은 알고리즘 안좋은 데이터 예시 충분하지 않은 트레이닝 데이터 충분한 양의 데이터가 주어졌을 때 각각의 다른 알고리즘에도 불구 정확한 수행율을 보임 충분한 양의 데이터가 있다면, 알고리즘보다는 데이터가 더욱 중요 Nonrepresentative Training Data 빠진 정보를 몇 개 더 넣는 것만으로도 훨씬더 정확한 모델을 만들 수 있음 트레이닝 데이터셋이 실제로 예측하고자 하는 모든 예제의 대표격인지를 확신할 수 있어야 함 Sampling noise : 데이터의 양이 적을 경우 Sampling bias : 샘플링 방법이 좋지 않으면, 데이터가 많아도 문제가 생길 수 있음 Poor Quality Data 에러, 아웃라이어, 노이즈 이런 데이터일 경우..
사례기반 vs 모델 기반 머신러닝 머신러닝을 분류하는 또 다른 기준 : 어떻게 일반화하는가? 대부분의 머신러닝 목적은 예측을 하는 것. 사례기반 학습 주어진 예제를 통해 학습 measure of similarity(유사도)를 가지고 사례를 일반화 일반화시킨 예제를 가지고 비교해 새로운 것을 예측 모델 기반 학습 다양한 예제들을 통해 모델을 만듬 예시 모델 : linear model $Life\;satisfation = \theta_0+\theta_1 \times GDP\;per\;capita$ 모델을 사용하기 전에 먼저 $\theta_0$와 $\theta_1$의 값을 지정해야 함 어떤 값이 이 모델을 제일 효과적으로 퍼폼하게 할까? $\to$ specify performance measure utility function(how good..
배치 학습과 온라인 학습 머신러닝을 분류하는데 사용하는 다른 기준 : 데이터의 스트림으로부터 점진적으로 학습할 수 있는 지 여부 배치학습(Batch learning) 점진적 학습 불가 가용한 데이터 모두 활용 시간과 자원 소모 많음 -> 오프라인 진행 제한된 데이터 새로운 데이터 학습하려면 맨처음부터 다시 해야 함 돈과 자원이 많이 소모됨 -> 큰 데이터는 사용하기 어려움 온라인 학습 점진적 학습 가능 연속적으로 데이터 공급 -> 주가처럼 변화가 많은 데이터 데이터 양이 너무 많을 경우 out of core 학습을 사용 부분적으로 데이터를 가져와서 점차적으로 학습 오프라인으로 진행됨 learning rate learning rate = 1/inertia 관성이 높아지면 새로운 데이터에 대한 감흥이 적어짐. 나쁜 데이터가 들어오면..
머신러닝의 종류(2) - 비지도학습 비지도학습 지도학습과 반대인, 비지도학습이 있다. 지도학습이 데이터에 라벨링이 되어 있었다면, 비지도학습에 주어지는 데이터에는 라벨링이 되어 있지 않다. 즉, 기계가 선생님 없이 스스로 데이터가 뭔지를 배워야 한다. 비지도학습 예시 Clustering K-Means DBSCAN Hierarchical Cluster Analysis (HCA) Anomaly detection and novelty detection One-class SVM Isolation Forest Visualization and dimensionality reduction principal Componet Analysis Kernel PCA Locally-Linear Embedding t-distributed Stochastic Nei..
머신러닝의 종류(1) - 지도학습 머신러닝에도 종류가 많다. 아래와 같은 요소로 분류할 수 있다. 머신러닝 과정에 인간이 개입하였는가? (지도학습, 비지도학습, 준지도학습, 강화학습) 즉석에서 바로 학습할 수 있는가? (Internet vs batch learning) 데이터 간 단순 비교를 하는 것인가 아니면, 샘플에서 패턴을 찾고 새로운 예측 모델을 만드는 것인가? (사례 기반인가 모델 기반인가?) 인간의 개입의 여부와 정도로 머신러닝을 분류하면,, 지도학습과 비지도학습, 준지도학습, 강화학습으로 나뉜다. 지도학습 지도학습에서는 인간이 생각하는 정답이라는 것을 라벨링해서 기계에 넘기고 학습하여 새로운 데이터가 주어졌을 때 비슷한 정답을 내리도록 한다. 가장 흔한 지도학습의 방법에는 분류Classification가 있다. 머신러닝은 주..
머신러닝이란? 머신러닝 장점 머신러닝의 정의 머신러닝이란 컴퓨터가 데이터를 통해 스스로 유의미한 학습을 할 수 있도록 프로그래밍하는 과학이자 예술 분야이다. 또 다른 정의. 프로그래밍을 완전히 디테일하게 하지 않더라도, 컴퓨터가 스스로 배울 수 있도록 설계하는 분야다. 좀 더 공학적인 정의 A computer program is said to learn from experience E with respect to some task T and some performance measure P, if its performance on T, as measured by P, improves with experience E. 이 정의는 예시가 좀 필요하다. 머신러닝의 대표격으로 불리는 스팸 이메일 분류 프로그램이 있다고 치자. 1. 스팸 필터..

반응형