전체 글(301)
-
[선형 대수] 벡터 공간과 부분 공간의 기저
벡터 공간과 부분 공간 선형 대수를 공부하려면 기본이 되는 벡터 공간(Vector space)과 벡터 부분 공간(Vector subspace)을 이해해야 한다. 인공지능을 공부하다보면 SVM(Support Vector Machine) 모델을 종종 접한다. SVM은 최대 마진 초평면(Maximum Margin Hyperplane)이라고 해서 두 범주를 최대로 나누어 주는 평면을 찾게 되는데, 이때 선형 대수 개념을 알지 못하면 알고리즘을 깊이 있게 알기 어렵기에 공간 개념을 이해해야 한다. - 좌표 평면 → 2차원 실수 공간 - 좌표 공간(벡터 공간) → 3차원 실수 공간 부분 공간 공집합이 아닌 R^n 상의 벡터들의 집합이 스칼라 곱과 덧셈에 관해 닫혀있다면 이를 R^n 상의 부분공간이라고 한다. (뺄셈..
2022.12.03 -
[선형 대수] SVM(Support Vector Machine)
서포트 벡터 머신(SVM: Support Vector Machine)은 분류 과제에 사용할 수 있는 강력한 머신러닝 지도 학습 모델이다. 서포트 벡터 머신 SVM은 결정 경계(Decision Boundary), 즉 분류를 위한 기준 선을 정의하는 모델이다. 그래서 분류되지 않은 새로운 점이 나타나면 경계의 어느 쪽에 속하는지 확인해서 분류 과제를 수행할 수 있게 된다. 결국 이 결정 경계라는 걸 어떻게 정의하고 계산하는지 이해하는 게 중요하다. 만약 데이터에 속성(feature)이 2개만 있다면 결정 경계는 이렇게 간단한 선 형태가 된다. 그러나 속성이 3개로 늘어난다면 이렇게 3차원으로 그려야 한다. 그리고 이때의 결정 경계는 선이 아니라 평면이 된다. 우리가 이렇게 시각적으로 인지할 수 있는 범위는 ..
2022.12.03 -
[선형 대수] 선형 결합과 선형 독립
선형 결합과 생성 선형 결합(Linear Combination)은 벡터의 스칼라 곱과 덧셈을 조합하여 새로운 벡터를 얻는 연산이다. 기하학적인 관점에서 생각한다면 스칼라-벡터 곱은 벡터의 길이를 줄이거나 키우는 것으로, 두 벡터의 덧셈은 두 벡터가 이루는 평행사변형의 대각선과 일치한다. 선형 독립과 선형 종속 선형 독립 예를 들어 A = {a1, a2, a3, ..., an}에 대해 c1a1 + c2a2 + c3a3 + ..cnan = 0을 만족하는 c가 모두 0일 때를 선형 독립이라고 한다. 💡 인공지능에서 선형 독립과 선형 종속은 어떻게 사용하나요? 인공지능에서 데이터셋 특성이 많아지면 오버피팅이 발생한다. 이러한 현상을 차원의 저주라고 하는데, 이를 해결하는 방법 중 하나로 PCA(Principal..
2022.12.02 -
[선형 대수] 벡터란
선형 대수에서 벡터란 선형대수는 데이터 분석에 필요한 각종 계산을 돕는 학문이다. 데이터 분석을 하려면 수많은 숫자로 구성된 데이터를 다루어야 한다. 선형 대수에서 다루는 데이터는 개수나 형태에 따라 크게 스칼라(Scala), 벡터(Vector), 행렬(Matrix), 텐서(Tensor) 유형으로 나뉜다. - 스칼라는 숫자 하나로 구성된 데이터 - 벡터는 여러 숫자로 구성된 데이터 레코드 - 행렬은 이러한 벡터, 즉 데이터 레코드가 여럿인 데이터 집합 - 텐서는 크기가 같은 행렬이 여러 개 있는 것 스칼라: 숫자 하나 스칼라는 숫자 하나만으로 된 데이터를 의미한다. 스칼라는 보통 x처럼 알파벳 소문자로 표시하며, 실수인 숫자 중 하나이다. 벡터: 방향이 있고 순서가 있고 차원의 공간에 존재하는 점 벡터는..
2022.12.02 -
[LeetCode] 534. Game Play Analysis III
난이도 상승하는 게 느껴진다. 이는 player_id별로 누적합을 구하려 하니, subquery로 2중 루프 같이 각 누적합을 구하려 하니 TLE(Time Limit Exceeded)하게 되었다. SELECT A1.player_id, A1.event_date, ( SELECT SUM(A2.games_played) FROM Activity A2 WHERE A2.player_id = A1.player_id AND A2.event_date
2022.11.27 -
[LeetCode] 512. Game Play Analysis II
https://leetcode.com/problems/game-play-analysis-ii/ Game Play Analysis II - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com player_id별로 최초 사용한 device_id를 출력한다. 대신 이번에는 GROUP BY를 사용하지 않고, player_id와 최소 event_date를 뽑아서 이와 매치되는 row를 출력해 player_id, device_id를 출력한다. 즉 앞서 풀었던 1단계를 활용하되,..
2022.11.27