본문 바로가기

전체 글

(291)
[React] React에 대한 설명 리액트는 UI 제작을 위한 자바스크립트 라이브러리 중 하나로, 웹이나 앱 등 다양한 분야의 UI 개발에 사용될 수 있다. 공식 사이트에서는 해당 라이브러리의 특징을 아래와 같이 설명한다. Declaratives 프로그래밍 패러다임 중 하나로, 특정 프로그램의 동작을 수행하기 위한 Control flow나 logic 부분은 추상화하고, 대신에 프로그램에 대해 요구되는 결과가 무엇인지를 명시하는 방식으로, imparative의 개념과 반대된다. 예를 들어 택시를 통해 63빌딩에 가는 상황을 생각해보자. Imparative 방식은 도달하는 방법 자체에 초점을 맞춘다. 따라서 우리는 택시 기사에게 "100 미터 앞에서 우회전을 한 뒤에 1시 방향으로 500m를 가서 ..." 와 같이 특정 조건이나 루틴을 설명할..
[수치해석 13] 스플라인 보간법 고차 다항식을 이용하는 보간법은 반올림 오차, overfit / overshoot으로 인해 틀린 결과가 발생할 수도 있다. 따라서 이를 구간으로 나눠 저차 다항식인 스플라인 함수를 이용하여 해결한다. 스플라인은 휘어지는 자를 의미하는데, 몇개 점으로 곡선을 만드는 의미로 그래픽스 등에서 사용된다. 스플라인 보간법 보간 대상이 되는 구간을 여러개의 구간으로 나누고, 이를 저차 다항식인 스플라인 함수(spline function)으로 구성하여 해결하는 방식으로, 각 구간마다 서로 다른 스플라인 함수를 가진다. 위 그림의 경우 구간의 개수가 n개일 때 점은 n + 1개가 필요하며, 각 구간마다 스플라인 함수 Si(x) 를 가진다. 기본적으로 스플라인은 각 구간을 구분하는 변수( 위 그림에서는 x) 에 대해 정..
[수치해석 12] 보간법 보간법 데이터가 정확하게 알려져 있는 경우에 각 점을 직접 통과하는 곡선이나 일련의 곡선을 구해 사이 값을 추정하는 방법. 다항식 보간법(polynomial interpolation) 은 n+1개의 점으로부터 n차 다항식의 계수를 추정한다. 데이터 개수보다 1차원 작은 다항식을 추정하게 된다. Newton divided-difference(제차분) 보간 다항식 우리는 흔히 다항식을 아래와 같이 표현한다. 현실에서 손으로 계산하는 경우 위 식에 직접 값을 대입하여 근을 구하더라도 문제는 없다. 그러나 해당 계산을 컴퓨터를 통해 하면, 필연적으로 반올림 오차가 발생하기 때문에 이런 방식은 부적절하다. 이런 이유로 우리는 다항식을 아래와 같은 방식으로 표현한다. 위 다항식에 대해 몇몇 식을 구해보자. 선형 보..
[수치해석 11] 최소 제곱 회귀 분석 2 비선형 관계식의 선형화 종속변수 y 와 독립변수 x 사이의 관계가 비선형 관계인 경우, 아래 방법을 이용할 수 있다. 비선형 모델의 선형 변환(transformation) 다항식 회귀 분석 비선형 모델의 선형 변환 y = f(x) 의 식을 변환하여 선형 식으로 나타낼 수 있는 경우 사용한다. 이때 각 계수는 구해진 선형식을 원래 식으로 변환하여 구할 수 있다. 지수 모델(exponential model) : ln으로 변환한다. 멱 방정식(power equation) : log로 변환한다. 포화 방정식(saturation equation) : 역수를 취해 구한다. 다항식 회귀 분석 식이 x에 대한 m차 다항식 꼴로 나타나는 경우, 계수 ai 를 구하기 위해서는 총 m+1 개의 선형 연립 방정식이 필요하다...
[Rust] 함수(function) 러스트에서 함수는 다음과 같은 구조를 가진다. fn function_name(arg1: type1, arg2: type2 ...) -> return_type { statements [expression] } 함수는 fn으로 시작된다. 파라미터는 각각 타입을 명시해야 하며, 반환값이 있는 경우에도 -> 뒤에 타입을 명시한다. 러스트 함수에서 독특한 점은 함수 본문 마지막에 expression을 두고, 해당 값을 반환할 수 있다는 점이다. 이에 대해 설명하기 전에, 우선 expression 과 statement에 대해 알아보자. 컴파일러가 특정 소스코드를 생성하는 과정을 생각해보자. 소스코드는 Lex에 의해 어휘 분석을 거쳐 일련의 토큰 스트림을 이루게 된다. 이후 해당 토큰 스트림은 해당 언어에 대해 미리..
[CS] 프로세스(process) 내용 정리 우리는 파워포인트나 엑셀과 같은 어플리케이션을 "프로그램" 이라고 부른다. 해당 프로그램을 이용하는 경우, 우리는 프로그램을 실행한다고 말한다. 그렇다면, 실행중인 프로그램은 무엇이라고 말할 수 있을까? 프로세스? 프로그램(Program) 컴퓨터는 프로그래밍 언어 등을 이용하여 작성된 소스 코드에 대해 lexical, syntatic, semantic analysis를 거친 후 중간 코드를 생성한다. 이후 생성된 중간 코드를 해당 머신에 대한 컴파일러를 이용하여 컴파일해서 머신 코드/실행파일을 얻을 수도 있고, 인터프리터를 이용하여 바로 해당 코드를 실행할 수도 있다. 컴퓨터 과학에서 프로그램은 파일 형태로 작성된 "소스 코드" 에 해당한다. 이때 프로그램을 "실행"한다는 표현은 해당 환경에 적합하게 컴..
[weka] Data Set의 수를 제한하는 방법 : Resample weka를 사용하는 과제를 수행하는 도중에 모델에 사용되는 data의 수를 제한해야 하는 일이 있었다. 따라서 인터넷에 'weka data set restrict' 등의 용어를 섞어 쓰면서 검색해 보았지만, 이거다 싶은 답은 없었다. 이런 이유로 계속 구글링을 하는 도중, weka의 filter에 Resample이라는 함수를 이용해야 한다는 결론으로 귀결되었다. https://weka.sourceforge.io/doc.dev/weka/filters/supervised/instance/Resample.html Resample (weka-dev 3.9.5 API) Produces a random subsample of a dataset using either sampling with replacement o..
[수치해석 10] 최소 제곱 회귀 분석 곡선 적합(Curve Fitting) 어떤 상황에서 데이터는 이산적인 값으로 주어진다. 이때, 우리는 이 데이터들간의 연관성에 대해 궁금하거나, 해당 데이터들을 기반으로 새로운 임의의 점을 추정하고 싶을 수 있다. 곡선 적합은 중간이 되는 추정치를 구하기 위해 특정 데이터들을 곡선에 적합시키는 것으로, 현실의 복잡한 데이터로부터 이들에 적합하는 간단한 함수를 유도하는 것이다. 즉, 데이터들 사이의 연관성을 곡선 형태로 도출하고, 이를 통해 새로운 값을 추정하기 위한 것이다. 데이터간의 오차가 큰 상황에서는 최소제곱회귀분석을 사용한다. 이 경우. 데이터의 일반적인 경향성을 나타내는 것으로, 단일 곡선을 유도한다. 유도된 곡선이 꼭 모든 점을 통과하지는 않는다. (도출되는 곡선은 근사치를 추정한다.) 데이터..