: 어플리케이션을 수정하지 않고도 데이터를 기반으로 패턴을 학습하고 결과를 예측하는 알고리즘 기법을 통칭 합니다.
● 추가 설명
- 데이터를 기반으로 통계적인 신뢰도를 강화하고 예측 오류를 최소화하기 위한 다양한 수학적 기법을 적용해 데이터 내의 패턴을 스스로 인지하고 신뢰도 있는 예측 결과를 도출합니다.
- 데이터 분석 영역은 재빠르게 머신러닝 기반의 예측분석 (Predictive Analysis)으로 재편되고 있습니다.
- 많은 데이터 분석가와 데이터 과학자가 머신러닝 알고리즘 기반의 새로운 예측모델을 이용해 더욱 정확한 예측 및 의사 결정을 도출하고 있으며 , 데이터에 감춰진 새로운 의미와 통찰력 ( 를 발굴해 놀랄 만한 이익으로 연결시키고 있습니다.
- 귀납적 학습 : 데이터만 주어지더라도 구조를 추론하려고 시도하기 때문입니다.
● 머시러닝 vs 데이터 마이닝
- 기계 학습과 데이터 마이닝은 종종 같은 방법을 사용하며 상당히 중첩된다. 다만 다음에 따라 대략적으로 구분
- 기계 학습은 훈련 데이터(Training Data)를 통해 학습된 알려진 속성을 기반으로예측에 초점을 두고 있습니다.
- 데이터 마이닝은 데이터의 미처 몰랐던 속성을발견하는 것에 집중합니다. 이는데이터베이스의지식 발견부분의 분석 절차에 해당합니다.
● 지도학습 (Supervised Learning)
1) 분류 (Classification) 이진분류 / 다중분류
: 레이블 y가이산적(Discrete)인 경우 즉, y가 가질 수 있는 값이 [0,1,2 ..]와 같이 유한한 경우 분류, 혹은 인식 문제라고 부릅니다. 일상에서 가장 접하기 쉬우며, 연구가 많이 되어있고, 기업들이 가장 관심을 가지는 문제 중 하나입니다. 이런 문제들을 해결하기 위한 대표적인 기법들로는 로지스틱 회귀법, KNN, 서포트 벡터 머신 (SVM), 의사 결정 트리 등이 있다.
2) 회귀 (Regression)
: 레이블 y가 실수인 경우 회귀문제라고 부릅니다. 데이터들을 쭉 뿌려놓고 이것을 가장 잘 설명하는 직선 하나 혹은 이차함수 곡선 하나를 그리고 싶을 때 회귀기능을 사용합니다. 통계학의 회귀분석 기법 중 선형회귀 기법이 이에 해당하는 대표적인 예입니다.
3) 추천시스템 4) 시각 음성 감지 인지 5) 텍스트 분석 , NLP
● 비지도학습 (Un supervised Learning)
1) 군집화 (clustering)
: 데이터가 쭉 뿌려져 있을 때 레이블이 없다고 해도 데이터간 거리에 따라 대충 두 세개의 군집으로 나눌 수 있습니다. 이렇게 x만 가지고 군집을 학습하는 것이 군집화라고 합니다.
2) 차원 축소
● 강화학습 (Reinforcement Learning)
: 강화학습은 현재의 상태(State)에서 어떤 행동(Action)을 취하는 것이 최적인지를 학습하는 것입니다. 행동을 취할 때마다 외부 환경에서 보상(Reward)이 주어지는데, 이러한 보상을 최대화 하는 방향으로 학습이 진행됩니다. 그리고 이러한 보상은 행동을 취한 즉시 주어지지 않을 수도 있다고 합니다(지연된 보상).
: 독립변인이 종속변인에 영향을 미치는지 알아보고자 할 때 실시하는 분석 방법입니다.선형성이라는 기본 가정이 충족된 상태에서 독립변수와 종속변수의 관계를 설명하거나 예측하는 통계방법으로 회귀분석에서 독립변수에 따라 종속변수의 값이 일정한 패턴으로 변해 가는데 , 이러한 변수간의 관계를 나타내는 회귀선이 직선에 가깝게 나타나는 경우를 의미합니다.
- 선형이기 때문에 어떤 X 값이라도 W와 b만 정의되면 알 수 있습니다.
종 류 - 단순회귀분석 : 독립변수가 하나인 경우 - 다중회귀분석 : 독립변수가 여러 개인 경우
단순 선형 회귀 분석
H(x) = Wx + b
x : 독립변수 y : 종속 변수 W : 직선의 기울기 (가중치 : weight) b : y 절편 (bias)
편차(Deviation)
- 수학 및 통계학에서 편차는 자료값 또는 변량과 평균의 차이를 나타내는 수치입니다. - 편차를 살펴보면 자료들이 평균을 중심으로 얼마나 퍼져 있는지를 알 수 있습니다. - 자료값이 평균보다 크면 편차는 양의 값을 , 평균보다 작으면 음의 값을 가지게 됩니다. - 편차의 크기는 차이의 크기를 나타냅니다. - 편차의 절댓값은 절대편차 , 편차의 제곱은 제곱편차라고 합니다.
용어 정의
잔차 (Residual) : 회귀분석에서 종속변수와 적합값 예상값 의 차이, 잔차는 종속변수 적합값 으로 정의
분산 (Variance) : 편차의 제곱
표준 편차 (Standard Deviation) : 분산의 제곱근
1. 단순회귀분석
1) 가설함수(Hypothesis) 정의 y = wx + b
2) 손실(Loss or Cost)함수 정의
- 선형회기 일 때, 평균 제곱 오차(MSE) 사용
: 실제 값과 예측 값의 차이를 제곱하여 평균을 낸 값입니다.
3) 경사하강법(Gradient descent) algorithm 사용
- 손실이 계산 될 때마다 경사하강법을 넣어서 최적의 w, b 값을 찾도록 학습시킵니다.
학습률 x 접선의 기울기(미분값)
손실 값 = 0이 되는 것을 찾아가는 것으로 음수가 나오면 양수쪽으로 이동, 양수가 나오면 음수쪽으로 이동
4) tensorflow 실행
tensorflow =배열이나 행렬의 데이터가 흘러간다는 의미를 가집니다.
tensor / 행렬, 배열의 데이터를 의미 , flow/ 흘러가는 구조
출력값
2. 다중회귀분석
※ 중간고사 점수를 가지고 기마고사 점수 예측 하기
0) 데이터 정리
1) 가설 함수 정의
2) 손실 함수 정의
3) 경사하강법 알고리즘
4) tensorflow 실행
너무 적게 학습 시켜도 안되고, 너무 많이 학습 시켜도 좋지 않습니다. 입력데이터에 따라서 그 숫자는 다릅니다.일반적으로 반복의 수는 결과를 통해서 지속적 변경이 요구됩니다.
결과값
100번 학습이 될 때, nan이 출력되었다.
해결점)
learning_rate=0.00001을 줄여보도록 하겠습니다.
9900번에서 손실값이 0.301307로 점점 줄어들었습니다. 예측값이 점점 맞춰져 가고 있습니다.