반응형

SW/머신러닝 36

머신러닝 : 데이터 분할 : 방법, 방식, 절차

데이터 분할 과적합을 방지하기 위해서는 전체 데이터를 학습 데이터, 검증 데이터, 테스트 데이터로 나누어야 합니다. 보통 비율은 5 : 3 : 2 로 정합니다. 따라서 생각보다 많은 데이터를 보유해야만 좋은 모형을 만들 수 있습니다. 학습 데이터 : train data : 모형 f 를 추정하는 데 필요합니다. 검증 데이터 : validation data : 추정한 모형 f 가 적합한지 검증합니다. 테스트 데이터 : test data : 최종적으로 선택한 모형의 성능을 평가합니다. 데이터 분할 : 전체 데이터를 학습 데이터, 검증 데이터, 테스트 데이터로 나누어집니다. 모형 학습 : 학습 데이터를 사용하여, 각 모형을 학습합니다. 모형 선택 : 검증 데이터를 사용하여, 각 모형의 성능을 비교하고 선택합니다..

SW/머신러닝 2020.01.14

머신러닝 : 모형의 적합성 : 평가 방법

모형의 적합성을 평가하는 방법 모형의 복잡도에 따른 학습 집합의 MSE(회색)와 검증 집합의 MSE(빨간색)의 변화를 위 그림을 통해 알아보았습니다. 학습 집합의 MSE는 복잡한 모형일수록 감소합니다. 학습 데이터가 아닌 또 다른 데이터 (검증 데이터)의 MSE는 일정 시점 이후로 증가합니다. 증가하는 원인은 왼쪽 그림에 초록색처럼 학습 집합에 과적합되기 때문입니다. 그렇다면, 각 색깔마다 어떠한 결과가 나왔는 지 알아보도록 하였습니다. 검은색 : 실제 f를 나타내는 모형입니다. 노란색 : 가장 낮은 복잡도를 가지므로 편파성이 높아져 가장 높은 MSE 값을 가집니다. 초록색 : 가장 높은 복잡도를 가지므로 학습 집합에 과적합되어 있습니다. 분산이 높아집니다. 따라서, 검증 데이터의 MSE가 하늘색에 비해..

SW/머신러닝 2020.01.13

머신러닝 : 분산(variance)과 편파성(Bias)의 딜레마

분산(variance)과 편파성(Bias)의 딜레마 모형 f^(x)로 모집단의 전체 데이터를 예측하는 경우 발생하는 총 에러를 계산합니다. 이 떄 에러는 reducible error와 irreducible error로 표현됩니다. reducible 에러는 다시 분산과 편파성으로 구성됩니다. 분산은 전체 데이터 집합 중 다른 학습 데이터를 이용했을 떄, 추정한 f가 변하는 정도를 의미합니다. 복잡할 수록 분산이 높아집니다. 편파성은 학습 알고리즘에서 잘못된 예측을 할 떄, 발생하는 오차를 의미합니다. 간단할수록 편파성이 높습니다. 복잡한 모형 f^(x) 를 사용하여 편파성을 줄일 수 있습니다. 그러며 반대로 분산이 커지는 것입니다. 간단한 모형이라면 그 반대의 현상이 발생하는 것입니다. 따라서, 엔지니어들..

SW/머신러닝 2020.01.12

머신러닝 : 데이터셋 , 과적합(오버피팅) : 개념, 팁, 의미, 개요

최적의 데이터 셋 분석용 데이터의 이상적 조건에 대해 알아보도록 하겠습니다. 입력 데이터에 상관성이 작아야 이상적입니다. 반면에 입력 데이터와 출력 데이터의 상관성이 커야 합니다. 위 두 성질을 만족하는 소수의 입력 변수 집합이 이상적이라고 할 수 있습니다. 또한 많은 양질의 데이터가 있으면 좋습니다. 양질의 데이터란 결측치와 노이즈가 없는 깨끗한 데이터를 의미합니다. 현실적으로는 입력 변수는 많고 출력 변수는 적은 데이터가 많습니다. 이러한 데이터는 모형의 성능이 떨어지는 문제가 발생할 수 있습니다. 입력 변수는 상관성이 적고, 출력 변수는 상관성이 큰 독립 변수만을 추출하고 선택해야 합니다. 그러기 위해서 변수를 선택하고 차원을 축소하는 과정이 필요합니다. 과적합 문제 과적합에 대해 알아보도록 하겠습..

SW/머신러닝 2020.01.07

머신러닝 : 표본 공분산, 상관 계수 : 개념, 공식, 의미

표본 공분산 두 변수의 관계를 나타내는 양을 의미합니다. 두 변수가 도일한 변수인 경우에는 해당 변수의 분산을 나타냅니다. 공분산 행력은 여러 변수의 분산과 공분산을 포함하는 행렬입니다. 변수 i와 j가 같은 방향이면 양수의 값을 갖습니다. 반대로 음수의 값이면 반대 방향의 성질을 갖습니다. 0에 가깝다면, 두 변수의 방향성이 없다는 것을 의미합니다. 표본 상관 계수 표본 상관계수는 공분산을 각각의 표본 푠준편차 값으로 나눕니다. 그 다음 정규화한 것을 의미합니다. 두 변수 간의 선형 관계만 측정할 수 있습니다. 즉, 비선형 관계나 이상치가 있을 경우 올바른 값을 도출하기 어렵습니다. 원인과 결과에 대해서는 확실히 알기 어렵습니다. 위 그림처럼, 같은 상관계수이지만 어떻게 분포하는가에 따라 모양이 매우 ..

SW/머신러닝 2020.01.06

머신 러닝 : Random Forest 특징, 개념, 장점, 단점

Random Forest 여러 의사 결정 나무를 생성한 후에 다수결 또는 평균에 따라 출력 변수를 예측하는 알고리즘입니다. 즉 의사 결정 나무와 bagging을 혼합한 형태라고 볼 수 있습니다. Random Forest의 특징 부트스트랩을 이용하여 학습 집하에서 다양한 샘플을 추출합니다. 입력 변수 중 일부의 입력 변수만 사용합니다. 데이터 샘플링 및 변수 선택을 통해 의사 결정 나무의 다양성을 확보합니다. Variable Importance ( 변수 중요도 ) 회귀 또는 분류 문제에서 속성 또는 변수의 중요성의 순위를 매길 수 있습니다. Decision Tree에서는 노드 t에서 속성 xi가 혼잡도를 얼마나 줄일 수 있는 지에 대해서 알 수 있습니다. Random forest는 여러 개의 나무로 구성되..

SW/머신러닝 2020.01.03

머신러닝 : Bagging (배깅) : 개념, 공식, 기능

Bagging이란 앙상블의 종류로는 크게 bagging, boosting, random forest가 있습니다. 먼저 Bagging에 대해 알아보았습니다. Bagging이란 bootstrap 의 aggregating의 약자입니다. 부트스트랩을 이용해 추출한 데이터 집합들이 동일한 가중치를 갖는 모델입니다. 즉, 부투스트랩을 이용하여 샘플을 복원 추출하는 방법입니다. 부트스트랩 샘플의 크기가 전체 학습 집합의 크기와 같은 경우가 있습니다. 약 63.2%의 학습 데이터가 중복 포함됩니다. Bagging이란 출력 데이터가 범주형인 경우 bagging을 수학적으로 표현하면 아래와 같습니다. 출력 변수가 연속형인 경우에는 어떨까요? bagging을 수학적으로 표현함면 아래와 같습니다. bagging을 통해 예측하..

SW/머신러닝 2019.12.30

머신러닝 : 앙상블 개요, 장점, 정의

앙상블 개요 다수의 데이터 집합에 대해서 각각의 분류기(CLAssifier)를 학습합니다. 학습이 진행된 분류기의 예측을 결합하여 사용하는 방법을 앙상블이라고 합니다. 다수의 데이터 집하에 대래 분류를 진행합니다. 전체 데이터 집합에 비해 크기가 줄어 가각의 샘플 데이터 집합에서 과적합이 발생합니다. 그러나, 앙상블은 각각의 예측 결과를 다수결을 이용행 결합합니다. 그 과정을 통해, 과적합의 오류를 줄여주는 효과를 만들어 냅니다. 즉, 앙상블은 다양한 분류기의 예측 결과를 결합하여 단일 분류기보다 신뢰성이 높은 예측 값을 얻을 수 있습니다. 앙상블의 장점 데이터 마이닝에 있어 데이터 수집은 가장 기본적입니다. 하지만 힘든 작업 중 하나입니다. 이러한 앙상블은 데이터가 적거나 많은 경우에 대한 해결책을 제..

SW/머신러닝 2019.12.29

머신러닝 : 데이터 수집, 정규화 정의, 개념, 방법

데이터 수집 데이터 속에서 출력은 입력에 의해 대부분 결정됩니다. 따라서 모형이 학습되는 것입니다. 입력 데이터가 출력 데이터를 제대로 설명하지 못하면 모형과 상관없이 학습이 제대로 되지 않습니다. 즉 "Garbage in, Garbage out" 현상이 발생하는 것 입니다. 만약 머신 러닝에서 입력 변수가 출력 변수를 제대로 설명하지 못한다면, 다른 종류의 입력 변수들을 확보해서 분석해야 합니다. 좋은 모델을 위해서는 충분한 양의 데이터, 좋은 품질의 데이터, 대표성을 띄는 데이터, 관련 있는 특성이 존재하는 데이터가 필요합니다. 데이터 정규화 머신 러닝 모형들은 각자 학습 파라미터가 존재합니다. 이러한 파라미터는 알고리즘에 의해 학습 데이터에 맞게 파라미터는 조정하는 과정이 필요합니다. 이 떄, 변수..

SW/머신러닝 2019.12.28

머신러닝 : 지도학습(Supervised Learning) : 종류, 회귀분석, 모델 절차

지도학습 지도학습의 종류 회귀 (Regression) : 입력 변수 X에 대해서 연속형 출력 변수 Y를 예측합니다. 예를 들면, 센서 값에 따른 두께 예측하는 것이 있습니다. 분류 (Classification) : 입력 변수 X에 대해서 이산형 출력 변수 Y을 예측합니다. 예를 들면, 불량 여부를 예측하는 것이 있습니다. 회귀 분석에서 F란 무엇일까? f를 구하기 위해서 입력 변수와 출력 변수가 필요합니다. p개의 입력 변수 X1, X2, ... , Xp 가 있고, 출력 변수 Y 가 있습니다. 이 떄, X = (X1, X2, ... , Xp) 라 하면 입력 변수와 출력 변수의 관계를 나타내는 식은 다음과 같습니다. Y = f(X) + e f 는 정해졌지만 알 수 없는 함수를 의미하며, e는 오차 항을 의..

SW/머신러닝 2019.12.27

머신러닝 : 역사, 개념, 종류에 대해 알아보기

머신러닝의 역사 머신 러닝은 데이터 속에 숨어있는 규칙적인 패턴을 찾아냅니다. 그 다음 다양한 수리적 형태(함수, 규칙, 그래프 모델 등)로 표현하는 목적을 가진 연구 분야입니다. 머신 러닝은 여러 분야에 걸친 학문입니다. 예륵 들어 Artificial Intelligence, Probability and Statistics, Computational Complexity Theory, Control Theory, Information Theory, Philosophy, Psychology, Neurobiology 등이 있습니다. 머신 러닝이란 공학에서 y = f(x)가 주어진다면, 머신 러닝에서는 주어진 데이터로부터 함수 f를 찾는 것입니다. y는 출력 변수로 반응 변수, 종속 변수로 불리기도 합니다. ..

SW/머신러닝 2019.12.26

머신러닝과 스마트 팩토리 : 정의와 관련 개념

스마트 팩토리 스마트 팩토리는 공정 중 관측된 센서 값, 공정 후 측정된 계측 값 등 제조 빅데이터를 활용한 제품 및 설비를 운용 관리하는 공장을 의미합니다. Product Design, Elment Development DoE(Design of Experiment), Machine learning 기법을 이용하여 통계 기반의 개발을 수행합니다. FDC(Fault Detection and Classification) 데이터를 활용하여 제품의 불량 유무를 예측합니다. 후공정에 정상 제품만을 전달합니다. VM (Virtual Metrology) 공정의 전수 조사가 불가능한 상황에서 가상의 계측 값을 추정합니다. CA (Causality Analysis) 공정의 불량 유무에 관한 인과 관계를 분석하여 불량의 ..

SW/머신러닝 2019.12.25

python : 머신러닝 : KNN : 실습, 예제

from sklearn.neighbors import KNeighborsClassifier from sklearn.metrics import accuracy_score import numpy as np 실습에 사용할 라이브러리를 import 합니다. dir = './gdrive/My Drive/Colab Notebooks/' trainData = np.genfromtxt(dir+'process_data_train.csv',delimiter=',', skip_header=1) X_train = trainData[:,:-1] y_train = trainData[:,-1] testData = np.genfromtxt(dir+'process_data_test.csv',delimiter=',', skip_head..

SW/머신러닝 2019.11.25

python : 머신러닝 : LinearRegression, Ridge, Lasso : 예제, 실습

from sklearn.linear_model import LinearRegression, Ridge, Lasso from sklearn.metrics import r2_score,mean_absolute_error, mean_squared_error import numpy as np 우선 라이브러리를 선언합니다. dir = './gdrive/My Drive/Colab Notebooks/' trainData = np.genfromtxt(dir+'oil_data_train.csv',delimiter=',', skip_header=1) X_train = trainData[:,:-1] y_train = trainData[:,-1] 훈련할 데이터를 로드합니다. 여러 본인의 데이터를 활용해도 무방합니다. test..

SW/머신러닝 2019.11.24

머신 러닝에서 파이썬이 왜 그렇게 인기가 있을까요?

산업 및 과학 분야의 소프트웨어 엔지니어로서 15 년의 경험을 가진 물리학자의 의견을 요약해보았습니다. 어떠한 인사이트로 이야기를 했는지 알아보겠습니다. 파이썬은 과학계의 새로운 포트란입니다. 비 컴퓨터 과학자들에게 매우 인기가 있으며 모든 종류의 응용 프로그래밍 문제에 대해 엄청난 도구 상자를 제공합니다. 매우 인기가 있기 때문에 파이썬에는 거대한 에코 시스템이 제공됩니다. 파이썬은 최소한 기본을 배우기 쉽습니다. 따라서 파이썬으로 시작하기 위한 요구 사항은 특히 컴퓨터 과학 지식이 없는 사람들에게는 상당히 낮습니다. 물리학자 동료들과 이야기 하면서 Java, C#과 같은 언어는 다소 복잡한 인프라, 즉 Eclipse, Maven, 배포 시스템을 처리해야 할 필요성과 함께 "복잡한 기술", "배우기 어..

SW/머신러닝 2019.11.02

머신러닝 : feature learning : 개념

머신 러닝에서 기능 학습이란 무엇입니까? 기능 학습은 머신 러닝 작업을 수행하기 위해 적절한 데이터 표현을 찾을 수 있는 일련의 방법입니다. 다시 말해 기능 학습의 목표는 원시 데이터를 기계 학습 작업 (예 : 분류)에 더 적합한 표현으로 매핑하는 변환을 찾는 것입니다. 예를 통해 살펴 보겠습니다. 이를 위해 본질 상 특징 학습의 개념을 활용하는 신경망을 사용할 것입니다. 신경망에서 각 숨겨진 계층은 입력 데이터를 더 높은 수준의 추상화를 캡처하는 경향이 있는 내부 표현에 매핑합니다. 다음 데이터 세트를 분류한다고 가정합니다. 입력을 조정하지 않고 선형 모델 (숨겨진 레이어가 없는 피드 포워드 신경망 등)을 사용하여 데이터를 분리 할 수 ​​없기 때문에 이 데이터 세트는 선형으로 분리 할 수 ​​없습니다..

SW/머신러닝 2019.10.08
반응형