지난번 포스팅의 후반부에 텍스트 마이닝에 대해 다뤘었는데, 이로부터 파생된 것이 요즘 AI(인공지능)와 관련하여 한 번 쯤 들어봤음직한 용어인 머신러닝과 딥러닝이다. 이 러닝learning들은 ‘텍스트 마이닝‘ 작업을 통해 획득된 다양한 정보들을 반복적으로 학습하는 것인데, 이를 통해 특정 상황에서 학습된 대로 행동하여 문제를 해결하는 것을 목표로 한다.

이와 관련하여 좀 더 세부적인 핵심 내용을 간단히 정리해보자면 먼저 머신러닝이 다양한 경험을 실제로 하면서 배우는 컨셉이라면, 딥러닝은 기계가 실제로 경험하지 못한 것을 추론을 통해 학습하는 컨셉이다.

책에 직접적으로 나온 표현은 아니지만, 머신러닝과 딥러닝을 독자인 나만의 말로 풀어 설명해보자면 머신러닝은 학교나 학원에서 선생님의 수업을 통해 학습내용을 배우는 것이고, 딥러닝은 머신러닝을 통해 배운 학습내용을 기반으로 하여 어떤 새로운 지식을 스스로 추론해가면서 배우는 것으로 생각하면 될 듯 하다.
.
.
.
뒤이어지는 내용에서는 이 책의 앞부분에서 언급되었던 ‘유사도‘라는 개념과 관련하여 ‘연관규칙 분석‘이라는 개념이 등장한다. 이는 우리가 일상생활에 종종 쓰는 말 중 하나인 패턴pattern 이라는 것과 관련이 있다. 이를 분석하는 것과 관련하여 ‘지지도‘, ‘신뢰도‘, ‘향상도‘ 라는 개념이 함께 등장하는데 좀 더 자세한 내용은 밑줄친 부분을 참조해보시면 될 듯 하다.

이 책의 마지막 부분에는 네트워크 분석과 관련된 내용들이 나온다. 노드node, 링크link 같은 기초적인 개념을 바탕으로 ‘중앙성centrality‘ 이라는 개념을 3가지 분류로 나누어서 각각의 데이터들 간의 상관관계를 분석하고 그 속에서 어떤 의미를 찾아보는 과정들이 본문에 간단한 사례와 함께 제시되어 있다.

데이터 분석과 관련한 다양한 사례들을 통해 세상에 여기저기 산재해있는 데이터들을 어떻게 가공하고 분석하느냐에 따라 가치있는 정보들을 얼마든지 도출해낼 수 있다는 것을 확인할 수 있었고, 저자께서 마지막에 말씀해주신 것처럼 어떤 최신 트렌드 같은 것에 이리저리 휩쓸리기 보다는 일단 데이터 분석의 근본부터 잘 알아두는 것, 즉 기본에 충실하는 것이 중요하다는 것을 다시금 느낄 수 있는 시간이었다.

입력된 대상에 대해 판단할 만한 경험이 없으면 아이는 질문을 통해 답을 찾거나 새로운 경험으로 받아들이고 문제를 해결한다. 이것이 일반적인 데이터 분석이다. 즉, 전혀 경험하지 않았던 질문의 해답을 찾는 경우다. - P189

입력된 대상이 과거 경험을 바탕으로 충분히 해석 가능하면 그 경험에서 나왔던 결과를 기반으로 판단을 한다. 이때 경험은 깊이의 차이를 보인다. 단 한 번의 경험한 것과 오랜 경험에 의한 판단에는 분명 차이가 있다. - P189

경험이라는 ‘스냅샷snapshot‘은 단편적으로 이루어진다. 반복된 경험이 누적될수록 판단은 빨라지며, 다양한 경험을 할수록 판단할 수 있는 가치가 많아진다. 이것이 머신러닝이다. 알고리즘을 통해 이후 발생되는 사건과 신호를 인간의 개입 없이 스스로 판단해 결론을 도출한다. - P190

경험하지 못한 것을 판단해 결론을 찾아야 하는 순간도 있다. 옳고 그름을 떠나서 반드시 결론을 도출해야 하는데 이것이 바로 딥러닝이다. 알고리즘이 사람이라면 이 순간 어떤 결론을 도출할 것인가? 딥러닝은 이 해답을 사람의 개입 없이 오로지 방대한 양의 데이터를 통한 학습으로 찾아낸다. - P190

손을 댄 적이 있어서 불에 손을 대지 않는 건 ‘불이 뜨겁다‘라는 사실적 경험에 나오는 것이다. 이것이 머신러닝이다. ‘저 붉게 타오르는 것에 사람들이 손을 대지 않는 것을 보니 아무래도 좋지 않는 물질인 것 같아. 난 손을 대지 않겠어.‘ 이것은 딥러닝이다. - P190

중복된 비율에 따라 유사도를 측정하는 자카드 유사도jaccard similarity - P194

자카드 유사도 공식은 간단하다. 교집합의 크기를 구하고 이를 합집합의 크기로 나누는 것이다. - P194

유사도를 측정하는 데는 거리 계산을 이용할 수도 있지만, 이처럼 중첩비율을 이용해 유사도를 구할 수도 있다. - P196

자카드 유사도 공식은 전체 대비 중첩 비율만을 고려한다는 문제점이 있다. 데이터가 2개 이상 묶여도 그 묶음 자체를 또 다른 하나의 데이터로 보고 유사도를 측정하는 셈이다. 데이터를 사건으로 본다면 특정 사건이 발생할 때 동시에 발생할 수 있는 사건을 확인하는 상대성, 다시 말하면 조건부 확률값을 취할 수는 없다. 즉, 사과가 출현할 때 딸기가 동시에 출현할 확률은 고려되지 않는다. - P197

집합은 (중략) 연관규칙 분석 association rule analysis 의 기초가 되는 개념이다. 그중 교집합은 집합 내 데이터가 얼마나 중복되는지를 판단하는 기준으로, 유사도를 측정하는 공식으로도 두루 사용된다. - P194

자카드 유사도보다 진일보한, 조금 더 복잡한 연관규칙 분석으로 상대성, 조건부 확률 - P197

현실 세계를 유심히 들여다보면 일정한 패턴에 따라 움직인다는 것을 알게 된다. - P198

반복적인 패턴을 찾아 특정 사건이 동시에 일어나는 규칙을 탐색하는 데이터 분석 방법이 연관규칙 분석association rule analysis이다. 다시 말해, 특정한 사건 A가 발생하는 동시에 사건 B가 발생하는 확률이 얼마나 되는지를 찾아내는 분석이다. 연관규칙 분석은 앞서 이야기한 집합 이론에 기초해 확률적인 값으로 표현하는 대표적인 분석 기법이다. - P198

소비자 구매 데이터를 분석해 함께 팔리는 품목을 상품 배치에 활용하는 것을 장바구니 분석 Market Basket Analysis, MBA이라고 한다. 이러한 연관규칙 분석은 마케팅 분야에서 널리 활용되고 있다. - P198

연관규칙 분석의 핵심은 특정 사건 시 동시에 발생하는 사건을 발견하는 것이다. - P199

전체 사건에서 특정 사건이 동시에 발생할 확률을 연관규칙 분석에서 지지도support라 한다. - P199

지지도는 동시 발생 비율을 전체 사건의 수로 나눈 값이라 방향성이 없다. 다시 말하면, 부품 A와 B는 어떤 부품이 먼저 투입되든 상관없이 두 부품이 동시에 활용되는 경우의 수다. - P200

A가 먼저 투입되고 난 뒤에 투입되는 부품이 어떤 것인지를 판별하는 조건부 확률을 구하면 좀 더 정확한 가치를 찾을 수 있다. 이를 연관규칙 분석에서는 신뢰도confidence라고 한다. - P200

도출된 신뢰도 결과가 과연 활용할 만한 가치가 있는 것일까? 이러한 연관규칙 분석 결과가 유의미한지를 판단하는 기준을 향상도lift라 부른다. 향상도는 결과가 과연 우연으로 발생한 것인지를 판단한다. - P201

향상도는 구한 신뢰도 값을 조건 A와 대칭이 되는 상대 값의 전체 대비 출현 비율로 나눈 값이다. - P201

향상도 (lift)=사건 A & 사건 B의 신뢰도 ÷ (사건 B ÷ 전체 발생 사건 수) = P(A|B) / S(B) - P201

신뢰도(confidence) = (사건 A & 사건 B) ÷ 사건 A = P(A교집합B) / P(A) = P(A|B) - P200

지지도(support) = 사건 A & 사건 B ÷ 전체 발생 사건 수 = P(A교집합B) - P200

향상도는 그 값이 정확히 1이 나오면 두 사건은 서로 완전히 독립적이라고 하고 1보다 작으면 음의 상관관계, 1보다 크면 양의 상관관계라고 한다. 따라서 향상도 값이 1보다 크면 그 값만큼 긍정적인 연관관계라고 본다. - P201

인간은 아주 오래전부터 네트워크를 형성한 구성원 간의 관계와 성향, 패턴 등의 특성을 파악하고자 사회학을 중심으로 꾸준하게 연구했다. 사회학적 관점에서 출발해 지금은 사회학뿐만 아니라 모든 분야에서 활발히 활용되는 네트워크를 이용한 데이터 분석 기법이 바로 사회 연결망분석 social network analysis, (이하 네트워크 분석)이다. - P208

네트워크 분석은 인간과 인간 사이의 관계 아니 이를 넘어 독립적인 사건의 관계 속에서 발생하는 현상을 찾는 분석 기법이다. - P208

네트워크는 분석 대상이 있고 대상 간의 관계를 형성하는 것에서 출발한다. 네트워크는 대상을 나타내는 노드node와 대상 간의 관계를 나타내는 링크link 또는 relationship로 구성된다. - P209

네트워크 분석의 핵심은 상호관계 설정이다. 상호관계를 연결 강도로 정의하려면 그 관계가 얼마나 강한지 약한지를 파악해야 한다. 한번 본 사람과 자주 만난 사람과의 관계는 연결 강도가 확연히 다르다. 그래서 대상 간의 링크를 구성할 때는 유사도, 상관계수 또는 연관규칙의 신뢰도 등과 같은 부수적인 관계 설정 값이 반드시 주어져야 한다. - P209

관계에는 방향성이 있다. 이것은 이성 간의 사랑을 생각하면 쉽게 알 수 있다. 내가 누군가를 짝사랑한다면 이는 한쪽 방향으로 흐르는 단방향성의 관계고 서로가 사랑하면 양쪽 모두로 방향이 형성되는 양방향성을 가지게 된다. - P209

네트워크 분석에서는 그림도 중요하지만, 분석으로 어떤 가치를 도출할 수 있는지 의미를 찾는 것이 더 중요하다. - P212

네트워크 분석에서는 노드, 즉 분석 대상이 얼마나 중심적인 위치를 차지하는가를 판단하는 관점인 중앙성 centrality (또는 중심성)이 있다. 중앙성은 독립성 independence, 자율성 autonomy, 지배력 dominance, 영향력 influence 등을 포괄해 설명한다. - P212

연결degree 중앙성은 특정 노드가 다른 노드들과 얼마나 직접 연결됐는지를 판단하는 값이다. 연결 중앙성은 네트워크에서 직접적인 관계의 깊고 낮음을 가늠한다. 연결 중앙성이 높을수록 네트워크에서 중요한 위치에 있다고 판단할 수 있으며, 전체 노드의 개수에서 해당 노드와 연결된 링크 개수의 비율로 측정한다. - P212

다음으로 인접 closeness (또는 근접) 중앙성이다. 이는 특정 노드와 직접 연결된 연결 중앙성과는 달리 간접적으로 연결된 관계를 고려하는 것이다. 인접 중앙성이 높으면 주변 노드와의 교류가 그만큼 활발하다는 것이며 반대로 낮으면 그만큼 독립적이거나 고립된 관계에 있다고 판단한다. - P212

중요한 노드일수록 다른 노드까지 도달하는 경로가 짧으므로 특정 노드에서 출발해 네트워크의 노드들이 얼마나 가까이 위치해 있는지를 확인한다. 인접 중앙성은 해당 노드와 다른 노드간의 거리의 역수*로 측정한다. - P213

*두 수를 곱해 1이 되는 수. 만약 x=1/2이라면 역수는 2가 된다. - P213

마지막으로 사이 betweenness (또는 매개) 중앙성이다. 사이 중앙성은 네트워크에서 특정 노드가 다른 노드 간의 중개자 역할을 수행하는 정도를 의미한다. - P213

인접 중앙성은 다른 노드와의 최단 거리로 계산되지만, 사이 중앙성은 네트워크에서 해당 노드가 최단 경로에 위치한 비율로 계산된다. 즉, 해당 노드가 다른 노드와 노드가 연결될 때 최단 경로에 포함되는 횟수를 측정한다. 따라서 네트워크의 영향력을 판단하는 기준으로 활용한다. - P214

최근 인기 있는 데이터 분석 기법으로 네트워크 분석이 있으며 이를 통해 도출되는 값으로 중앙성이 대표적으로 사용된다는 걸 아는 것이 중요하다. - P215

세상 모든 것이 데이터이듯이 세상의 모든 것은 분석 대상이 될 것이다. - P216

최신 트렌드를 따라 머신러닝이나 딥러닝 같은 복잡한 분석기법에 관심을 두기보다는 먼저 데이터와 친숙해지기를 부탁드린다. - P216

트렌드에 따라 움직이지 말라 - P216

세상은 빠르게 변한다. 하지만 데이터와 데이터 분석은 변함없이 필요할 것이다. - P216


댓글(0) 먼댓글(0) 좋아요(9)
좋아요
북마크하기찜하기 thankstoThanksTo