Coursera Machine Learning(9): 예외 감지(Abnomaly Detection), 레거시 시스템(Recommerder System)

학습기기에 가장 적합한 교재Machine Learning | Coursera로 꼽히는 것을 들었기 때문에 복습과 학습의 내용을 간단하게 요약하고 싶습니다.
9탄에서는 이상 검출(Anomaly Detection), 레거시 시스템(Recommonder System)이라는 실천적 사용 알고리즘을 배웠다.이상값 검출은 데이터 분석에 필수적이며 RECOMMENT 시스템은 온라인 쇼핑 광고에서도 사용된다.
과거의 보도
Coursera Machine Learning(1): 머신러닝이란 무엇입니까?단회귀분석, 최급하강법, 목적함수
Coursera Machine Learning(2): 재회귀 분석, 정표, 정규 방정식
Coursera Machine Learning(3): 논리적 회귀, 정규화
Coursera Machine Learning(4): 신경 네트워크 시작
Coursera Machine Learning(5): 신경 네트워크 및 역방향 속성
Coursera Machine Learning(6): 기계 학습의 모델 평가(교차 심사, Bias & Variance, 부합률 & 재현율)
Coursera Machine Learning(7): 벡터 머신(SVM), 커널(Kernel) 지원
Coursera Machine Learning(8): 무교사 학습(K-Manas), 주성분 분석(PCA)

예외 감지(Anomaly Detection)


100명이 신체검사를 받으면 몇 명이 아플 수도 있어요.100개 상품으로 만들면 불량품이 몇 개 있을 수 있어요.이 예외 값을 감지하는 알고리즘은 예외 감지(Anomaly Detection)입니다.

위의 데이터로 볼 때 빨간색 데이터 점은 명백히 편차값(Outlier)이다.
수학적으로, 만약 고스 (정적 분포) 가 데이터에 적합하다면, 어떤 데이터 포인트 $x^ {(i)} 달러의 정적 분포 값 $p (x^ {(i)} $가 한도값 $\epsilon $보다 작으면 편차 값으로 간주됩니다.
알고리즘은 다음과 같다.이상 값이 있을 수 있는 데이터 $x$에 대해 설명 변수는 $j=1...가정하다
1: 평균 $\mu달러를 구합니다.

\mu_j = \frac{1}{m} \sum^m_{i=1}x_j^{(i)}

2: 표준 편차 $\sigma^2달러.

\sigma_j^2 = \frac{1}{m} \sum^m_{i=1} (x_j^{(i)} - \mu_j)^2

3: 예외가 발생할 수 있는 새 데이터 $x{test}달러로 $p(x{test})$를 계산합니다.

p(x_{test}) = \Pi^{n}_{j=1} p(x_j; \mu_j, \sigma^2_j) = \Pi^n_{j=1} \frac{1}{\sqrt{2\pi} \sigma_j} exp(-\frac{(x_j - \mu_j)^2}{2\sigma_j^2})

4:$p(x{test})<\mu달러면 $x{test} 달러가 이상치로 판단되었습니다.
편리 정태적으로 분포된 것은 편리값으로 이해하기 쉽다.
그러나 데이터의 분포는 원래 정적 분포가 아닐 수도 있다.그럴 때 $\sqrt{x}달러를 얻고 $log(x)달러를 얻으면 정규 분포화됩니다.여러 가지 시도해 보세요.

그렇다면 $\mu $임계값은 어떻게 선택해야 좋을까요?
이것은 어려운 문제인데, 결과는 주관적인 것이다.설탕 섭취량도 WHO가 하루 전체 칼로리의 5%를 기존에는 10%로 제시했다.
수학적으로 결정하고 교차 검정(Cross Validation)을 사용합니다.Training Set에서 모델 만들기 $p(x)$, Cross Validation Set/Test Set 사용

y = 1 \hspace{15pt} if \hspace{15pt} p(x) < \mu \hspace{15pt} (anomaly)
\\
y = 0 \hspace{15pt} if \hspace{15pt} p(x) \ge \mu \hspace{15pt} (normal)

모델 정밀도를 확인하는 분류(Classification)를 수행합니다.$\mu달러만 결정하면 모델의 정밀도를 높일 수 있습니다.
주의점
이상 검출 과제 중 상당수는 데이터 편차(Skewed Data)가 있었다.이상은 전체의 일부분에 불과하다.따라서 모델 정밀도를 확인할 때 정답률(Classification Acuracy)을 사용하지 않고 F값(F-score)을 사용합니다."그게 뭐야?"이런 분들은 과거의 보도 아래를 보세요.

구성원 시스템 복사(Recommonder System)


온라인 쇼핑, 식당 리뷰 사이트 등은 이용자의 행동 데이터를 토대로 취향을 추정하고 이용자의 취향에 따라 상품과 서비스를 제시하는 알고리즘으로 온라인 곳곳에서 볼 수 있다.이러한 RECOMMENT 시스템(Recommonder System)에서는 일반적인 머신러닝이 아닌 문제에 대응해야 한다.
일례로 2016년 영화와 관련해서는 5인의 평가를 0∼5단계로 받았다.그래서 다음과 같다.

모두 유명한 영화지만 일부 장르가 애니메이션에 치우쳐 전체를 보는 사람이 드물다.이 경우 데이터는.
다만, 예를 들어 위의 데이터에 의하면 우물에서'너의 이름','소리의 형식'의 애니메이션 2개를 보고 높은 평가를 했지만'이 세상의 구석'을 보지 않았다.보시면 높은 평가를 받으실 겁니다.
일반적으로 사용자 $j, 아직 보지 않은 영화 $x^ {(i)} 달러에 대한 평가 $y^ {(i, j)} 모델이 배울 수 있는 매개 변수 $\theta^ {(j)} 달러를 다음과 같이 계산합니다.

y^{(i,j)} = (\theta^{(j)})^{\mathrm{T}} x^{(i)}

모형 학습은 모든 사용자가 진행한다.물론 그 사용자만 볼 수 있는 영화에서만 배울 수 있기 때문에 모든 사용자가 각 영화에서 볼 수 있다면 $1, 보지 않으면 $0의 행렬 $r(i, j)$$$가 있으면 편리합니다.
"어...영화 $x는 어떤 매개 변수인가요?"
매개 변수는 $\theta의 변환 행렬과 곱하기 때문에 당연히 하나의 행렬입니다.영화라면 각 요소를 수치화한 작품이다.예: $x1= 애니메이션, $x2=로맨틱,$x3=달러 액션, $x4=코미디...이렇게 요소를 얻으면, 예를 들면'너의 이름'의 $x^{{yourname)}$는

x^{yourname} = [1.0, 0.9, 0.1, 0.7, ...]

이렇게 될 수도 있어.
다만, 이런저런 매개 변수를 제시할 수 있지만, 수많은 영화에서 완전한 매개 변수를 결정하는 것은 어렵고, 사람에 따라 매개 변수를 결정하는 방법도 다르다.신해 감독이라'너의 이름'을 본 사람은 래드워프를 좋아해서 본 사람에 비해 $x^{yourname}의 내용 자체가 완전히 다를 수 있다.
따라서 영화 요소 $x^ {(i)}와 평가 $y^ {(i, j)}에서 모델 매개 변수 $\theta^ {(j)}를 배워야 할 뿐만 아니라 $\theta^ {(j)}와 $y^ {(i, j)}에서 $x^ {(i)}까지 배워야 한다.
이것을 가능하게 하는 것은 조화 필터다.이 모형은 $\theta\to\theta\to×to...$교대 학습 매개 변수.알고리즘은 다음과 같다.
1: 매개 변수 $x^{(1)}...,x^{(n_m)},\theta^{(1)}, ...,\theta^{(n u)}$을(를) 작은 임의 값(Symmetry Breaking)으로 초기화합니다.
2: 의도 함수(Cost Function) $J(x^{(1)}...,x^{(n_m)},\theta^{(1)}, ...,\theta^ {(n u)} (Gradient Descent) 등 $최소값을 충족시키는 인자 $x,\theta 달러를 계산합니다.
정규화 매개 변수는 $\lambda 및 대상 함수 $J$입니다.

J = \frac{1}{2} \sum_{(i,j):r(i,j)=1} ((\theta^{(j)})^{\mathrm{T}}x^{(i)} - y^{(i,j)})^2 + \frac{\lambda}{2}\sum^{n_m}_{i=1} \sum^{n}_{k=1}(x_k^{(i)})^2
+ \frac{\lambda}{2}\sum^{n_u}_{i=1} \sum^{n}_{k=1}(\theta_k^{(j)})^2

가장 급한 하강법은:

x_k^{(i)} := x_k^{(i)} - \alpha (\sum_{j:r(i,j)=1} ((\theta^{(j)})^{\mathrm{T}} x^{(i)} - y^{(i,j)})\theta^{(j)}_k + \lambda x^{(i)}_k)

\\

\theta_k^{(i)} := \theta_k^{(j)} - \alpha (\sum_{i:r(i,j)=1} ((\theta^{(j)})^{\mathrm{T}} x^{(i)} - y^{(i,j)})x^{(i)}_k + \lambda \theta^{(j)}_k)

3: 학습한 매개 변수 $\theta, x달러를 사용하여 평가 $y를 예측합니다.

y = (\theta^{(j)})^{\mathrm{T}}x^{(i)}

이렇게 되면 $r(i, j)=0달러로 추정되는 $y의 가치가 높은 영화 $i를 사용자 $j에게 추천하면 됩니다.

총결산

  • 이상 검출은 정적 분포에서 벗어난 이상 값을 이상 값으로 설정합니다.
  • 이상 검출의 모델 정밀도는 데이터가 편파적이기 때문에 정확한 응답률에 비해 F값을 사용한다.
  • RECOMMEDASS 시스템에서 모델 파라미터 $\theta와 상품 파라미터 $x$를 번갈아 학습한다.
  • 끝맺다


    이번에는 이상 검출과 유류 시스템에 대해 사실상 데이터 분석과 비즈니스에서 사용할 수 있는 실천 알고리즘에 관한 것이다.이렇게 실천적인 알고리즘도 목적 함수를 만들어 최소치를 추구하는 매개 변수를 찾을 수 있는데...기계학습의 기본 지식을 알면 이해하기 쉽다.
    다음번 빅데이터를 처리하는 기계학습(Large scale machine learning).요즘 유행하는 빅데이터, 재미있어 보이네요.

    좋은 웹페이지 즐겨찾기