Industry-Academia Cooperation Project collaborated with Samsung DS in Seoul National University fall semester 2017.
We proposed an algorithm about the way to find critical parameters of semiconductor facilities with given 60 million features and only 15 facilities. Although this problem had a very skewed type of data structure(multi types, too many features compared to the number of samples) as well as encrypted value due to its credential, there was a chance to suggest more generalized and meaningful algorithm.
We at last shrink the number of distinct features in 3015 which are only 0.88% of original data set by using KDE(Kernel Density Estimation) for classification, non-hierarchical clustering (k-prototype) for clustering and our new type of encoding schemes. Eventually, we couldn't overcome the ultimate limitation of our data set, our compressing algorithm made impacts on their real problem decision-making process.
8. - 정상/비정상 또는 그룹1, 2, …, n의 설비로 군집화를 위한
parameter classification
- 유사한 설비끼리의 그룹
= 유사한 파라미터 값을 공유하는 설비끼리의 그룹
- 설비간 특정 파라미터가 특정 값으로 몰릴수록
설비 동작에 중요한 파라미터라고 판단
9. Criteria
- 설비에 입력되는 파라미터를
- Constant: 설비별로 같아야하는 파라미터
- Group: 기준 이상의 대수만큼 값이 같아야하는 파라미터
- Random: 사실상 값이 제각각이여도 상관없는 파라미터
11. - 보통 분류(Classification)은 분류 결과(label)를 바탕으로 학습
한 뒤 분류하는 supervised learning(지도학습)
- 주어진 파라미터를 classification할 학습된 모델도, label도 없
는 상황
- ‘유사한 값의 분포’를 바탕으로 군집화한 뒤 classification
- KDE(Kernel Density Estimation)
12. Kernel Density Estimation
- 밀도 추정: 관측된 데이터들의 분포로부터 원래 변수의 확률 분포
특성을 추정
- 커널 밀도 추정: 커널 함수를 이용한 밀도 추정 방식
- 커널: 원점을 중심으로 대칭이면서 적분값이 1인 non-
negative 함수(예: Gaussian)
- Bandwidth: 커널의 첨도를 결정
20. - 설비에 입력되는 파라미터의 KDE의 결과,
- Constant: 한 그룹이 전체의 70%를 초과하는 경우
- Group: 한 그룹이 전체의 30% 이상인 경우
- Random: 어떠한 그룹도 전체의 30%이상을 차지하지 못하
는 경우
- 파라미터별로 값이 ‘같아야’할 필요는 없음
31. - 계층적 클러스터링
- 굳이 몇 개의 군집(k)으로 나눠야하는지 설정해줄 필요가 없음
- 데이터 샘플간 거리에 대한 정의가 필요함
- 이를 위해 데이터의 성격에 대해 사전 정보가 필요
- 덴드로그램
- 비계층적 클러스터링
- 데이터에 대한 사전 정보가 필요하지 않으며 일반적으로 빠르게 결과를 확인해 볼
수 있음
- 몇 개의 군집(k)으로 나눠야 할지 여러번의 클러스터링 수행과 결과 분석이 필요함
- k 클러스터링
32. - 파라미터 타입, 내용이 다양하고 어떤 정보를 나타내는지 사전 정
보가 없음
- 데이터 샘플간 거리를 단순히 유클리드 거리로 적용할 수 없는 자
료형 또는 파라미터 특수성 존재(범주형)
- 비계층적 클러스터링 수행
34. Numerical parameter
- Dimension reduce
다차원 데이터라면 어느 수준까지 차원 압축을 해야하는가
- Normalization
정규화를 진행해도 되는가
- Imputation
비어있는 값을 어떻게 처리해줄 것인가
35. Categorical parameter
- Distance crieria: 거리를 어떻게 정의할 것인가
- Hierarchical category: 범주의 계층이 다른 두 파라미터를 단순
비교해도 적절한가
- Verification: 무엇보다 파라미터에 대한 정보를 정확히 식별할
수 없다면
처리 결과가 효용성을 갖는가?
36. Constant or Group
같은 집단으로 묶인 ‘유사한 값들’
동일한 카테고리
(더이상 numerical value가 클러스터링에 영향을 주지 않는다고 보는 관점)
43. K-modes
- categorical data에 적합한 비계층 클러스터링 기법
- https://github.com/nicodv/kmodes 패키지 사용
- 일반적으로 사용하는 유클리드 거리가 아닌 matching
dissimilarity를 거리 측정 기준으로 사용하고 있음
49. Validate Clustering
- 클러스터링 평가 방법으로 Silhouette coefficient 사용
- 같은 클러스터끼리 뭉쳐있을 수록(minimize a[i])
- 가장 가까운 클러스터와의 거리는 멀수록(maximize b[i])
- Silhouette coefficent 값이 1에 가까울수록 적합
52. Discussion
- Silhouette 결과 분석
- 전체 실루엣 평균값 대비 가장
큰 클러스터의 설비들은 더 뭉쳐
있는 것을 확인함
- 하지만 실루엣 값이 0.1에도 못
미치는 수준: 사실상 다른 클러
스터에 속했더라도 큰 차이가 없
을것
- 실제로 클러스터를 결정하기까
지 iteration에 따른 cost의 감
소량이 굉장히 미미함
53. - 원인1: 너무 적은 data sample과 너무 많은 data feature
- 원인2: classification 단계의 기준 설정의 모호성
- 원인3: 데이터의 성격을 알 수 없는 근본적 문제(기준이 없음)
- 원인4: ng dissimilarity
54. Why ng dissim can make result worse?
- 클러스터 중심(centroid)와 같을 때, 비중에 따라 비유사도를 ‘덜’ 적용하는 방식
- 2로 encoding된 경우(group)와, 4로 encoding된 경우(others) 모두
centorid와 다르다면 같은 비유사도 1을 적용받게됨
- 게다가 데이터 샘플보다 feature가 월등히 많으므로 비유사도 1을 기본적으로
적용받을 확률이 높아짐
- 따라서 실제 각 데이터 포인트와 centroid간 거리 차이는 매우 미미한 수준
55. Conclusion
- 다차원 다타입의 데이터의 feature를 단순 차원 축소(PCA)가 아
닌 classification과 encoding을 통해 0.88% 수준으로 압축
- 데이터의 특성을 알 수 없는 상황에서 사용하기 어려운 것들(정
규화, data type 분류 등)을 적용하지 않고도 적용할 수 있는
encoding scheme 방식 제시
- k mode와 같은 categorical data에 대한 클러스터링 및 적합성
측정 방식 제시