본문 바로가기

728x90

Dev

[혼공컴운/OS] 명령어 | 고급언어와 저급언어 | 컴파일러와 인터프리터 | 명령어의 구성 3장 3-1장. 고급 언어와 저급 언어 고급 언어 → 변환 → 저급언어 고급언어 및 변환 기법의 구성 컴파일러 언어: 소스 코드를 한 번에 읽어서 저급 언어로 변환하고, 실행하는 언어 (예: C) 인터프리터 언어: 소스 코드를 한 줄씩 읽어서 저급 언어로 변환 및 실행하는 언어 (예: Pyhton) 일반적으로 컴파일러 언어가 인터프리터 언어보다 빠르고, 둘을 혼용해서 사용할 수도 있음 저급언어의 구성 기계어: 0과 1로 이루어진 명령어 어셈블리 언어: 기계어를 사람이 읽기 편한 형태로 번역한 언어 3-2장. 명령어의 구성 저급언어의 구성: 연산코드 필드 + 오퍼랜드 필드 + 주소 지정 방식 연산코드 필드: 명령어가 수행할 연산을 저장 데이터 저장 산술/논리 연산 제어 흐름 변경 입출력 제어 오퍼랜드 필드.. 더보기
[혼공컴운/OS] 컴퓨터 구조 | 숫자 데이터의 표현 | 문자 데이터의 표현 | 다양한 인코딩 방법 1장 1-1장. 컴퓨터 구조를 알아야 하는 이유 컴퓨터 구조 이해 → 문제 해결 능력 향상 단순한 코드 작성 → 성능, 용량, 비용 고려 1-2장. 컴퓨터 구조의 큰그림 데이터와 명령어 중앙처리장치(CPU) — ALU, Register, 제어장치 주기억장치(Memory) RAM vs ROM RAM: 휘발성 메모리 (static RAM, Dynamic RAM 등등) ROM: 비휘발성 메모리 (BIOS 설치되어있음) 보조기억장치: HDD, SDD, CD, USB … HDD vs SSD HDD: 자기장의 원리로 정보를 저장 → 물리적 손상 시 정보 손상 SSD: 전자적으로 정보를 저장 → 빠르고 충격에 강함 (좀더비싸고, 방전시 정보 손실 위험) 입출력장치: 모니터, 키보드, 마우스, 스피커, 마이크 등 그외.. 더보기
[Book] 함께 자라기 | 애자일로 가는길 | 개인적인 성장과 협업을 위한 애자일 방법론 적용기 1. 성장을 위한 '자라기' 기다리지 말고 뛰어들어라 문제를 빠르게 이해하고 뛰어들어라! 문제를 이해하는데 너무 많은 시간을 쓰기보다 일단 뛰어들어서 파악해보는 것이 좋다 완벽하게 환경이 갖추어질 때까지 기다리지 말고 뛰어들어라 '빠르게 실패하기'의 주요 메세지와도 일맥상통하는 바가 있음 경력과 실력은 비례하지 않는다! 꾸준히 자기계발을 해라! 자기계발은 나를 복리로 성장하게 한다 어색하고 새로운 것을 배우면서 '잘하기'보다는 '자라기'를 선택해라 (51p) 그렇다면 '자라기'를 위해서는 무엇을 해야할까! - Do! 이미 갖고 있는 것을 활용해라 - Do! 배우기 힘들수록 살아남는다! (소프트웨어 개발자 vs 컴퓨터 프로그래머 50p) - Do! 회고와 반성을 통해 자신을 개선하는 프로세스에 대해 생각하.. 더보기
[RecSys] DKT(Deep Knowledge Tracing) | Confusion Matrix | precision | recall | AUC | AOC DKT(Deep Knowledge Tracing) 딥러닝을 이용해 학생의 학습 상태를 추적하는 것으로, 풀이 데이터가 많아질 수록 상태 예측은 정밀해진다! DKT를 이용해서 할 수 있는것? 학습 상태가 취약한 부분을 파악하여, 해당 파트를 더 공부하도록 제안할 수 있다 학습 상태가 충분한 부분에 대해서는 다른 파트를 공부하도록 제안할 수 있다. 시중 서비스 예시: 산타토익 등 DKT 대회 일반적인 대회에서는 학습 상태 추적보다는 다음 문제를 맞출지, 틀릴지 예측하는 것에 더 중점이 맞춰져있다 binary classification prediction 기본 평가 지표 이해 precision (Positive Prediction Value) : 모델이 정답으로 예측한 것 중 진짜로 정답인 것 ⟶ 적게 예측할.. 더보기
[RecSys] AutoEncoder 기반의 추천 모델 | AE (AutoRec) | CDAE (Collaborative DAE) 01. Autoencoder란? 오토인코더(AE) : 입력 데이터를 출력으로 복원하는 비지도 학습 모델 디노이징 오토인코더(DAE) : 입력 데이터에 노이즈를 추가하여 학습하는 모델! 노이즈를 추가함으로써 보다 강건한(robust) 모델이 학습 → 성능 향상 02. AutoRec 배경 및 아이디어 MF는 linear, low-order interaction을 통해서 represenation AutoRec은 Rating Vector을 입력과 출력으로 사용하여 Encoder & Decoder 적용 → AE 기반으로 activation func을 사용해서 더 복잡한 상호작용 표현 가능 모델 구조 아이템과 유저 중, 한 번에 하나에 대해서만 임베딩 진행 아이템 i의 rating vector $r^{(i)}$ 준.. 더보기
[RecSys] MLP 기반의 추천 모델 | NCF (Neural Collaborative Filtering) | DNN for Youtube Recommendation 01. Recommendation System with DL Nonlinear Transformation : 데이터 내 비선형 패턴을 효과적으로 나타낼 수 있음 → 복잡한 유저-아이템 상호작용 패턴을 효과적으로 모델링 가능 Representation Learning : DNN은 raw data로부터 알아서 feature representation을 학습 Sequence Modeling: 시계열 데이터 처리에서 효과적으로 적용 예: next-item prediction, seesion-based recommendation Flexibility: 다양한 프레임워크가 존재해서 모델링 flexibility가 높고 효율적인 서빙이 가능함 02. 다층 퍼셉트론(Multi-layer Perceptron, MLP)란?.. 더보기
[RecSys] Item2Vec | Word2Vec | CBOW | Skip-Gram | SGNS | Embedding | Word Embedding 01. 개요 1-1. 임베딩이란? 주어진 데이터를 낮은 차원의 벡터로 만들어서 표현하는 방법 Spare Representation(이진값 벡터)을 Dense Representation(실수값 벡터)으로 표현 1-2. 워드 임베딩이란? 텍스트 분석을 위해 단어(word)를 벡터로 표현하는 방법 벡터로 표현함으로써, 단어간 의미적인 유사도 계산 가능 MF도 user latent vector, item latent vector을 이용한 임베딩이라고 해석할 수 있음 02. Word2Vec 단어를 예측하는 작업을 수행하기 위해서는 자연스럽게 단어 임베딩을 수행하게 됨 → 임베딩에는 단어의 고유 특징이 저장됨 대량의 문자 데이터를 벡터 공간에 투영하여 dense vector로 표현 효율적이고 빠른 학습이 가능함 2.. 더보기
[Git&GitHub] Git & GitHub 관련 개념 총정리 2탄 - 응용편 본 내용은 부스트캠프의 이고잉님의 Github 특강 내용을 토대로 작성되었습니다 Git 기본 명령어 정리 git config --global alias.l "log --oneline --all --graph” git의 log를 보여주는 명령어를 단축어로 설정하자! 이렇게 설정하면 git l 만 입력해도 상세한 내용을 확인할 수 있음 git status: 커밋하지 않은 수정된 파일이 있는지 확인 빨간색으로 출력 → 아직 stage에 올라가지 않은 파일 초록색으로 출력 → stage에 올라간 파일 (하지만 아직 커밋되지 않음) M: Modified — 파일이 수정되었음 U: Untracked — 한번도 add된 적이 없음 (git이 관리한 적 없음) git add 파일명 : 파일을 stage에 올리기 git.. 더보기

728x90