전체 글 62

[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 ..

[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값이 증가할 것이다..

[기계학습] Linear Regression_최적값 계산하기

해당 게시물은 한양대학교 컴퓨터소프트웨어학부 채동규 교수님 기계학습이론 온라인 강의를 듣고 정리한 자료입니다.오류가 있다면 언제든 알려주세요! Linear Regression이란 선형 회귀 분석으로 알려진 다른 데이터를 바탕으로 새로운 데이터를 예측하는 방법이다. 조금 더 쉽게 풀어서 말하자면 여러 요소들을 종합적으로 고려해서 하나의 target을 예측하는 것을 뜻한다. Example: Predicting price of houses (Single input variable)위의 예제에서 집크기는 independent(input) variable이고 그에 따른 집가격은 dependent(target) variable이다.전자는 예측의 힌트가 되고 후자는 예측을 해야하는 값이다.위처럼 15개의 데이터가 주..

[Swift] 옵셔널 변수와 상수 사용하기

그동안 프로그래밍 언어를 배우면서 처음보는 개념이 등장했다. 대부분의 언어에 없는 개념이니 공부를 해보도록 하겠다. 옵셔널 타입은 변수 또는 상수에 값이 할당되지 않은 상황을 처리하기 위해 안전하고 일관된 접근 방식을 제공하는 것이다. - 변수 선언 시 데이터 타입 annotation 다음에 '?'를 넣는다. 아래 보이는 예제는 index 변수에 정숫값이 할당되거나 아무런 값도 할당되지 않을 수 있다는 뜻이다. 내부적으로 컴파일러 관점에서 볼 때 값이 할당되지 않으면 nil(null)값이 저장된다.var index: Int? - 옵셔널에 값이 할당되었으면 "해당 값이 옵셔널 내에서 래핑(wrapped)되었다"라고 한다. 이 값을 사용할 때는 옵셔널 데이터 타입에서 옵셔널 이름 뒤에 '!'를 두어 추출하는..

[DB06] ER schema를 relational schema로 바꾸기

* 10.13 업데이트 해당 게시물은 한양대학교 컴퓨터소프트웨어학부 김상욱 교수님 데이터베이스시스템 온라인 강의를 듣고 정리한 자료입니다.오류가 있다면 언제든 알려주세요! ● 해당 강의의 목표1. Relational database design에 대해 공부한다. (Logical data model)· ER model to relational model mapping· ER Schema -> relational Schema ◆ Relational Database Design by ER-to-Relational Mapping· relational database schema를 design한다. - conceptual design(conceptual schema, ER schema)를 토대로 한다.· ER m..

[Swift] ImageView app 화면 만들기

스위프트하면 테일러 스위프트부터 생각나는뒙ㅎ 어쩌다 이름이 스위프트   View: 사용자가 보고 클릭하고 입력하는 모든 화면을 보여주는 캔버스이다. 당연히 한 화면에서 보여지는 것은 하나의 뷰로 하나 이상의 뷰를 사용할 때는 여러 개의 뷰를 겹쳐 놓은 후에 뷰를 선택하게 해야 한다.  Image view: 이미지 뷰는 앱에서 사진을 보여줘야 할 때 사용하는 객체이다. 이미지가 나오는 모든 앱에서 해당 이미지 뷰를 사용하고 있다. 기기별로 권장하는 이미지 사이즈가 있으니 iOS 개발자 문서를 참고하여 권장 이미지 해상도를 확인하면 되겠다.  일단 사용할 이미지를 프로젝트 밑에 추가해야한다. 드래그 드롭해주면 파일 추가에 대한 설정 창이 나타나는데 [Destination: Copy items if neede..