CS 41

[기계학습] GML - 추천 시스템

추천 시스템 개요 추천 시스템의 목표는 사용자가 좋아할 만한 데이터를 추천하는 것이다. 영화 추천, 상품 추천, 유뷰트 알고리즘 추천 등이 그 예이다. 기반이 되는 정보는 유저의 구매 기록, 평가, 클릭 이력, 시청 시간 등이 있다. 추천 시스템의 분류 Content-based approach 사용자가 좋아했던 아이템과 비슷한 콘텐츠를 추천한다. Collaborative filtering(CF) approach비슷한 취향의 다른 사용자들이 좋아한 아이템을 추천한다. Hybrid approachContent-based + Collaborative filtering 을 섞은 방식이다. Content Based Approach content based approach의 핵심은 사용자 자체를 이해해..

CS/기계학습 2025.06.16

[기계학습] GML - Representation Learning

Background 그래프에서 특징 학습 Representation Learning이란 Node Embedding으로 벡터화를 의미한다. 노드를 벡터로 표현하면 다양한 머신러닝 기법에 활용할 수 있다. 노드 간 유사도가 곧 연결 강도로 이어진다. 그래프에서 특징 학습의 목표는 저차원 벡터 공간에 노드를 잘 표현하는 것이다. 벡터화된 노드끼리 비슷한 구조라면 가까운 위치에 있어야 한다. 벡터로 표현한 노드는 이상 탐지, 속성 예측, 클러스터링, 링크 예측 등에 사용된다. 그래프 Embedding의 중요성 예시 1예를 들어 공공 의료 분야의 경우, 그래프 임베딩으로 단백질 구조를 예측한다. 단백질의 뉴클레오타이드의 서열을 그래프로 표현하고, 그 관계를 그래프 임베딩으로 벡터화하는 것이다. 예시 ..

CS/기계학습 2025.06.16

[기계학습] GML - Ranking

Background 그래프란? 그래프란 엔티티(노드)와 관계(엣지)를 표현하는 일반적인 구조이다. 그래프는 행렬로 표현할 수 있는데, 이 행렬 표현을 통해 노드 랭킹, 행렬 분해, 노드 임베딩 등의 다양한 응용이 가능하다. 웹과 그래프 웹페이지는 방향 그래프로 볼 수 있다. 각 노드는 웹 페이지로, 각 엣지는 하이퍼링크로 해석할 수 있다. 특정 노드 v에서 어디에 도달 가능하고, 누가 v에 도달가능할까? 라는 질문을 할 수 있고, 이 질문은 어떤 페이지가 더 중요한가?라는 질문으로 이어진다. 그럼 모든 웹 페이지는 다 동일한 중요도를 가지고 있을까? 그것은 아니다. 예를 들어 naver.com는 엄청 많은 사이트에서 링크되지만, 내 개인 블로그는 링크가 거의 없다.. 이 둘이 중요도가 같을 ..

CS/기계학습 2025.06.16

[기계학습] Generative ML

Generative Model 🔎 생성형 모델이란? 사람의 상상력처럼 눈에 안보이는 것까지 만들어내는 모델을 의미한다. 입력만 보고 비슷한 결과물을 새로 생성하는 능력을 가진다. 🔎 GAN이란? Generator와 Discriminator가 적대적으로 학습(Adversarial Learning)하면서 점점 성능이 개선되는 모델이다. Generator는 생성자로 데이터를 만들어내는 역할을 한다. Discriminator는 판별자로 그 데이터가 진짜인지 가짜인지 구분하는 역할을 한다. ❗️ 생성자는 판별자를 속이기 위해 점점 더 정교한 가짜 데이터를 생성하고, 판별자는 가짜 데이터와 진짜 데이터를 더욱 잘 구별하는 방향으로 학습하는 것이다. 생성형 모델 vs 분별 모델 🔸 분별 모델 우리가..

CS/기계학습 2025.06.14

[기계학습] RNN

Time-series Data 시계열 데이터의 활용 분야 1. 예측/예보 - 주가 예측 - 날씨 예측 - 기계 고장 예측 - 풍속/풍향 예측 - 농산물 가격/수요 예측 2. 언어 번역 - 언어는 시간적 순서를 가짐 → 문장 단위로 순차적인 처리 3. 음성 인식 - 시간에 따라 입력이 달라짐 → 순서대로 처리해야 정확하게 인식 4. 신경 공학 - 생체 신호도 시계열 형태 데이터 5. 생성 모델 - 이미지를 보고 설명 문장을 생성하는 등 이미지에 대한 설명도 시간의 흐름이 필요할 수 있다. 시계열 데이터 예시 숫자 2를 온라인으로 쓰는 경우 시간에 따라 펜이 움직인 경로가 기록된다. 심전도 신호도 3채널 데이터로 구성되는데, 이 둘의 핵심은 시간 축을 따라 연속된 신호라는 점이다. 시계열 데이터..

CS/기계학습 2025.06.14

[기계학습] 대표적인 CNN 모델

AlexNet AlexNet의 구조 AlexNet은 5개의 Conv Layer와 3개의 FC Layer 총 8개의 레이어로 구성되어 있다. Conv Layer에는 약 2백만개의 파라미터가 존재하며, FC Layer에는 약 6천 5백만개의 파라미터가 있다. Conv Layer에 비해 FC Layer에는 약 30배 이상의 파라미터가 존재한다. 이렇게 많은 파라미터는 과적합 확률을 올리고, 연산 비용이 많이 든다는 단점이 존재하기 때문에, FC 층의 파라미터를 줄이는 방향으로 CNN은 더욱 발전하고 있다. AlexNet의 성공 요인 AlexNet이 성공할 수 있었던 외부적 요인으로는 대규모 이미지 데이터셋인 ImageNet의 등장이 크다. 또한 GPU 병렬처리를 활용하여 학습 시간을 대폭 감소시켰다. ..

CS/기계학습 2025.06.13

[기계학습] CNN 기초

Convolution Neural Network : CNN CNN 기원 1959년 Hubel과 Wiesel은 동물의 시각 피질에 대한 연구에서 뉴런들이 시각 자극에 계층적으로 반응한다는 사실을 발견했다. 일부 뉴런은 좁은 자극 영역에만 반응하고, 어떤 뉴런은 모양, 선, 에지같은 특징을 인식하며, 전체적으로는 시각 정보가 계층적으로 처리된다는 것을 알게되었다. 이 원리가 CNN이 인간 시각 시스템을 모방하게 된 기반이다. 시각 정보 처리 원리 망막의 수용 필드는 하나의 뉴런이 감지할 수 있는 시야의 작은 영역을 의미한다. 시각 정보가 망막 → 시신경 → 시상 → 시각 피질로 전달되고, 각 단계에서 더 복잡한 특징을 감지한다. NeLet-5의 구조와 합성곱 연산 입력 이미지 → Conv Layer..

CS/기계학습 2025.06.13

[기계학습] Neural Network - Deep Learning의 한계와 발전

딥러닝의 발전 이유 1. GPU는 CPU보다 병렬 연산에 훨씬 강력함 2. 빅데이터와 빠른 처리 속도 3. 알고리즘의 진화 4. 개발 환경의 발전 5. 학계의 혁신 사례 6. ImageNet과 ILSVRC 대회 대표적인 딥러닝 프레임워크 (SW) 딥러닝의 한계 1. Overfitting : 과적합 학습 데이터에 너무 맞춰진 모델은 테스트 데이터에 대한 성능이 약하다. Uderfitting : 너무 단순한 곡선 Good fitting : 적절한 곡선 Overfitting : 노이즈까지 학습해버려서 복잡한 곡선 🛠️ 해결 방법 1. 정규화 오류 함수를 오류항과 모델 복잡도항으로 정의한다.복잡성이 모델을 과적합으로 이끌 수 있기 때문에 모델 복잡성을 패널티 항으로 추가하는 것이다. Cost ..

CS/기계학습 2025.06.12

[기계학습] Neural Network - Deep Learning 기초

Deep Learning 기본 개념 딥러닝이란? 딥러닝이란 인간의 신경망의 기본 메커니즘이다. 1. 가지 돌기에서 신호를 받는다. 2. 신호가 축삭 돌기를 지나 축삭 말단으로 전달된다. 3. 축삭돌기를 지나는 동안 신호가 약해져서 축삭 말단까지 전달되지 않거나 강하게 전달되기도 한다. 4. 축삭 말단까지 전달된 신호는 다음 뉴런의 가지 돌기로 전달된다. 5. 수억 개의 뉴런 조합을 통해 손가락을 움직이거나 물체를 판별하는 등 다양한 조작과 판단 수행이 가능하다. ANN : Artificial Neural Network Denfrite : Input Layer Axon : Output LayerScale of action potential : Weight 단층 퍼셉트론 은닉층 없이 입력층 - 출력층..

CS/기계학습 2025.06.12

[기계학습] Neural Network - 퍼셉트론과 학습 메커니즘

Perceptron 의 구조 입력층과 출력층으로 구성되어 있으며 출력층으로 구성되어 있다. 입력층은 d+1개의 노드를 가지고, 출력층은 1개의 노드를 가진다. 여기서 d는 특징 벡터의 차원을 의미한다. 입력 노드 xi와 출력 노드 o는 가중치 wi를 통해 연결된다. x0=1은 바이어스를 위한 입력으로 항상 1이다. 출력은 계단함수를 사용하여 결정되는데, 입력값 x 가중치의 합을 활성 함수에 통과시킨다. 이 값이 양수이면 1, 음수면 0으로 출력되는 것이다. Perceptron의 학습 메커니즘 학습된 퍼셉트론이 있다면 데이터를 보고 올바르게 인식할 수 있다. 실제 상황에서는 학습 알고리즘이 가중치들을 직접 찾아야 한다. 단순한 이진 분류 데이터라면 쉽게 계산이 가능하지만, 복잡한 데이터 (64차원, ..

CS/기계학습 2025.06.11