전체 글 86

[DB12] Relation Schema를 평가하는 Guideline, Functional Dependency

* 12.18 업데이트해당 게시물은 한양대학교 컴퓨터소프트웨어학부 김상욱 교수님 데이터베이스시스템 온라인 강의를 듣고 정리한 자료입니다.오류가 있다면 언제든 알려주세요!● 해당 강의의 목표1. Relation Schema를 design하기 위한 guideline과 functional dependency의 개념을 배운다.▪ database schema가 잘 되었는지 확인하는 기준▪ 잘된 db schema를 design하는 방법▪ functional dependency의 개념 ◆ Informal Design Guidelines for Relation Schema◆ Relational database를 design한다는 것은?▪ 주어진 application을 위한 좋은 table schema들을 define하..

[DB10] INSERT, DELETE, UPDATE SQL 파헤치기

* 12.18 업데이트해당 게시물은 한양대학교 컴퓨터소프트웨어학부 김상욱 교수님 데이터베이스시스템 온라인 강의를 듣고 정리한 자료입니다.오류가 있다면 언제든 알려주세요! ● 해당 강의의 목표1. 다른 SQL commands에 대해 배운다.▪ INSERT▪ DELETE▪ UPDATE▪ Views and indexes ◆  INSERT Statement◆ table에 새로운 tuple을 넣는데 사용된다.▪ table의 상태를 변경시킨다. ◆ Types▪ 하나의 tuple을 집어넣는 방법▪ 여러 tuple들의 set을 집어넣는 방법 ◆ 하나의 tuple을 집어넣는 방법▪ INSERT INTO   VALUES ();▪ list of attributes values는 CREATE TABLE할 당시에 작성했던 a..

[DB09] Nested query, Aggregate function, Grouping등 SQL 파헤치기

* 12.18 업데이트해당 게시물은 한양대학교 컴퓨터소프트웨어학부 김상욱 교수님 데이터베이스시스템 온라인 강의를 듣고 정리한 자료입니다.오류가 있다면 언제든 알려주세요!  하하 다시 오랜만입니다... 여러모로 바쁜 시기라서 늦게 왔어요>!ㅠㅠ 다시 시작해 봅시당... ● 해당 강의의 목표1. 복잡한 SQL query에 대해 배운다.▪ Nested queries▪ Aggregate functions▪ Grouping ◆  Nested Queries▪ Query: DBMS한테 내가 원하는 것이 이런 것인데 가져다달라고 질의하는 것Nested Queries: Query 안에 query가 있다. 즉, 하나의 select-from-where라는 완전한 형태의 block이 다른 query의 WHERE clause안..

[DB08-2] SQL 알아보기_SELECT/FROM/WHERE

* 12.03 업데이트해당 게시물은 한양대학교 컴퓨터소프트웨어학부 김상욱 교수님 데이터베이스시스템 온라인 강의를 듣고 정리한 자료입니다.오류가 있다면 언제든 알려주세요!  오오랜만입니다... 중간고사를 마치고 드디어 돌아왔어요..! 다시 강의를 들어보도록 합시당..   ● 해당 강의의 목표1. SQL의 기초 개념에 대해서 배운다. ▪ data retrieval queries에 대해 배운다. ◆  SELECT Query Basics지금까지 DDL에 해당되는 부분을 배웠다. 이는 스키마와 관련되어 전체 데이터베이스 스키마, 테이블을 create, drop하고 테이블 구조를 변경하는 등과 같은 구조와 관련된 것이다. 이제부터 instance에 대한 연산들인 DML에 대해 배워보자. SQL은 real DBMS에..

[DB08-1] SQL 알아보기_SELECT문

* 12.01 업데이트해당 게시물은 한양대학교 컴퓨터소프트웨어학부 김상욱 교수님 데이터베이스시스템 온라인 강의를 듣고 정리한 자료입니다.오류가 있다면 언제든 알려주세요!● 해당 강의의 목표1. SQL(Structured Query Language)의 기초 개념에 대해서 배운다. ▪ SQL을 위한 데이터 정의▪ data retrieval queries에 대해 배운다. ◆  Introduction to SQL◆ History▪ IBM 연구소에서 개발한 언어 - 데이터베이스를 다루는 특별한 언어이고 procedure한 언어와 다르게 내가 원하는 것이 무엇이다 선언을 하는 declarative programming language이다.  - IBM의 첫 DBMS인 System R을 위한 language로 만들어..

[기계학습] Gradient Descent(경사하강법)_2

앞선 포스팅에서 경사하강법의 개념과 공식, 그리고 왜 gradient가 증가하는 방향을 가리키고 있는지 알아보았다.이번 포스팅에서는 앞선 내용을 복습하고 gradient가 왜 가장 빠르게 증가하는 방향인지 알아보도록 하자. 복습 문제Given the following objective function, what is the gradient of $f$ at an arbitrary point $\beta^0$? And, what is the update rule for an arbitrary model parameter $\beta_j$? $$ f(\beta)=\sum_{i=1}^{n}(y_{i}-x_i^T\beta)^2 + \lambda \sum_{j=1}^p\beta_j^2$$ $x_i=[x_{i1},..

[Swift] First-class citizen 알아보기 (일급 객체)

First-class citizen: 일급객체, 특정 요소가 다른 값들과 동일하게 취급될 수 있는 성질을 말한다. 일급 객체는 다음과 같은 속성을 가진다.1. 변수에 할당 가능2. 함수의 인자로 전달 가능3. 함수의 반환값으로 사용 가능4. 데이터 구조 안에 저장 가능 한 마디로 요약하면, 변수나 상수로 쓰일 수 있다는 것이다. Swift는 함수를 일급 객체로 사용한다. 따라서 함수를 변수에 할당하거나 다른 함수의 인자로 전달할 수 있고 반환값으로 사용할 수도 있다.  1. 변수를 함수에 할당변수를 함수에 할당하는 가장 기본적인 예를 보자. 해당 예시에서는 변수 greet에 sayHello 함수를 할당하였다. func sayHello(){ print("Hello")}// 함수 자체를 변수에 할당let ..

개발/Swift 2024.10.16

[DB07] Relational Algebra_SELECT, JOIN, PROJECT 등

* 10.17 업데이트해당 게시물은 한양대학교 컴퓨터소프트웨어학부 김상욱 교수님 데이터베이스시스템 온라인 강의를 듣고 정리한 자료입니다.오류가 있다면 언제든 알려주세요!● 해당 강의의 목표1. relational algebra에 대해 배운다.▪ relational algebra는 relational database로부터 원하는 정보를 끌어내는데 사용되는 operator 집합이다.▪ relational algebra에 있는 operator에 대해 알아본다. ▪ relational algebra에서 query를 어떻게 쓰는지 알아본다.  ◆  Relational Algebra▪ relational model에서 사용되는 operation들의 집합이다.▪ relational database에서 정보들을 ret..

[기계학습] Gradient Descent(경사하강법)_1

앞선 포스팅에서 model training을 하는 방법으로 미분을 통해 optimal 값을 구하는 방법을 사용했다. 해당 식은 loss function E가 단순할 때 사용할 수 있는 방법이었다. 이번 포스팅에서는 loss function이 복잡할 때 사용하는 gradient descent에 대해 공부해 보도록 하자. 이 경우에는 조금씩 update해 가며 점진적으로 찾는 방법을 써야한다. 다음과 같이 함수가 복잡할 때는 미분값이 0이 되는 극솟값이 굉장히 많다. 극솟값들을 local minima라고 하고 그 중에서도 가장 작은 값을 global minima라고 한다. 궁극적으로 우리가 찾고 싶은 최솟값은 global minima다.하지만 우리는 해당 값을 바로 찾을 수 없고 극솟값을 찾았다 해도 그 값..

[기계학습] Linear Regression_과적합 해결하기

지난 포스팅에서는 회귀분석에 대한 개념과 선형 회귀의 최적 model parameter를 계산하는 방법에 대해 공부했다.$\hat{\beta} = (X^TX)^{-1}X^Ty$ 이 식은 꼭 외우도록 하자! 하지만 학습할 때 주의해야 될 사항이 있다. 바로 과적합이다.과적합은 model이 training data를 너무 신경쓰다보니 정작 test data에서는 예측 성능이 떨어지는 문제를 말한다. training data에 대해서는 완벽하게, 거의 error가 0일 정도로 학습되는데 test data에 대해서는 예측을 잘 하지 못한다.그림으로 이해해 보자. 왼쪽 그림은 파란색과 빨간색을 분류하는 문제이다. 분류를 할 때 data가 하나씩 misclassification될 때마다 error값이 증가할 것이다..