인공지능공부

인공지능공부/그래프

[Stanford/CS224W] 2. tradition-ml(1) : 전통적인 노드 레벨 작업과 피쳐

스탠포드 강의를 듣고 정리한 내용입니다. 앞의 포스팅에서도 언급했지만, 그래프는 크게 3가지의 작업을 할 수 있습니다. 오늘은 위의 방법들 중 Nodel-level에 대해서 포스팅하도록 하겠습니다. Node-level 작업들 Node-level 작업은 네트워크가 주어지고, 각 노드들이 위와 같이 2개의 라벨을 가진다고 했을 때, 라벨이 달리지 않은 노드에 대해 어느 라벨을 가질지 예측하는 작업을 뜻합니다. 왼쪽에 있는 회색 노드들은 라벨이 붙어있지 않은 노드들인데, 이것을 ML로 학습시켜 라벨을 가지도록합니다. 마치 semi-supervised 학습처럼 보이죠. 위의 작업을 가능하게하는 node feature extraction에 대해서 알아보도록 하겠습니다. Node degree Node central..

인공지능공부/그래프

[Stanford/CS224W] 1. intro(3) : 그래프 표현의 선택

스탠포드 강의를 듣고 정리한 내용입니다. 그래프 표현 방법 앞의 포스팅에서는 그래프에는 어떤 종류가 있는지, 어떻게 활용될 수 있는지 알아보았습니다. 이번 포스팅에서는 그래프를 어떻게 표현하는지에 대해서 알아보도록 하겠습니다.  앞에서도 살짝 언급했듯이 그래프는 노드와 엣지로 구성되어있습니다. 이를 수학적 기호로 표현하면 아래와 같습니다. Objects : nodes, vertices → N Interactions : link, edges → E System : network, graph → G(N,E) Directed Graph와 Undirected Graph 그래프의 종류에는 크게 Directed Graph와 Undirected Graph가 있습니다. Directed Graph Directed Gr..

인공지능공부/그래프

[Stanford/CS224W] 1. intro(2) : 그래프 ML의 응용

스탠포드 강의를 듣고 정리한 내용입니다. 그래프 Task의 종류 앞의 포스팅에서 그래프 신경망을 다양한 방법으로 활용할 수 있다고 언급했습니다. 이번 포스팅에서는 그 방법들이 무엇인지 자세히 살펴보겠습니다. 큰 카테고리로 나누면 총 4개의 작업으로 요약할 수 있습니다. Node Level Node classification : 노드의 속성을 예측하는 작업 ex) 온라인 사용자나 아이템을 분류함 Edge Level Link prediction : 두 노드 사이에 누락된 관계는 없는지 예측 ex) 지식 그래프의 완성 Community(subgraph) Level Clustering : 커뮤니티를 형성하는지 탐지 ex) 사회 집단 탐지 Graph Level Graph classification : 다양한 그래..

인공지능공부/그래프

[Stanford/CS224W] 1. intro(1) : 그래프가 필요한 이유

스탠포드 강의를 듣고 정리한 내용입니다. 왜 그래프인가? 그래프는 일반적으로 엔티티들의 관계 또는 상호작용을 설명하고 분석하는 "언어"입니다. 따라서 위와 같이 데이터를 하나의 독립적인 포인트로 보기 보다는 이렇게 관계, 네트워크 측면에서 생각하자는 것이죠! 왜냐하면!!! 위와 같이 우리의 주변에는 정말 다양한 네트워크/그래프 형태의 데이터가 있기 때문이죠. 따라서 그래프 형태의 데이터를 잘 사용할 수 있다면, 위의 데이터들도 자동적으로 잘 활용될 수 있겠죠? 그럼 그래프의 종류에 대해서 잠깐 정리를 하고 가겠습니다. 그래프의 종류는 natural graph로 잘 알려진 networks와 representation인 graph으로 나뉩니다. Network(also known as Natural Graph..

인공지능공부/인공지능기초수학

놈, 노름(Norm)

놈이란? 놈은 벡터의 크기를 나타내는 양입니다. 크기 또는 길이라고도 합니다. $$ \parallel v \parallel _p = ( \sum_{i=1}^n |v_i|^p )^ \frac{1}{p} $$ 수식은 위와 같습니다. 위의 p 값에 1이 들어가면 L1, 2가 들어가면 L2 라고 합니다. 인공지능에서는 주로 1,2가 사용됩니다. 1. L1 위의 수식에 1을 넣어보겠습니다. $$\parallel v \parallel _1 = \sum_{i=1}^n |v_i|$$ $$=|v_1|+|v_2|+|v_3|+...+|v_n|$$ 단순히 벡터 성분들을 더해주면 됩니다. 정말 쉽죠? 2. L2 위의 수식에 2를 넣어보겠습니다. $$\parallel v \parallel _2 = ( \sum_{i=1}^n |v..

인공지능공부/그래프

그래프의 정의

그래프란? 그래프는 간단히 말해서 점(node)과 선(edge)으로 이루어진 하나의 데이터 형태입니다. 기존 우리가 알던 배열로 이루어진 데이터와는 다른 형태입니다. 그래프는 두 점(node) 사이의 관계나 상호작용을 나타내는 데이터를 다룰때 주로 사용됩니다. 예를들어보겠습니다. 페이스북에 A, B, C 세 사람의 친밀도를 데이터로 나타내 봅시다. 만약 그래프 형태의 데이터를 사용하지 않는다면 우리는 이러한 형태의 데이터로 표현할 수 있을 것입니다. 이렇게 표현하면 모든 A, B, C를 조합해야하기 때문에, 각각 두번씩 중복되어 사용됩니다. 이번에는 그래프로 한번 표현해 보겠습니다. 모든 사람의 조합을 찾지 않고도 아주 간결하게 표현할 수 있습니다. 따라서 그래프는 노드 사이의 관계를 표현할 때 아주 효..

인공지능공부/인공지능기초수학

외적과 내적 비교

이번 포스팅에서는 외적과 내적을 비교해보도록 하겠습니다. 말로만 들으면 외적, 내적 비슷한거 아닌가? 생각이 드실 수 있습니다. 벡터의 곱은 두 가지로 정의 됩니다. 내적은 벡터를 수 처럼 곱합니다. 즉, 결과값이 스칼라로 나옵니다. 외적은 벡터간의 곱이며, 결과값 역시 벡터입니다. 외적은 '가위곱'이라고도 합니다. 수식비교 내적과 외적의 수식을 자세히 보시면 표시 기호 차이가 있습니다! 외적은 X, 내적은 ∙입니다. 의미도 간단하게 살펴보겠습니다. 내적의 의미는 "A의 방향으로 얼만큼 일했지?"이고, 외적의 의미는 "현재 두 벡터에 수직인 벡터가 뭐지?"입니다. 이름은 비슷하지만 두 "적"들은 서로 다른 의미를 가집니다.

인공지능공부/인공지능기초수학

벡터의 외적

이번에는 벡터의 외적에 대해서 알아보겠습니다. 벡터의 내적 같은 경우 "두 벡터가 협력했을 때 가질 수 있는 총 일의 양"이기 때문에 결과가 벡터가 아닌 스칼라로 표현되었죠! 하지만 외적은 연산 결과로 벡터가 나옵니다. 벡터의 외적 벡터의 외적은 두 벡터에 동시에 수직이고, 크기는 두 벡터의 평행사변형의 면적 R3상의 벡터입니다.(가위곱이라고도 불립니다.) 위의 그림처럼 A, B 두 벡터가 있다고 가정합시다. 이 두벡터의 외적은 C 또는 C'가 됩니다. 그리고 위의 수식에서 || 표기는 절댓값이 아닌 행렬식 표기입니다. 따라서 각 x, y, z에 해당하는 벡터 성분은 위의 행렬의 행렬식으로 표기됩니다. 그렇다면 어떻게 저런 행렬들이 만들어질까요? 먼저 a, b벡터를 순서대로 행렬로 만들어줍니다. 그러면 ..

인공지능공부/인공지능기초수학

코사인 유사도

코사인 유사도는 벡터의 내적으로부터 시작됩니다. 코사인 유사도 코사인 유사도는 주로 두 벡터를 비교할때 사용합니다. 즉, 두 벡터가 얼마나 닮아있는가를 측정하는 방법입니다. 코사인 유사도는 -1과 1사이의 값을 가지고, 수치가 클수록 두 벡터가 유사하다고 할 수 있습니다. 여기서 중요한 포인트는 두 벡터의 방향성인데요. 코사인 유사도는 두 벡터가 이루는 각도를 이용하기 때문에, 두 벡터의 거리보다는 방향성에 더 초점을 맞춘 유사도입니다. 먼저 벡터의 내적 공식을 한번 리마인드 해봅시다. 위와 같이 w, v 벡터가 있을 때, 내적의 수식은 아래와 같습니다. $$ w\cdot v = \parallel v \parallel * \parallel w \parallel * \cos \Theta = a*c + b*..

인공지능공부/인공지능기초수학

벡터의 내적

백터의 내적은 무엇일까요? 앞의 포스팅에서 벡터가 물리학적, 수학적, 컴퓨터 과학적 관점 이렇게 3개로 정의됐었죠. 벡터의 내적도 물리학적, 수학적의미를 가집니다. 백터의 내적을 보는 관점 (1) 물리학적 관점 물리학적 관점에서 보는 벡터의 내적은 "2개의 작용하는 힘이 있을 때, 이 두 개의 힘이 서로 협력할 경우 얼마나 일의 양이 커지는지"입니다. (2) 수학적 관점 벡터간의 곱이라고 할 수 있습니다. 자 그럼 그림으로 한번 살펴보겠습니다. 초기 서로 다른 두 벡터 OA, OB가 있다고 합시다. 이 벡터의 크기는 각각 a, b입니다. 물리학적 관점으로 보면 두 벡터가 "서로 협력하는 경우 얼마나 큰 일의 양이 되는지"입니다. 따라서 두 벡터가 협력할 수 있도록 두 벡터의 방향을 같게 해주어야 합니다...

컴공누나
'인공지능공부' 카테고리의 글 목록 (4 Page)