Machine Learning의 원리와 기본 이론

01 Introduction to Machine Learning

  • Machine learning의 Research 영역 ; 연구 조직
  • Machine learning의 Engineering 영역 ; 개발 조직

수학적인 알고리즘으로 기계에게 학습을 시키는 것이 Machine Learning.
수학이 아니라 사람의 뇌 구조처럼 구성해서 학습하는 것이 Deep Learning.

머신 러닝(Machine Learning) : 인간이 개발한 알고리즘을 컴퓨터 언어를 통해 기계에게 학습시키는 행위. 많은 데이터로 문제를 알려주고 컴퓨터가 문제 해결 방법을 찾아내게 함.

02 머신 러닝의 종류

  • Supervised Learning(지도 학습) ; 문제(Feature)와 정답(Label)을 제공한다.
    Classification(분류) ; 고양이 사진을 Cat이라고 알려주면서 넣어주고, 개 사진을 Dog이라고 알려주면서 넣으면, 새로운 사진을 받았을 때 개인지 고양이인지 판단할 수 있다.
    Regression(회귀분석) ; 키에 따른 신발 사이즈 모집단을 그래프로 그려 회귀곡선을 마련한 다음 키를 입력하면 신발 사이즈를 추정할 수 있다. 현존하는 대부분의 문제를 해결할 수 있는 알고리즘. 가장 많이 사용됨.
  • Unsupervised Learning (비지도 학습) ; 문제(Feature)만 제공한다.
    Anomaly(이상징후 감지) : 금융 사고를 막는 방법으로 많이 쓰임. 임계치가 넘어가면 거래를 중단시키고 콜 센터에서 확인하는 등. 가짜뉴스 막는 방법. 다른 언론사에서 같이 다루면 실제 뉴스로 간주하고, 특정 언론사에서만 다루면 의도된 가짜 뉴스로 간주함.
    Clustering(군집) : Raw Data를 가지고 비슷한 것들끼리 묶는 방법.
  • Reinforcement Learning(강화 학습) : 유리한 방식에 1점씩 주어서 점수가 많이 쌓이는 방법으로 스스로 학습하는 방법. 보상을 제공하며, 보상의 인과관계가 중요. 게임(알파고), 로봇 등에 활용.

02 What is Data

데이터에서 여러 개의 컬럼(Feature)을 가지고 라벨링을 하여 결과를 예측함.

  • Random Split : 데이터 100개가 있다면, 80개로 학습시키고 20개로 테스트하는 방식. 그러나 데이터 Split 시 비슷한 데이터만 테스트용이 되면 테스트가 부정확하기 때문에, Random하게 섞어줄 필요가 있다.
  • Open Data : 공개 데이터. 국가통계포털에 들어가면 다양한 데이터를 받아볼 수 있음. 우리는 kaggle이라는 사이트에서 데이터를 가져와 활용할 예정.

03 Orange Data Mining

데이터에 대한 기본 지식이 없어도 데이터 처리 및 시각화, 머신 러닝을 직접 적용해볼 수 있는 도구
대학뿐 아니라 전문가들도 본격 개발 전 데이터 검증 용도로 활용함
크로스 플랫폼 지원
GPL 라이선스
버전 3.0부터 파이썬 라이브러리를 적극적으로 활용하기 시작
Orange 3.31 설치하여 New 캔버스 생성하고 왼쪽 메뉴에서 필요한 항목을 가져와서 사용하면 된다.

File에 titanic(기본으로 포함된 데이터) 데이터를 가져와서 Distribution으로 시각화해서 바로 볼 수 있다.

Tree, Random Forest 모델을 적용하여 분석해서 Predictions로 예측 모델 정확도를 살펴보았다. 동일하게 나오는 것을 볼 수 있다. 데이터가 애초에 2201건 정도로 많지 않기 때문에...

Orange Data Mining의 주요 기능

  • Data : 데이터 입력, 데이터 필터링, 샘플링 및 대치, 조작 등의 기능
  • Visualization : 박스 플롯, 히스토그램, 산점도 및 다변수 시각화를 위한 위젯 제공
  • Evaluate : 모델 평가를 위한 위젯 제공
  • Unsupervised : 비지도 학습을 위한 기능들

Orange Data Mining의 주요 알고리즘

  • Classify : 분류를 위한 알고리즘
  • Regression : 회귀 분석을 위한 알고리즘
  • Clustering : 군집 분석을 위한 알고리즘

04 AI 알고리즘

Regression (회귀 분석)

y = wx + b 와 같은 일차 함수면 선형 회귀라고 한다.
회귀 분석은 관찰된 연속형 변수들에 대해 두 변수 사이의 모형을 구한 뒤 적합도를 측정하는 분석 방법. 시간에 따라 변화하는 데이터나 영향도, 가설적 실험, 인과 관계, 통계적 예측에 이용한다. 그러나 가정의 적절성이 증명되지 않은 채로 이용되어 결과가 오용되기도 한다. 가장 많이 사용되는 알고리즘.


파일을 불러올 때 위와 같은 창에서 설정을 할 수 있는데, Type과 Role을 정확히 지정해주는 것이 좋다. 특히 Role은 예측 대상 컬럼을 Target으로 지정해주어야 한다.

  • MAE(Mean Absoulte Error) : 전체 오차의 평균
  • MSE(Mean Squared Error) : 오차의 제곱의 평균
  • RMSE(Root Mean Square Error) : 전체 오차의 제곱의 평균의 제곱근
  • R2(R Squared) : 결정계수. 1이면 정확하게 일치한다는 뜻. 백분율.

    Test and Score 창으로 모델별 오차 평균 등 정보를 볼 수 있다. 위 화면에서 R2 값이 가장 높은 모델이 Linear Regression이기 때문에 해당 데이터에는 Linear Regression 알고리즘이 가장 적절하다고 할 수 있다.
profile
Software Developer

0개의 댓글