728x90
반응형

분류 전체보기 115

[밑바닥 DL] 3.PPMI의 한계와 차원 감소(feat.SVD)

1.PPMI의 한계PPMI 에는 몇 가지 제약이 존재합니다. 가장 중요한 문제 중 하나는 말뭉치 내 어휘의 수가 증가함에 따라, 단어 벡터의 차원 또한 비례하여 증가한다는 것입니다. 예를 들어, 어휘 수가 10만 개에 이른다면, 각 단어 벡터는 10만 차원의 공간에 배치됩니다. 이렇게 고차원의 벡터는 계산적으로 부담스럽고, 현실적인 데이터 처리에 있어 심각한 제약을 의미합니다.더 나아가, 해당 이미지의 PPMI 행렬을 자세히 살펴보면, 대부분의 원소가 0이라는 점을 알 수 있습니다. 이는 벡터의 대부분의 원소가 중요하지 않음을 시사하며, 각 원소의 '중요도'가 낮다는 것을 의미합니다. 이는 데이터의 희소성을 나타내며, 해당 벡터가 노이즈에 취약하고 견고하지 않다는 문제점을 드러냅니다. 이러한 고차원이고 ..

밑바닥 DL 2024.04.05

[밑바닥 DL] 2.동시발생 행렬의 한계와 해결책(feat. PPMI)

동시발생행렬은 말뭉치(corpus) 내에서 일정한 맥락 안에서 각 단어 쌍이 함께 등장하는 횟수를 세는 표입니다. 언어학, 자연어 처리, 데이터 분석에서 관계와 패턴을 분석하는데 유용한 도구지만 몇 가지 한계가 있습니다. 1.동시발생행렬의 한계1. 희소성(Sparsity): 많은 단어 쌍들이 함께 등장하지 않거나 자주 등장하지 않을 수 있습니다. 이로 인해 많은 값이 0인 희소 행렬이 되고, 이는 저장과 처리에 있어서 계산 효율성이 떨어질 수 있습니다.2. 고차원성(High Dimensionality): 말뭉치의 어휘가 많을수록 동시발생행렬의 크기가 커져 다루기 어렵게 됩니다. 3. 맥락 부족(Lack of Context): 단어들이 등장하는 순서나 맥락을 포착하지 못합니다. 예를 들어 "개가 사람을 물..

밑바닥 DL 2024.03.14

[밑바닥 DL] 1.시소러스와 통계 기반 기법(feat.동시 발생행렬, 코사인 유사도)

자연어 처리란?자연어 처리(Natural Language Processing, NLP)는 인간의 언어를 컴퓨터가 처리하도록 하는 인공지능의 한 분야입니다. NLP의 목표는 인간의 언어를 이해하고 생성할 수 있는 시스템을 개발하는 것입니다. 이를 통해 컴퓨터는 텍스트나 음성 데이터를 분석하고, 의미를 추출하며, 필요한 경우 자연어로 응답할 수 있게 됩니다. NLP는 기계 번역, 감정 분석, 챗봇 개발, 음성 인식 시스템 등 다양한 응용 분야에서 활용됩니다.단어의 의미를 이해하고 처리하는 것은 NLP에서 중요한 과제 중 하나입니다. 단어의 의미를 이해하고 처리하는 방법으로는 세 가지가 있습니다. 시소러스를 활용한 기법통계 기반 기법추론 기반 기법(예: word2vec)1. 시소러스 기반 기법시소러스는 단어의..

밑바닥 DL 2024.03.12

[오류Error] exception: install mecab in order to use it: http://konlpy.org/en/latest/install/

코랩으로 Mecab()을 돌려야 하는데, 자꾸 에러가 발생해서 많이 헤매다가 해결했다. 나중에 또 까먹을 것 같아서 기록하기로..! 이 포스트에서 사용된 MeCab-ko (한국어 형태소 분석기) 설치 방법은 SOMJANG님의 GitHub 저장소 'Mecab-ko-for-Google-Colab'을 참조하여 진행했습니다. 해당 저장소에는 Google Colab 환경에서 MeCab-ko를 쉽게 설치할 수 있도록 하는 스크립트가 제공됩니다. 자세한 설치 방법과 사용법은 아래 깃허브에서 확인할 수 있습니다. GitHub - SOMJANG/Mecab-ko-for-Google-Colab: Use Mecab Library(NLP Library) in Google Colab Use Mecab Library(NLP Lib..

오류Error 2024.02.08

[Deep Learning] 인공지능의 기초: 퍼셉트론부터 인공 신경망까지

퍼셉트론의 개요 퍼셉트론은 인공 신경망(artificial neural network)의 기초적인 형태 중 하나로, 이진 분류 문제를 위한 간단한 알고리즘입니다. 입력값 (Input): 퍼셉트론은 하나 이상의 입력값을 받습니다. 이러한 값들은 각각의 특성(feature)을 나타내며, 이를 바탕으로 결정을 내립니다. 가중치 (Weights): 각 입력값에는 가중치가 부여됩니다. 이 가중치는 학습 과정에서 조절되며, 입력값의 중요도를 조절하는 역할을 합니다. 가중합 (Weighted Sum): 각 입력값과 그에 대응하는 가중치의 곱을 모두 합한 값입니다. 활성화 함수 (Activation Function): 가중합이 어느 임계값을 넘으면 퍼셉트론은 1을 출력하고, 그렇지 않으면 0을 출력합니다. 이를 결정하..

Deep learning 2024.02.06

[python] 데이터 분석의 핵심: 날짜 전처리 방법(to_datetime)

import pandas as pd # 날짜와 시간 데이터를 포함하는 데이터프레임 생성 data = { '날짜': ['2022-01-01 10:00:00', '2023-09-30 11:30:00', '2021-02-17 15:20:00', '2023-07-01 20:45:00'], '값': [10, 20, 30, 40] } df = pd.DataFrame(data) df df 데이터셋은 날짜, 값 두 개의 피처로 이루어진 데이터프레임 입니다. df 피처의 타입을 확인해보겠습니다. train.info() 보다시피 날짜 칼럼은 object 형태입니다. 이번에는 to_datetime() 함수를 사용하여 '날짜' 열의 데이터 타입을 날짜/시간 형식(datetime)으로 변환하는 작업을 진행하겠습니다. df['날..

python 2023.10.18

[Deep learning] 가중치 초기화(weight initialization) (feat. Xavier, He,normal, uniform)

0. 딥러닝 모델 학습 / 모델 훈련 프로세스1. 모델 초기화(Initialization): 최초 가중치(weight) 값을 설정합니다.2. 예측(Prediction): 설정된 가중치와 입력 feature(X) 값을 사용하여 예측 값을 계산합니다.3. 손실(Loss) 계산: 예측 값과 실제 값의 차이를 계산하여 손실 값을 얻습니다.4. 가중치 업데이트(Weight Update): 손실을 최소화하기 위해 가중치를 조정합니다. 이 과정은 경사 하강법 등의 최적화 알고리즘을 사용하여 수행됩니다.1. 가중치 초기화의 중요성가중치 초기화는 딥러닝 모델을 학습시키기 위해 가중치들을 어떤 값으로 초기화할지 결정하는 중요한 단계입니다. 초기 가중치는 모델이 학습을 시작할 때의 출발점을 의미하며, 이 값들이..

Deep learning 2023.09.06

[python] matplitlib, seaborn 시각화 여러개 그리기 (set_xticklabels, set_xlabel, set_title, axes)

시각화 여러개 그릴 때마다 헷갈리고 까먹고 난리난리여서 나를 위해 포스팅한다! penguins = sns.load_dataset("penguins") penguins 1. seaborn 행 1개일 경우 fig, axes = plt.subplots(1, 3, figsize=(18, 6)) sns.boxplot(y=penguins['bill_length_mm'], ax=axes[0]) sns.boxplot(y=penguins['bill_depth_mm'], ax=axes[1]) sns.boxplot(y=penguins['flipper_length_mm'], ax=axes[2]) plt.subplots_adjust(wspace=0.4) plt.show() 2. seaborn 행 2개이상일 경우 fig, axe..

python 2023.08.10

barplot

데이터를 분석하거나 모델링하기 위한 초기 단계 중 하나는 변수가 어떻게 분포되어 있는지 이해하는 것입니다. 관측치들은 어떤 범위에 분포하나요? 그들의 중심 경향성은 무엇인가요? 한쪽 방향으로 매우 치우쳐져 있나요? 이중모드(bimodality)의 증거가 있나요? 유의한 이상치가 있나요? 이러한 질문에 대한 답은 다른 변수에 의해 정의된 하위 집합에서 달라질 수 있나요? distributions module 에는 이러한 질문에 대답할 수 있는 여러 함수가 포함되어 있습니다. 축 레벨(ax-level) 함수는 histplot(), kdeplot(), ecdfplot(), rugplot()이 있습니다. 이러한 함수들은 figure-level displot(), jointplot(), pairplot() 함수 ..

카테고리 없음 2023.08.08
728x90
반응형