Processing math: 100%

분류 전체보기 51

[Machine learning] Linear regression, Logistic regression code 구현중 모르거나 헷갈렸던 code 정리

linear regression부터 k-fold validation에 대해 실제 예제(code 구현)를 공부하다가 기억하면 좋을 것 같은 내용에 대해 정리.Linear regression_bias항을 모델에 포함시키기Scalar가 아니라 Matrix form일 때, bias를 따로 처리하면 귀찮아지므로, 모든 샘플의 입력 앞에 1을 붙여서 절편도 가중치 취급을 한다.X = np.hstack((np.ones((X.shape[0], 1)), X))X.shape[0] 즉 row방향으로 1로 채워진 배열을 X앞에 stack 한다.X =[[x11, x12], [x21, x22]]↓ hstack with ones[[1, x11, x12], [1, x21, x22]]Linear regression_data split..

[C++] Pointers and References part 1

Variable과 Memory어떤 variable이 선언될 때, variable을 위한 공간이 memory에 만들어지고 memory의 주소가 variable의 이름과 associate 된다.변수명을 주소처럼 이용하는 것이다.주소는 "&x"으로 접근할 수 있다.PointersPointer는 똑같은 변수이다...(어렵게 생각 no)평범한 변수인데 단지 memory address가 value인 변수이다. 주로 8byte의 크기를 가진다.(integer:4byte, char:1byte) pointer가 어떤 type의 data를 가지고 있느냐에 따라 pointer를 지정하는 방법이 다른데type정보 *변수명=&x;int *ptr=&x;처럼 쓸 수 있다. pointer 변수 ptr이 가리키는 주소에 담긴 valu..

Computing 2025.03.25

[NeurIPS 2019] ViLBERT Pretraining Task-Agnostic Visiolinguistic Representations for Vision-and-Language Tasks

Motivation기존에는 Vision modal과 language modal을 같이 한 번에 학습하는 single stream 구조가 많았습니다.이 경우 각 modal뿐 아니라 두 modal에 대한 관계도 잘 학습하기 어려웠고 visual grounding이 필요한 task에 대해서 성능이 좋지 않았습니다. 그래서 이 paper에서는 각각의 modal를 잘 학습하고 두 modal의 관계 또한 잘 학습하여 visual grounding이 필요한 task를 잘하는 모델을 만드는 것이 목표입니다. 또한 이러한 visual grounding이 pretrain이 가능하고 transfer learning도 가능하다는 점을 보여줍니다.Approach첫 번째로 보면 visual stream과 language stre..

Paper review 2025.03.24

[Machine learning] Test error를 추정하는 방법 (K-fold cross validation)

train error와 test error의 관계는 어떻게 될까?모델을 만들었을 때, 최종 목표는 test error를 줄이는 것이다.학습할 때는 test dataset을 볼 수 없으며 이용해서도 안된다. 그럼 어떻게 test error를 낮추고 확인할 수 있을까?오늘 공부할 내용은 test error를 추정하고 이를 낮출 수 있는 방법이다.Training Error vs Test Errortrain dataset과 test dataset은 기본적으로 같은 분포고 특별히 뭐가 어렵고 쉬운 것은 아니다.test error는 학습 때 사용하지 않은 새로운 관측치에 대해 예측하여 발생하는 error이다.반면에 train error는 train할 때 본 관측치에 대해 발생하는 error이다. 단지, 학습할 때 ..

[빅데이터 및 지식관리시스템] SQL의 기본연산에 대해 알아보기(Join에 대해 모든 공부..)

SQL과 같은 실제 질의 언어가 어떤 수학적 기초 위에 구축되어 있을까?? SQL언어는 Relational Algebra와 Relational Calculus에 근간하여 만들어졌다. Relational Algebra실제 SQL 질의 실행 계획을 표현하는 것으로 operational 하고 procedural 한 성격을 띤다.일련의 연산을 사용해 데이터를 조작한다. Relational Calculus사용자가 query에 대해 how to coplete it을 보는 것보다 what they want를 보는 것이다.따라서, non-operational 하고 declarative 하다. RA와 RC는 전환이 가능하며 표현력이 비슷하다. Relational AlgebraAlgebra는 mathematical sys..

Computing 2025.03.22

[Machine learning] ML 3주차 공부(Classification? Discriminant Analysis)

Classification 방법 중 Discriminant analysis에 대해 공부한 내용이다. Classify를 하는 방법에는 다음과 같이 2가지 방법이 있다. x라는 data가 있을 때, 어떤 y class에 속하는지 확률 분포 p(y|x)를 예측하는 것이다.Generative Classifier: likelihood인 p(x|y)와 prior distribution인 p(y)를 추정하여 posterior distribution인 p(y|x)를 예측하는 것이다. 여기서 알고자 하는 posterior distribution은 신만이 알고 있는 분포라고도 한다. 예시로 Bayes classifier가 있으며, Discriminant Analysis가 그 방법..

[C++] C++ Standard Library Part 3. Container에 대해 자세히 알아보기

Listlist는 sequence container로, 요소들이 메모리상에 연속적으로 배치되지 않고, non-contiguous 메모리 할당 방식을 사용한다.보통 doubly linked list 형태로 구현돼 있어, 각 노드가 이전 노드와 다음 노드를 가리킨다. 주요 특징은효율적인 insertion 및 deletion: list의 중간, 시작, 끝 어디에서나 insertion, deletion연산이 빠르게 가능하다.Random Access가 불가능하다. 원하는 element에 접근하기 위해서는 순차적으로 접근해야 한다.List-initialization항상 헤더를 포함해야 하고 list의 경우는 include 를 포함해야 한다. vector initialization과 비슷하다. list를 선언할 때,..

Computing 2025.03.20

[C++] C++ Standard Library part2. File I/O streams / Strings / Containers

File I/O Streams 헤더 파일의 ifstream(input file stream) class와 ofstream(output file stream) class를 이용하여 File input과 output을 관리한다.File I/O는 standard I/O와 유사한 점이 많다.File I/O Streams-Readingdata.txt를 읽기 위해 ifstream file객체를 지정한다.std::ifstream file("data.txt");file이 정상적으로 열렸나 판단한다.file.is_open()파일을 line단위로 읽기 위해 getline을 사용한다.std::string line;while (std::getline(file, line)) {std::cout string인 line를 지정하고..

Computing 2025.03.19

[빅데이터 및 지식관리시스템] View에 대해 알아보기

ViewView는 virtual table로 view자체가 데이터를 물리적으로 저장하지 않는다.View는 실제 데이터가 들어 있는 Base Relation(기본 테이블) 위에 정의된다. View에 대해 query를 날리면 DBMS가 내부적으로 Base Relation에 접근하여 결과를 생성한다.CREATE VIEW HighScoreStudents(sid, gpa) AS SELECT S.sid, S.gpa FROM Students S WHERE S.gpa >3.5;HighScoreStudents라는 View를 생성한다. 구체적으로 S.gpa > 3.5일 경우에 대해 S.sid, S.gpa column을 보여준다. View에 query를 날리는 과정을 살펴보자.다음과 같이 query를 날렸다 하자.SELEC..

Computing 2025.03.18

[C] Memory model(Stack vs Heap)

Stackaddresse가 낮아지는 방향으로 저장한다.Complie에 의해서 allocate되고 deallocate된다.함수 내에서 사용하는 local variables에 접근할 때 사용한다. 빠른 속도로 처리되며, 메모리 내부에 작은 빈공간이 생기지 않아 효율적이게 사용한다.Heap메모리를 동적으로 할당한다. 실행시간에 메모리의 크기나 필요성이 결정된다.사용자(programmer)에 의해 allocate되고 deallocate된다.Data들은 주로 Pointer를 통해 접근된다.느린 속도로 처리되며, 메모리 내부에 틈이 생길 수있어 비효율적이다.Dynamic Memory Allocation in C#include int *ptr = malloc(sizeof(int));malloc을 사용하기 위해서 헤..

Computing 2025.03.17