본문 바로가기

2019년 혁신성장 청년인재 집중양성(빅데이터)/[COURSERA] Machine Learning Stanford Uni

(32)
[week11] Problem Description and Pipeline, Photo OCR(Optical Character Recognition) 1. OCR의 문제만 보더라도, Text detection, Character segmentation, Character classification이라는 세가지의 모듈로 구성된다. 2. 그렇다면 어떻게 파이프라인을 구성해야 할까? B. Sliding Window 1. 먼저 텍스트 인식을 하기전에, 사람인식 문제를 살펴 보자. 사진 속의 사람을 인식하기 위해서 슬라이딩 윈도우 기법을 사용한다. 2. 슬라이딩 윈도우 기법은, 코끼리 다리 만지듯 사진을 자신이 설정한 창의 크기대로 다 살펴보는 것이다. 내가 설정한 창에서 학습된 결과의 양성 반응이 나타난다면 보행자가 있는 것으로 판별하는 것이다. 3. 그렇기 때문에, 일정한 비율의 사이즈를 정한 뒤, 사람인 것과 사람이 아닌 사진으로 트레이닝 셋을 만든 뒤에..
[week10] online learning 1. 온라인러닝은 스톡케스틱과 비슷하다고 볼 수 있다. 데이터는 흘러 넘치고, 그 데이터를 모아 두었다 쓰기에는 흐름에 적절하지 않을 때, 실시간으로 세타를 갱신시키는 것이다. 2. 다만 실시간으로 바뀌는 입맛을 쫓는 것이니, 정답도 확인 할 수 없다는 것이 문제. 적절한 알파를 찾아야 하고, 때에 다라서는 적절한 미니 배치 사이즈도 찾아야 한다. 1. 맵리듀스 방법에 대해서 간단히 소개해주셨다. 핵심은 코어를 나눠서 계산하여 병렬로 처리한 뒤, 다시 그것을 모아서 계산하는 것이다. 한번에 하나밖에 처리 못하다가 4개를 처리하니 속도가 빨라지는 것은 당연하다. 2. 맵리듀스시의 데이터 분할이나 저장에 관해서는 또 다른 곳에서 공부를 해야할 듯 싶다.
[week10] learning with large datasets A. learning with large datasets 1. 최고의 알고리즘을 가진 사람이 이기는 것이 아니라, 가장 많은 데이터를 가진 사람이 이긴다. 1. 데이터 셋이 많다면, 그 데이터 셋을 모두 다 이용하는 것이 효율적일까? 아니다. 이 때는 Learning Curve를 그려볼 필요가 있다. 왼쪽 그래프와 같이, 트레인에 대한 비용과 검증용 데이터 셋의 비용의 격차가 크다면, 더 많은 양의 데이터 셋으로 실험을 진행하면 되고, 그 격차가 적다면 굳이 더 많은 데이터를 이용할 필요는 없다. B. Stochastic Gradient Descent 1. Batch gradient descent는 전체 트레인 셋의 비용함수의 평균을 통해 세타를 조절한다. stochastic gradient descen..
[week9] Low Rank Matrux Factorization 1. Vectorization 1. 우리가 위에서 공부했던 것은 간단하게 행렬로 표시될 수 있다. 컨텐츠의 피쳐를 담은 X행렬과 사용자의 성향을 담은 세타 행렬의 곱을 통해서 말이다. 2. 이것을 Low Rank Matrix factorization이라고 한다. 1. 이 행렬을 통해서, 비슷한 유저, 비슷한 컨텐츠에 대해서도 찾을 수 있다. 벡터화 되어 있기 때문에, 위치가 비슷한 곳에 있다면, 그 둘은 비슷한 특징을 지니는 것이다. B. implementational Detail : Mean Normalization 1. 아무 데이터도 없는 사용자가 있다면 어떻게 추천을 해야할까? 그것을 막기 위해서 각 컨텐츠별 평점의 평균을 예측시 더해 주면, 아무 기록이 없는 사용자에게도 추천이 가능하다. 2. 그..
[week9] Collaborative Filtering A. Collaborative Filtering 1. 아이템기반에서는 세타를 x를 가지고 세타 값을 찾아 갔지만, 협업 필터링에서는 세타를 가지고 x를 찾아간다. 2. 즉 아이템 기반에서의 한계점을 극복하기 위해서, 하나의 아이템의 피쳐를 예측하기 위해, 여러 사람들의 세타값과 y값을 이용한다. 1. 위에서 보이는 식과 같이, 여러 사람들로 부터 하나의 컨텐츠에 대한 x를 구하는 방식이기에 협업인 것으로 보인다. 1. 일종의 닭과 달걀의 관계이다. 주어진 아이템의 피쳐 X로부터 세타를 예측하고, 세타로부터 X를 예측한다. 그리고 이것을 반복한다. B. Collaborative Filtering Algorithm 1. x와 세타를 최소화 하는 방향으로 비용함수가 만들어지는데, 둘 모두 공통된 y값을 정답으..
[week9] Predicting Movie Rating A. Content-based recommender systems 1. 아이템 기반 추천 시스템에 대해 내가 오해하고 있었다. 아이템 기반도 SVD를 이용한 것인 줄 알았는데, 선형 회귀를 이용하는 것이었다. 2. 일단 명칭부터 정리를 해야한다. r을 해당 컨텐츠를 보았는지 안보았는지에 대해 표시한다. 2-2. y는 j라는 이용자가 i라는 컨텐츠에 매긴 평점이다. 2-3. 세타는 이용자 j의 파라미터이다. 2-4. x는 컨텐츠 i의 피쳐다. 3. 이용자 j의 컨텐츠 i에 대한 예측치는 파라미터 세타와 컨텐츠의 피쳐의 곱이다. 4. 이용자가 컨텐츠에 대한 평점을 많이 매겨놓을수록 트레인 셋은 많아지는 것이 된다. 5. 이 트레인 셋을 이용하여 세타를 학습시키고, 이용자가 보지 않은 영화에 대한 평점을 예측..
[week9] Building an Anomaly Detection System A. Density Estimation 1. 우리가 찾아야 하는 것은 엡실론, 그 엡실론에 대한 단서를 얻기 위해서는 평가 시스템이 필요하다. 그리고 평가를 하기 위해서는 레이블이 필요하다. 1. 이상치가 많다면 이상치가 아니듯이, 이상치의 예시는 적을 수 있다. 2. 그렇기 때문에 중단에서 보이는 것처럼, 6000개의 정상치로 부터 엡실론을 설정하여, CV에서 검증하며 최적의 엡실론을 찾고 TEST에서 정확도를 보아야 한다. 3. 대안적인 방법이 있긴하지만, 비추. 1. 알고리즘은 위와 같은 방법으로, 정상이면 0을 이상치면 1로 예측 값을 생성한다. 2. 중요한 것은 정확도를 확인할 떄, 단순히 정확도(Accuracy)만을 보는 것이 아니라는 점이다. 왜냐하면 극단적으로 정상치가 많기 때문에, 0으로..
[week9] Densitiy Estimation A. Problem Motivation 1. 분포의 밀도를 이용하여, 분포의 중심에서 멀어진 값을 이상치로 분류하는 것이다. 통계적접근법. 1. 이상치 검색의 예시 : 어떤 관찰 값이 사기일 확률, 제조 공정에서의 불량품 검색, 데이터 센타에서의 컴퓨터 감독 B. Gaussuan Distribution 1. 가우시안 분포에서의 확률은 면적으로 표현되며, 그 공식은 위와 같다. 가우시간 분포는 평균값인 뮤와 표준편차인 시그마의 제곱으로 표현될 수 있다. 1. 간단하다. 뮤는 중앙의 데이터가 가장 많은 지점, 표준편차 시그마가 커질수록 넓게 펴진다. 1. 뮤 말그대로 평균이기 때문에 m으로 나눠주는 것이고, 시그마의 제곱은 분산이기 때문에 중앙에서 멀어진 정도의 평균을 재는 것에 사용된다. C. Algori..