전체 글 97

Catboost 기본부터 알아보기

Catboost Boosting algorithm이란? 머신러닝 앙상블 기법중 하나로 약한 학습기 여러개를 순차적으로 여러개 결합하여 예측과 분류의 성능을 높이는 알고리즘 여러개의 알고리즘이 순차적으로 학습 예측 하면서 이전에 학습한 알고리즘의 예측이 틀린 데이터를 올바르게 예측할수 있도록 다음알고리즘에 가중치를 부여하여 학습과 예측을 진행하는 방식 앙상블 : 여러 단순한 모델을 결합하여 정확한 모델을 만드는 방법 의사 결정 트리(Decision Tree) 일련의 분류 규칙을 통해 데이터를 분류, 회귀하는 지도학습모델, 결과 모델이 Tree 구조이다. 특정 기준에 따라 데이터를 구분하게 되며 한번의 분기 마다 변수영역을 두개로 구분한다. 여기서 나온 질문이나 정답을 노드(Node)라고 한다. 의사 결정 ..

공부 학습 2022.04.02

베이지안 선형 회귀(Bayesian linear regression) 기본부터 알아보기

Bayesian linear regression Linear regression 이란..? 어떤 Dataset 내에서의 어떤 특성을 선형적으로 표현하는 과정 $$ y = b_0 + b_i * x_i^T $$ 위와 같은 선형방정식에서 x(입력 값)와 y(출력값) 사이간의 관계를 찾는 과정이다. 그래서 주어진 Dataset에서 x_1의 변화에 따른 y값의 변화량과, 이 변화값들이 b_0, b_1에 끼치는 영향을 찾아야한다. 이때 y는 x_1의 변화에 따라 변하는 값이기때문에 y를 Dependent Variable(DV) x_1을 Independent Variable(IV) 이라고 한다. 그리고 DV와 IV의 관계 비율을 결정하는 b_i을 Coefficent하고 하며 Linear Regression의 초기값을..

공부 학습 2022.04.02

네트워크 CH4 - Network Layer 3

Hierarchical addressing:route aggregation 아이피도 계층화가 되어있어서 Fly by Night ISP의 경우 Prefix 말단 IP가 달라지는데 그에 따라 어떤 IP가 Fly by Night ISP의 대표 IP로 설정된다. 그래서 외부 인터넷에서 대표 IP로 설정되어지면 "대표 IP가 도착지인 모든 패킷은 이쪽 Fly by Night ISP로 오라"라고 연결되고 내부에서 계층화된 IP들이 분류되어 본연의 목적IP에 도달하게 된다. 축하합니다. 이스터에그를 발견하셨습니다. 이 이스터에그를 발견하셨다면 운영진에게 스티브와 이 화면을 캡쳐해 보내주세요. IP fragmentation/reassembly 모든 network link는 MTU(Max transfer size) 가 ..

공부 학습 2021.05.04

운영체제 CH7(10주차)

Synchronization Example Bounded-Buffer Reader-write dining philosopher Bounded-Buffer Problem n개의 버퍼가 각각 1개의 아이템을 가질 때 mutex Semaphore는 1로 초기화하는 binary Semaphore이고 full Semaphore(몇개의 방이 채워져있는가)와 empty Semaphore(몇개의 방이 비워져있는가)는 각각 0과 n으로 초기화하여 리소스의 개수 만큼 count하는 counting Semaphore이다. //Producer 공유 버퍼에 값 추가하기 while (true){ ... wait(empty);//만약 Semaphore에서 빈방 없이 0 이하이면 blocking 시킨다. wait(mutex);//이..

공부 학습 2021.05.04

네트워크 CH4 - Network Layer 2

IP addressing: CIDR CIDR: Classless InterDomain Routing 예전에는 IPv4 주소를 Subnet ID 8bit 8bit 8bit에 Host ID 8bit로 Class로 엄밀하게 나누어 IP주소를 구성하였다. 하지만 최근에는 따로 정해진 Class 없이 Subnet ID의 주소값의 자리수를 따로 구분하지않고 자른 후 A.B.C.D/x의 형태로 IP를 구성한다. 예를 들어 11001000 00010111 0010000 00000000 이라는 IP가 있을때 최근의 IP 주소에서는 앞에 24bit가 아닌 23bit만 Subnet ID 로 사용이 가능하다. 그러면 11001000 00010111 001000 | 0 00000000 에서 앞에 23를 사용해 왼쪽에서 부터 8..

공부 학습 2021.04.28

운영체제 CH6(9주차) -2

Bounded-waiting Mutual Exclusion with compare-and-swap CAS(compare-and-swap)을 사용하여 CS(Critical Section)에 순차적으로 들어가는 알고리즘 while (true){ waiting[i] = true;//다른 프로세스가 CS에 있으니 i는 가다려야한다. key =1; while(waiting[i] && key == 1)//waiting[i]가 False이면 누군가 CS에서 나왔음을 의미 key = compare_and_swap(&lock,0,1);//key는 lock의 현재 값으로서 key=1이면 누군가 CS에 있다는 뜻이다. Key=0일때까지 기다린다. waiting[i] = false; /*Critical Section*/ j ..

공부 학습 2021.04.28

네트워크 CH4 - Network Layer

Network Layer Tranport Layer에서 보내고자하는 Segmant를 Network Packet에 담아서 잘 전송 해주는 계층 이제부터는 내부 네트워크에 대해서 거론된다. End host는 네트워크 5계층이 모두 갖춰져 있지만 Louter은 network계층까지 밖에 없다. -> 오직 Packet을 전달하기 위해 특화된 기기 IP Packet의 header를 이해 할수 있는 계층이다. Per-router control panel Forwarding: 패킷을 받아서 목적지 까지 가기까지 바로 다음 라우터로 전달하는것 어떻게: Packet header에 있는 forwarding table을 Look up하여 entry를 찾아 설정하여 packet을 쏴줌 어떻게 Louter들은 forwardin..

공부 학습 2021.04.26

운영체제 CH6(9주차) -1

Synchronization Tool 프로세스는 병행적으로 실행되는데 그래서 언제든 다른 프로세서에 의해 inturrupt될 수 있음 만약 프로세서들이 Shared memory를 사용한다면 작업 도중에 inturrupt되어서 작업에 불일치성(inconsistency)가 생겨버리는 문제가 발생한다. 그래서 프로세서들이 순서대로 시행될수 있도록 보장하는 메커니즘이 데이터에 일치성을 유지하는데 요구 되어짐 producer-consumer problem 버퍼를 운용할때 버퍼가 빈 상태와 꽉찬 상태를 구분할수 없음 그래서 count 변수를 이용하여 한정 된버퍼에서 공간이 비었는지 꽉찼는지 구분할수 있음 //Producer while(true){ while(counter == BUFFER_SIZE){ ;/*Do n..

공부 학습 2021.04.26

운영체제 6주차

CPU Scheduling Basic Concept CPU Scheduling의 목적 : CPU의 이용률을 극대화하자 프로그램을 구동할때는 CPU와 IO를 번갈아 구동되는데, 대부분의 시간을 IO에서 보낸다. CPU에서 보내는 시간을 CPU burst라고 하고 IO에서 보내는 시간을 IO burst라고 한다. 대부분의 프로그램이 짧은 CPU burst를 가지고 있고 짧은 구간동안 앞쪽에서 몰리게 되어 있다. CPU Scheduler는 프로세스의 Ready Queue를 통해 어떤 프로세스를 할당할지 결정한다. CPU Scheduler life cycle 비선점 알고리즘(nonpreemptive): 점유가 되어 있지 않은 채로 종료과 waiting상태가 아니면 CPU를 놓치지 않음 선점알고리즘(preempt..

공부 학습 2021.04.08