티스토리

활주로
검색하기

블로그 홈

활주로

stop0729.tistory.com/m

stop0729 님의 블로그입니다.

구독자
1
방명록 방문하기

주요 글 목록

  • CS580 lecture 12 lecture 11에서는 novel view synthesis 특히 NeRF에 관한 부분에 대해서 다뤘다. 이번 강의에서는 NeRF가 발전한 방향에 대해서 간단하게 다루고, 3dgs를 렌더링 관점에서 설명한다. 9강 10강의 path tracing과 BRDF 모델링 부분은 정확히 이해하지 못했다. 지금 나에게는 필요하지 않아서 미래의 나에게 맡긴다. NeRF는 3d 공간좌표와 보는 방향을 입력으로 받아 색깔과 density를 구해내는 방식이였다. InstantNGP는 NeRF를 발전시켜 모든 3d 포인트들에 대해서 고려하려면 시간이 오래 걸린다는 문제를 해결하려는 기법이다. 3d 공간을 hashing을 통해 lookup feature table로 변환하여 저장한다. 즉 메모리 사용을 높혀서 미리 .. 공감수 0 댓글수 0 2025. 5. 6.
  • CS580 lecture 11 성민혁 교수님의 컴퓨터 그래픽스 강의 11강을 듣고 내용을 정리하려고 한다.설명을 위한 글을 쓰기보다는 듣고 이해한것을 바탕으로 남긴다. Novel View Synthesis여러 각도에서 촬영한 이미지를 최적화 시켜서 3d volume으로 만들고, 이전에 보지 못한 각도에서 봤을때도 잘 렌더링 되게 만드는 것이 목표 이때 우리는 기존 딥러닝 방식처럼 이해할수 없는 black box decoder를 만드는것이 목표가 아니라, 이해할 수 있는 이미지 decoder를 만드는것이 목표이다. 이를 위해 그래픽스 기법중 하나인 렌더링 방정식을 사용한다. View Synthesis를 위한 neural network의 Input은 입력 사진들에 structure from motion(colmap) 을 돌려 뽑아낸 .. 공감수 2 댓글수 0 2025. 4. 30.
  • cuda, 환경변수 1. 네이버 부스트 캠프때 오류났던 nvcc 오류 cudatoolkit은 두종류가 있다.A. runtime용도의 cudatoolkitB. nvcc를 포함한 개발자용의 cudatoolkit 우리가 활용했던 서버는 도커 컨테이너 위에서 구성된 서버이다. 컨테이너 내부에 설치된 cuda 버전이 A 였기에 nvcc를 활용하려는 패키지가 계속 오류가 났던것이다. 애초에 도커가 특정 쿠다버전 이미지를 구어왔는데 거기에 추가적으로 변형시키려고 해서 오류가 난건가? 여전히 잘 모르겠다. 그런데 전역적으로 말고 지역적으로 링크를 따와서 실행시에는 오류가 안났던것 같다. pip로 새로운 torch를 깔아도 nvcc는 깔리지 않았는데, pip로 torch를 깔때 같이 연결되는 cuda는 nvcc를 담고있지 않았기 때문이다... 공감수 0 댓글수 0 2025. 4. 2.
  • 코테 5430_AC_골드5: 1. reverse() 매번하는것은 시간 복잡도 너무 큼.2. lst = [1,2,3] 일때 ','.join(map(str, lst)) 하면 리스트를 문자열로 쉽게 바꿀수 있다. 보통은 lst 안에 문자들만 있을때만 join이 가능한데 숫자들도 map(str, lst)해줘서 map 앞에 있는 형태로 매칭시켜준다.   7569_토마토_골드5: 1. 어떻게 횟수 계산? 거리로 생각하고 노드 사이 거리가 전부 1이므로 bfs로 해결 가능2. 큐의 pop을 어디서 부터 어떻게 시작? -> 처음 1인것들 전부 큐에 넣고 시작 3. 어떻게 익지 않은 토마토를 판별? -> 다 마친후 0이 있는지를 판별... 괜히 어렵게 생각했네   1927_최소힙_실버2: 1. 힙 사용법에 대해서 맨날 까먹는.. 공감수 0 댓글수 0 2025. 3. 5.
  • 20주차 회고 한 주간 있었던 일colmap을 통한 sfm을 돌려보고 그 결과를 이용하여 nerfstudio를 돌려봤다생성과 관련된 공부를 하고 과제를 통해 controlnet을 돌려볼 수 있었다.   공부한것 colmap은 strucfrom motion을 구현해놓은 라이브러리이다. 영상이 주어지면 거기서 프레임별로 이미지를 추출하고, 각 이미지 사이의 feature mapping을 통해 camera world에서의 camera pose를 추출해내고 images.bin에 저장한다. 그 외에도 camera parameter, points cloud들의 정보들을 얻어내고 .bin 저장한다.nerfstudio API에는 colmap이 자체 내장되어있어서 nerfstudio 하나만으로 카메라 파라미터 추출을 하고 nerf 까.. 공감수 0 댓글수 0 2025. 1. 13.
  • Score-Based Generative Modeling Through Stochastic Diffrential Equations Diffusion 을 조금 더 이해하기 위해서 적어보는 글 2탄.    Introduction새롭게 score 기반 생성모델이 정의된 후 diffusion 기반의 Denoising Diffusion Probablistic Model 이라는 논문이 나왔습니다. Score 기반 생성모델의 저자인 yang song은 이후 score 모델과 diffusion 기반 모델이 어떤 관계를 가지고 있는지 연구하였고 결론적으로는 같은 방식의 SDE(stochastic diffrential equation) 기반 방식이라는것을 발견하게 됩니다.    Preliminary \begin{align} \frac{\mathrm{d}x} {\mathrm{d}t}  = t, \end{align} \begin{align} x = \.. 공감수 0 댓글수 0 2025. 1. 4.
  • 19주차 회고 한 주간 있었던 일경량화와 관련된 내용들을 배울 수 있었다.관련된 과제를 통해 직접 구현해보는 시간을 가졌다. ( peft를 이용하여 파라미터 수 없애보기, kd를 구현해보기, lora를 간단하게 구현하여 적용해보기)여유가 생겨 궁금했던 내용들에 대해서 공부해보고 있다.   공부한것경량화가 무엇이냐 질문을 받으면 prunning, quantization 이러한 키워드들밖에 안 떠올랐었는데, 이번주 강의를 들으면서 좀더 무엇인지 알아볼 수 있었다. structured prunning, unstructured prunning, knowledge distilation (logit based, feature based), quantization, peft, lora 등등의 키워드가 떠오른다. Lora와 관련된 .. 공감수 2 댓글수 0 2024. 12. 29.
  • Generative Modeling by Estimating Gradients of the Data Distribution Diffusion 을 조금 더 이해하기 위해서 적어보는 글입니다. 논리성이 부족하고, 틀린 부분이 있을 수 있습니다.   Introduction 19년도 이전에는 VAE와 GAN 등의 생성모델이 많이 쓰였습니다. VAE는 likelihood-based model로서 distribution의 pdf(probability density function)를 pΘ(x) 의 꼴로 explicit 하게 둬서 푸는 방법론이고, GAN은 implicit한 model로서 pdf가 samplig process과정중에서 간접적으로 구해지는 방법론입니다. 그러나 두가지 방법론은 각각 큰 한계점이 존재하였습니다. VAE와 같은 방식은 pΘ(x)를 normalizing 하기 위하여 계산 비용이 크고, 근사화하기 위하여 ELBO와.. 공감수 4 댓글수 0 2024. 12. 26.
  • 13-15 주차 회고 segment와 관련된 프로젝트를 할 수 있었다. bounding box만 잡는 detection을 넘어서 픽셀별로 어떤 클래스에 속하는지까지 예측하는 task다. model의 output이 logit으로 나오고, 그것이 sigmoid를 통과하여 thr에 따라 0또는 1로 나오는것을 볼 수 있었다. 또한 dice_loss와 focal_loss같은 다양한 loss들에 대해서 알 수 있었다. 마지막으로 unet, 2+, 3+, hrnet같은 모델들을 보면서 skip connection이 원래 input image의 spatial한 특성들을 살리고, 그것을 통하여 각 픽셀이 어떤 클래스에 속하는지 알 수 있게된다는점을 배웠다. 매 프로젝트마다 배워가는것이 다른것 같다. 간단한 라이브러리에서 모델을 불러와서 .. 공감수 2 댓글수 0 2024. 12. 1.
  • 8-10 주차 회고 object detection 과 관련된 프로젝트를 할 수 있었다. mmdetection 라이브러리를 뜯어보는 좋은 경험이 되었다. faster r-cnn과 같은 two stage모델이 무엇인지, 어떤 방식으로 loss를 사용하는지, 어떻게 anchor box를 만드는지, 어떤 metric을 사용하여 어떻게 평가를 하는지 확실히 알 수 있었다.pip install을 하는것은 python의 모듈 경로 site-packages 디렉터리에 추가하는것과 같다. 따라서 import가 되지 않는 모듈은 pip intall -v -e 를 해서 아예 패키지를 깔아주거나, sys.path를 해주면 된다.    이번 프로젝트는 mmdetection 라이브러리를 이해하는데 시간과 노력을 너무 사용하였다. benchmark를.. 공감수 3 댓글수 0 2024. 10. 27.
  • 7주차 회고 wrapup report의 개인회고와 같다.   나는 내 학습목표 달성을 위해 무엇을 어떻게 했는가?기존 방식에서 어떤것이 좋은지 찾고, 왜 좋은지 생각을 많이 하려고 했다. convolution과 attention의 장점을 섞은 coatnet을 찾아 사용했고 정확도가 높은것을 볼 수 있었다. 이것이 왜 좋은지 설명을 하고 싶기에 논문과 자료를 찾아보았다. 또 faliure analysis를 하며 모델이 어떻게 틀리게 예측했는지, 어떤점을 고쳐야 왜 정확도가 올라갈 수 있을지 고민을 하였다. 이후에는 팀원들의 k-fold와 ensemble, 증강 부분에서 조금씩 도움을 주고 같이 고민을 하였다. resizing도 해보고 augment도 해보고 팀원들이 전체적으로 어떤 실험을 하는지, 왜 좋아지고 나빠지는.. 공감수 3 댓글수 1 2024. 9. 28.
  • 6주차 회고 한 주간 있었던 일competetion stage가 열려서 본격적으로 프로젝트를 시작하게 되었다.지난번 배운 git을 활용해보았다. 단체 reposit을 만들어 pull 해보고, 서버로부터 clone하여 사용해보는 중이다. git 명령어들과 shell 명령어들을 조금씩 사용해보는중이다.서버라는것을 처음 사용해보았다.팀원들과 한 task를 풀어보는 중이다. 공부한것 리눅스 ssh 서버에 원격 연결하기 위해 ssh 키 쌍을 생성한다. 서버가 공개키를 가지고 있으면 그것과 맞는 암호화 키를 요청자가 받게 된다. vscode에서 remote-ssh extension을 연결한다.키 생성할때 다운받은 pem 파일을 잘 보관하자. ssh config 파일에 그 pem 암호화키 파일의 절대 경로와 서버 host, us.. 공감수 2 댓글수 0 2024. 9. 15.
  • 5주차 회고 한 주간 있었던 일컴퓨터 비전 분야의 트렌드를 알아볼 수 있었다. (segmentation,  computational imaging, multimodal, generative model, 3d reconstruction, 3d human)그리고 그와 관련된 과제를 통해 어떤 내용인지 제대로 느껴볼 수 있었다. (cnn feature map visulization ,clip, dream fusion, smpl)    공부한것CLIP  이미지는 vit등으로 인코딩 하고 텍스트는 transformer로 인코딩 해서 둘 사이 코사인 유사도를 구하기 위해 내적을 한다. 이후 매칭되는 쌍에 대한 코사인 유사도는 최대가 되게하고, 나머지 n-1 쌍들에 대해서는 낮아지게 하는 방식으로 학습을 시킨다. 이것을 cont.. 공감수 5 댓글수 0 2024. 9. 8.
  • 4주차 회고 한 주간 있었던 일주말에 논문 읽고 직접 발표 하는 기회를 가질 수 있었어이고잉님이 직접 하시는 깃헙 특강을 들을 수 있었어cv분야의 흐름에 대한 강의를 듣고 있어    공부한것github은 꽤나 신기하더라. 버전관리 시스템이자, 협업을 위한 툴이라는점. 그런 협업이 사실은 linux 운영체제를 관리하기 위해서 만들어진점. git 저장소를 만들면 그 안에 모든 변경사항은 .git 폴더 안에 들어간다.commit, push, pull, clone, branch, conflict, checkout, head, origin, remote, git graph, reset    VIT  원래 트랜스포머의 입력은 (num_batch, seq_length, hidden_size) 이다. 그리고 인코더로 들어오게되면 .. 공감수 1 댓글수 0 2024. 8. 31.
  • 3주차 회고 한 주간 있었던 일코로나 걸렸어시각화와 전처리에 관해서 배울 수 있었다 공부한것matplotlib, seaborn 등에 관해서 제대로 배울 수 있었어정보와 data가 다르다는것을 인지해야 한다.데이터 전처리와 관련된 내용을 배울 수 있었어단순 모델링하는것을 넘어서 제품 관점에서 바라봐야한다는 내용 좋았다. 사용자 지표도 잘 봐야하고 그것을 통해 사용자를 잘 이해 해야한다.transformer 를 직접구현할때 디코더 부분의 입력이 어떻게 되는지 다시 알아볼 수 있었어 느낀것지난주 괜히 혼자 들떠가지고 제대로 말 못하고 아쉬웠어. 덕분에 이번주는 뭔가 하려해도 아무것도 안잡히더라.거기에 몸까지 무거우니까 진짜 텐션 안 살더라. 주말에는 좀 쉬어야겠다.안수빈 마스터님의 세션이 정말 좋았어. 최고가 .. 공감수 0 댓글수 0 2024. 8. 23.
  • 2주차 회고 있었던 일다 같이 코드 리뷰도 하고, 이 하나의 코드가 어떤 역할을 하는지도 알아볼정도로 세세하게 코드 분석을 해봤어맨날 배우고 까먹고 반복하던 attention과 transformer를 좀 더 확실하게 내것으로 만들 수 있었어 공부한것 bootstraping : 정해진 데이터 내에서 임의의 random sub sampling을 하여 모델을 만들고 여러 모델들을 가지고 합쳐서 임의의 metric을 하는 방법 data preprocessing : zero-centering, normalization. gradient가 같은 부호로 나오는것과 같은 상황을 막기 위해 데이터를 정규분포화 시키는것. weight의 작은 변화에 덜 민감해진다. optimize가 더 쉬워진다. np.dot : 차원이 맞지 않는 곱도.. 공감수 1 댓글수 1 2024. 8. 16.
  • 1주차 회고 있었던 일ice breaking을 했는데 쉽지 않았어 이거 진짜로 강의 들으면서 공부하고 팀원들과 토론하고 리뷰하는 시간을 가졌어 공부한것파이토치 사용법을 처음부터 끝까지 제대로 배웠어data를 kaggle로부터 끌어와서 전처리하고, 간단한 비선형 모델을 만들고, optimizer를 정해서 직접 학습시켜볼 수 있었어tensor의 차원이 어떻게 변경되는지 또 slice, indexing 과 같은것에 대해 제대로 배울 수 있었어. nerf에서 tensor matmul하는거 계산하기 너무 어려웠는데 이제 다시보면 이해 할 수 있어.표본 상관계수는 feature와 label이 동시에 변하는 정도를 각각이 변하는 정도의 크기로 나누는 것이래우리는 우리가 사용할 data가 어떤식으로 분포되어있는지 알 수 없어. 따.. 공감수 0 댓글수 0 2024. 8. 8.
  • Epipolar Geometry 하도 잊어먹으니까 그냥 제대로 써보려고. 자료는 튀빙겐 대학의 컴퓨터 비전 강의 3강 자료를 사용했어.   two-view 카메라 사이의 관계를 얻어내는 방법이다. 이것을 이해하려면 컴퓨터 그래픽스에서의 world coordinate, camera coordinate, image coordinate의 내용과 컴퓨터 비전의 extrinsic parameter, intrinsic parameter 의 내용을 알고 있어야 한다.      x라는 world coordinate가 x1방향에서 바라본 image coordinate로 투영된것이 x^1, x2 방향에서 바라본 image coordinate로 투영된것은 x^2 이다.x1방향의 카메라와 x2방향의 카메라를 이은 직선은 baseline이고 그것이 각각의 i.. 공감수 1 댓글수 0 2024. 8. 5.
  • Fourier Features Let Networks Learn High Frequency Functions in Low Dimensional Domains (리뷰) 2020 nips Abstract : input으로 들어가는 정보를 푸리에 변환을 통해 mlp로 집어넣을시 low-frequency 뿐만이 아니라 high-frequency의 문제도 풀 수 있다는 것을 보여준다. 이것은 최근 비전과 그래픽스에서의 복잡한 3d 물체나 장면 렌더링 문제를 해결하는데 기여를 했다. 단순히 NTK(neural tangent kernel)를 사용하던 기존 방식에 Fourier feature mapping을 더해서 stationary kernel로 변환시켰고 이것은 더 나은 성능을 보여주었다. 발표자료 공감수 1 댓글수 1 2024. 8. 4.
  • 크로스핏 체험을 해봤어 보호되어 있는 글입니다. 공감수 0 댓글수 1 2024. 4. 22.
  • 인공지능 개론시간에 있었던일 교수님이 수업을 15분정도 늦게오셨는데, 갑자기 날도 좋으니 야외수업을 하자고 하시더라. 이런 경우는 처음이라 엄청 황당했어. 카페에 가서 커피를 마시면서 여러가지 얘기를 들었다. 교수님의 간단한 대학생활, 연구주제를 정하게 된 계기, 교수로서의 삶 등등.. 사실 며칠 지나서 제대로 기억은 안난다. 그래서 완전히 잊기전에 몇가지 써보려 한다.    공학자와 학자의 차이를 말해주셨다. 공학자는 어떻게서든 어떤 문제 해결의 해결에만 집중한다. 원칙을 벗어나 수단과 방법을 가리지 않고 문제를 해결해야한다. 반면 학자는 기존 원칙을 토대로 새로운 원칙을 만든다. 그리고 우리는 공학자다.   비슷한 주제로 회사와 대학원의 차이를 말해주셨다. 회사는 어떻게서든 돈을 만들어내려 한다. 주어진 스펙에 부합하며 경쟁사보.. 공감수 0 댓글수 0 2022. 5. 9.
  • 강화학습 입문 DQN에서 강화학습을 통해 학습되는것은 인공 신경망이다. 인공신경망으로 입력이 들어오면 그 상태에서 에이전트가 할 수 있는 행동이 얼마나 좋은지 출력으로 내놓는다. 행동이 얼마나 좋은지가 행동의 가치가 되고 이것을 큐함수 라고 한다. 보상(reward)은 환경이 agent에게 주는것이고 환경에 따라서 같은 행동을 취하더라도 다른 보상을 줄 수도 있다. 이러한 점을 고려하여 보상함수를 기댓값 E로 표현한다. agent가 상태 s에서 행동 a를 하면 환경은 에이전트가 가게 되는 다음 상태 s와 agent가 받을 보상을 agent에게 알려준다. 환경이 agent에게 알려주는것이 t+1 시점이라 Rt+1이라 한다. 상태변환확률 : 상태의 변화에 확률적인 요인이 있다고 하면, 어떤상태에서 agent가 행동을 취했.. 공감수 0 댓글수 0 2022. 1. 4.
  • 최소신장트리 알고리즘 최소신장트리, 프림, 크루스칼 미니멈 스패닝 트리 문제 : 엣지에 웨이트가 있는 노드들이 있다고 할때, 모든 노드들이 연결되어 있으면서 엣지 웨이트의 합이 최소가 되도록 스패닝 트리 : 모든 노드가 연결되있는 트리 스패닝 트리 weigth : 엣지들의 weight가 부여되어 있다면 우리가 선택한 엣지의 weight 합 프림 알고리즘 : 그리디 알고리즘 노드가 한개라면, 연결된 엣지중에서 가장 적은 weight를 가진 노드 연결. 보편적으로는 직접적으로 edge 하나로 연결된 vertex 가운데 weight가 가장 작은것을 추가하는 알고리즘. 현재 트리와 가장 가까운 vertex를 하나씩 추가해나가는 방법 어떠한 vertex에서 시작해도 차이가 없다. N개의 vertexr가 있다면 N-1 의 엣지를 고를때.. 공감수 0 댓글수 0 2021. 8. 31.
  • 힙 자료구조 binary heap 1. min heap 2. max heap min heap : binary tree의 루트 노드가 이 트리 내의 다른 모든 값들보다 작아야 한다. sibling 끼리는 어떤 정해진 관계성이 존재 하지 않는다. 서브트리의 루트값이 최소값이면 된다는 조건말고 다른 조건은 필요하지 않다. max heap : min heap 과 반대 heap에서의 operation 3가지 1. Top : 가장 작은값 (맥스 힙 값은 경우에는 가장 큰값) 을 찾아오는 동작. 루트 노드만 찾으면 되기에 constant time 2. pop : 루트에 있는 값을 제거하는것. 만약 3을 pop 하면, 7이나 12중 작은값을 promotion을 해야한다. 7을 promotion 하면 9와 31중 작은값을 promo.. 공감수 0 댓글수 0 2021. 8. 24.
  • Mean Shift 군집화 KED(kernel Density Estimation)을 이용하여 데이터 포인트들이 데이터 분포가 높은 곳으로 이동하면서 군집화를 수행. 군집화 개수를 지정하지 않고, 데이터 분포도에 기반하여 자동으로 군집화 개수를 정함. KDE는 커널함수를 통해 어떤 변수의 확률밀도 함수를 추정하는 방식. 관측된 데이터 각각에 커널 함수를 적용한 값을 모두 더한뒤 데이터 건수로 나누어서 확률 밀도 함수를 추정. 확률 밀도 추정 방법 1. 데이터가 특정 데이터 분포를 따른다는 가정하에 데이터 분포를 찾는 방법. Gaussian Mixture 등이 있음. 2. 데이터가 특정 분포를 따르지 않는다는 가정하에 밀도를 추정. KDE KDE bandwidth h가 작으면 가우시안 분포 그래프에서 폭이 좁아짐. mean shift.. 공감수 0 댓글수 0 2021. 8. 3.
  • 점근적 분석 Asymptotic Analysis : 점근적 분석법 - 같은 문제를 푸는 2개의 알고리즘이 있을 때, 어떤 알고리즘이 더 좋은지 과학적이고 수치적으로 표현할 수 있기 위해서 만든것. 알고리즘을 수학적으로 분석해서 뭐가 더 좋은지 결론을 내린다. - variable : 알고리즘을 분석하는데, 런타임 메모리 요구량등을 표현하는것. (e.g variable n 한개라면, n개의 원소로 이루어진 array를 sorting 하는데 드는 복잡도) - linear search : 앞에서부터 순차적으로 하나씩 테스트 - binary search : array가 소팅되어 있을 때, 순서가 non-decreasing order로 정렬이 되어 있을때만 적용할수 있는 방법. 중간값과 우리가 찾고자하는 값을 비교해서 중간값보.. 공감수 0 댓글수 0 2021. 8. 1.
  • 군집화 데이터 포인트들을 별개의 군집으로 그룹화 하는것을 의미합니다. 유사성이 높은 데이터들을 동일한 그룹으로 분류하고 서로 다른 군집들이 상이성을 가지도록 그룹화 합니다. 고객 맞춤, 세분화 image 검출, 트랙킹 이상 검출 어떻게 유사성을 정의할 수 있을까 ? K-Means - centroid Mean Shift - centroid Gaussian Mixture Model DBSCAN - 데이터의 밀도에 따라서 K-Means Clusterning. 군집 중심점 기반 - 일반적인 가장 많이 활용되는 알고리즘. 쉽고 간결. 대용량 데이터에도 활용이 가능하다. - 거리 기반 알고리즘. 속성의 개수가 많을수록 군집화 정확도가 떨어진다. 반복을 수행하는데, 반복 횟수가 많을수록 수행시간이 느려진다. 이상치 데이터에.. 공감수 0 댓글수 0 2021. 7. 27.
  • 그래프 탐색 알고리즘 그래프 traversal : 그래프의 노드들을 방문하는 과정. search라고도 쓰임. breadth-fist search : 너비 우선 depth-first search : 깊이 우선 스택. 큐와 연계하여 어떻게 실행할까? bfs : 밑에는 queue array이고 위에는 우리가 정렬하려는 트리. A를 시작 vertex로 큐에 넣는다. 그다음 A를 큐에서 팝 하면서 visit됨을 표현한다. 그다음 큐에 A와 인접한 B, C, E 를 넣는다. B, C, E 는 같은 breath 상이므로 뭘 넣던 상관이 없는것 같다. B를 먼저 팝하고 그와 인접하며 큐에 있지 않는 D를 푸쉬 한다. 그다음은 C를 팝하고 인접한 F를 푸쉬한다. 그다음 E를 팝하고 인접한 H와 G를 푸쉬한다. 다음은 D를 팝. F를 팝. H.. 공감수 0 댓글수 0 2021. 7. 25.
  • 비선형 자료구조 tree : 노드들의 집합체, 계층적인 관계, 어떤 정보는 노드에 포함된다. 뿌리 노드가 존재한다. 루트를 제외한 각각의 노드는 정확하게 하나의 노드를 부모노드로 가진다. degree : 노드가 가지고 있는 자녀의 숫자 ex) E의 degree는 2 sibling : 같은 부모를 가지는 노드들 ex) j k l 은 I라는 같은 부모노드를 가진다. leaf : 자녀가 없는 degree 0인 노드들 internal : 자녀가 있는 노드 unordered : 자녀의 순서가 무시되는 ordered : 자녀의 순서를 지켜야하는 트리의 경로를 정한다고 하면 부모와 자식 노드간 관계에서 부모 노드가 무조건 앞으로 와야하며 경로의 길이는 선의 갯수이다. 노드의 갯수가 아니다. 어떤 한 노드와 루트사이의 경로는 유니크하.. 공감수 0 댓글수 0 2021. 7. 22.
  • 특이값 분해 - SVD SVD 는 정방행렬뿐만 아니라 행과 열의 크기가 다른 m * n 행렬도 분해 가능 u와 v는 특이벡터다. 모든 특이 벡터는 서로 직교하는 성질을 가진다. Σ 는 대각행렬이며, 대각성분이 행렬 A의 특이값이다. Compact SVD : 행렬간 종속성이 높을때, 대각 행렬의 대각성분이 0이 많이 많아진다. 이때 분해가 compact 하게 되는 경향이 있다. Tuncated SVD : 대각 원소 가운데 상위 r개만 추출하여 차원 축소 SVD는 차원 축소를 위한 행렬 분해를 통해 Latent Factor(잠재 요인)을 찾을 수 있는데 이렇게 찾아진 latent Facetor는 많은 분야에 활용(추천 엔진, 문서의 잠재 의미 분석) SVD로 차원 축소 행렬 분해된 후 다시 분해된 행렬을 이용하여 복원된 데이터 셋.. 공감수 0 댓글수 0 2021. 7. 20.
    문의안내
    • 티스토리
    • 로그인
    • 고객센터

    티스토리는 카카오에서 사랑을 담아 만듭니다.

    © Kakao Corp.