contract@chaoreumsoft.co.kr |    031-921-0523

ML(Machine Learning)

페이지 정보

작성자최고관리자

본문


기계 학습(機械學習) 또는 머신 러닝(영어: machine learning)은 인공 지능의 한 분야로, 컴퓨터가 학습 할 수 있도록 하는 알고리즘과 기술을 개발하는 분야를 말한다. 가령, 기계 학습을 통해서 수신한 이메일이 스팸인지 아닌지를 구분할 수 있도록 훈련할 수 있다.

기계 학습의 핵심은 표현(representation)과 일반화(generalization)에 있다. 표현이란 데이터의 평가이며, 일반화란 아직 알 수 없는 데이터에 대한 처리이다. 이는 전산 학습 이론 분야이기도 하다. 다양한 기계 학습의 응용이 존재한다. 문자 인식은 이를 이용한 가장 잘 알려진 사례이다.


왜 사용 해야 하는가?

전통적인 프로그래밍 기법으로는 마땅한 솔루션이 없는 경우

우리는 친구들의 얼굴과 말을 인식할 수 있다. 우리에게 당연한 것들을 프로그램으로 만들고자 할 때는 전통적인 프로그래밍 기법으로는 좀처럼 명쾌한 솔루션이 떠오르지 않는다. 이렇게 논리적인 과정으로 알고리즘을 도출하기 어려운 문제를 ML을 통해 해결할 수 있다

변화에 쉽게 적응해야하는 유동적인 환경이 경우

만약 전통적인 프로그래밍 기법으로 스팸의 패턴을 감지하는 알고리즘을 작성하였다고 해보자. 스팸발송자는 스팸필터를 우회하기 위하여 다른 단어들을 사용할 것이고, 우리는 이에 대항하기 위해 영원히 새로운 규칙을 추가해야만 한다. 하지만 ML을 기반으로 하는 스팸 필터는 정상 메일에 비해 스팸에 자주 나타나는 패턴을 감지하여 분류기준을 자동으로 학습한다. 별도의 작업 없이도 데이터를 업데이트만 하면 규칙도 업데이트된다. 결과적으로 변화에 실시간으로 대응할 수 있어 유지보수에 용이하며, 프로그램 코드도 짧아지고 대부분의 경우 정확도도 더 높아진다.

관점의 변화를 통해 통찰을 얻기 원할 때

소프트웨어 엔지니어는 논리적이고 수학적으로 사고하도록 훈련받아왔다. ML은 전통적인 프로그래밍의 영역인 수리과학의 관점에서, 불확실한 세계를 관찰하고 탐구하는 자연과학으로 초점을 변화시킬 수 있다. 즉, 논리가 아닌 통계 데이터를 활용하여 실험 결과를 분석한다. ML을 통해 우리는 전에는 탐구할 수 없었던 새로운 영역을 탐구할 수 있게 되었다.

종류

지도학습(Supervised Learning)

지도학습에는 알고리즘에 주입하는 훈련 데이터에 레이블(Lable)이라는 원하는 답이 포함 되어야 합니다.

분류(Classification)가 전형적인 지도 학습 작업이며, 숫자 인식을 좋은 예로 들 수 있습니다.

다른 작업으로는 예측 변수(Predictor Variable)라 불리는 특성(Feature)을 사용해 최종적인 결과를 예측합니다.

위와 같은 종류의 작업을 회귀(Regression)라고 부릅니다.


8157489ae3175bef21a9b2208418e832_1589424073_6863.png

일부 회귀 알고리즘은 분류에 사용할 수도 있고 사용할 수 없는 경우도 있습니다.

분류에 널리 쓰이는 로지스틱 회귀(Logistic Regression)는 클래스에 속할 확률을 출력합니다.

아래는 가장 중요한 지도 학습 알고리즘들입니다.

· K-최근접 이웃(k-Nearest Neighbors)

· 선형 회귀(Linear Regression)

· 로지스틱 회귀(Logistic Regression)

· 서포트 벡터 머신(SVM, Support Vector Machine)

· 결정 트리(Decision Tree)와 랜덤 포레스트(Random Forest)

· 신경망(Neural Network)

비지도 학습(Unsupervised Learning)

비지도 학습(Unsupervised Learning)은 지도 학습에서 필요 했던 레이블이 필요하지 않습니다. 시스템이 아무런 도움 없이 학습해야 합니다. 아래는 가장 중요한 비지도 학습 알고리즘입니다.

● 군집(Clustering)

계층 군집 알고리즘을 사용하면 각 그룹을 더 작은 그룹으로 세분화할 수 있습니다.

· K-평균(k-Means)

· 계층 군집 분석(HCA, Hierarchical Cluster Analysis)

· 기댓값 최대화(Expectation Maximization)

● 시각화(Visualization)와 차원 축소(Dimensionality Reduction)

시각화 알고리즘은 레이블이 없는 대규모의 고차원 데이터를 넣으면 도식화가 가능한 2D나 3D 표현을 만들어줍니다. 차원 축소는 너무 많은 정보를 잃지 않으면서 데이터를 간소화하는데 사용됩니다. 예를 들어 차의 주행거리는 연식과 매우 연관되어 있으므로 차원 축소 알고리즘으로 두 특성을 차의 마모 정도를 나타내는 하나의 특성으로 합칠 수 있습니다. 이를 특성 추출(Feature Extraction)이라고 합니다. 이상치 탐지는 학습 알고리즘에 주입하기 전에 데이터셋에서 이상한 값을 자동으로 제거하는 작업입니다. 정상 샘플로 훈련되고, 새로운 샘플이 정상인지 아닌지 판단합니다.

· 주성분 분석(PCA, Principal Component Analysis)

· 커널 PCA(Kernel PCA)

· 지역적 선형 임베딩(LLE, Locally-Linear Embedding)

· t-SNE(t-distributed Stochastic Neighbor Embedding)

● 연관 규칙 학습(Association Rule Learning)

연관 규칙 학습은 대량의 데이터에서 특성 간의 흥미로운 관계를 찾습니다. 어떠한 상품을 구매한 사람이 다른 상품을 구매하는 경향이 있다는 것을 찾을 때 활용합니다.

· 어프라이어리(Apriori)

· 이클렛(Eclat)

준지도 학습(Semisupervised Learning)

준지도 학습(Semisupervised Learning)에서는 레이블이 일부만 있어도 데이터를 다룰 수 있습니다.

대부분의 준지도 학습 알고리즘은 지도 학습과 비지도 학습의 조합으로 이루어져 있습니다.

구글 포토 호스팅 서비스가 좋은 예로, 이 서비스에 가족사진을 모두 올리면 사람 A는 사진 1, 5, 11에 있고, 사람 B는 사진 2, 5, 7에 있다고 자동으로 인식합니다.

이는 비지도 학습입니다. 이제 시스템에 필요한 것으로 이 사람들이 누구인가 하는 정보입니다. 사람마다 레이블이 하나씩만 주어지면 사진에 있는 모든 사람의 이름을 알 수 있고,

편리하게 사진을 찾을 수 있습니다.

예를 들어 심층 신뢰 신경망(Deep Belief Network)은 여러 겹으로 쌓은 제한된 볼츠만 머신이라 불리는 비지도 학습에 기초합니다.

RBM이 비지도 학습 방식으로 순차적으로 훈련된 다음 전체 시스템이 지도 학습 방식으로 세밀하게 조정됩니다.

강화 학습(Reinforcement Learning)

강화 학습은 매우 다른 종류의 알고리즘입니다. 여기서는 학습하는 시스템을 에이전트(Agent)라고 부르며 환경(Environment)을 관찰해서 행동(Action)을 실행하고 보상(Reward)을 받습니다. 시간이 지나면서 가장 큰 보상을 얻기 위해 정책(Policy)이라고 부르는 최상의 전략을 스스로 학습합니다. 정책은 주어진 상황에서 에이전트가 어떻게 행동해야 하는지를 판단합니다.

Tag
C#, ML,머신러닝,machinelearning,AI,통계,기계학습,MLNET,모델작성기,MLNET모델작성기,dotnetml
© Chaoreumsoft Corp. All rights reserved.