개발 335

앙상블 학습(Ensemble)

앙상블 학습에 대해 알아보면 음식에서 앙상블을 이룬다는 말을 쓰는 것 처럼 앙상블 학습도 마찬가지로 이것저것 섞어서 조화를 이룬다 라는 의미로 쓰입니다. 그러니깐 어떤 학습 모델을 만드는데 이것저것 섞으니깐 성능이 더 잘나오더라 하는 부분입니다. 배깅과 부스팅으로 나눠서 설명해보면 배깅(bagging) 샘플을 여러번 뽑아서 가장 좋은 애를 선택해서 사용하는 것입니다. 배깅을 이용하는 방법이 랜덤포레스트입니다. 부스팅(Boosting) 그러면 부스팅은 무엇인가 보면 모델을 여러개 학습시켜, 약한 학습기를 이용해 강한 학습기를 만드는 것입니다. 참조 [1] - https://bkshin.tistory.com/entry/%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D-11-%EC%95%99%..

개발/Kaggle 2020.05.17

LogisticRegression

LogisticRegression에 대해 알아보겠습니다. 쉽게 말하면 Yes or No로 구분하는 문제입니다. 이렇게 일정수준 이상은 합격이고 아래는 불합격인 데이터가 있다고 보면 이런 그래프를 그어서 이 데이터들을 예측할 수 있습니다. sklearn 을 이용하여 구현할 수 있습니다. 여기보면 confusion_matrix라는 것이 나오는데 그러니깐 파란색으로 된 부분은 예측이 맞은거고 빨간색으로 된 부분은 예측이 들린 부분입니다. 참조 https://realpython.com/logistic-regression-python/

개발/Kaggle 2020.05.12

ARM 프로세서

ARM의 user mode와 kenel mode모드에 대해서 알아보겠습니다. 일단 ARM이 무엇인지 알아야 하는데 ARM은 Advanced RISC Machine 즉 임베디드 기기에 많이 사용되는 RISC 프로세서입니다. RISC(Reduced Instruction Set Computer)는 이름에서 볼 수 있듯이 CPU 개수를 줄여 하드웨어 구조를 간하게 만드는 방법으로 마이크로프로세서를 설계하는 방법 중에 하나입니다. 그렇다면 User Level과, Kernel Level의 동작 모드에 대해서 알아보겠습니다. User Level은 Application과 연결되는 Library로 구성되며, 이 라이브러리에 가상화, 스케줄링, 동기화 등의 기능이 있습니다. User Level에서는 라이브러리에서 이 기능..

개발/잡다개발 2020.05.11

Synchronization Tools

Critical Section 이란 Process or Thread들이 공통 변수 선언하는 구역입니다. 이 문제 해결을 위해서 Mutual Exclusion - 어떤 Thread가 Critical Section 에서 수행되면 다른 Thread들은 접근할 수 없어야 합니다. Progress - 실행중인 프로세스가없고 중요 섹션에 들어 가려는 프로세스가있는 경우 다음에 중요 섹션에 들어갈 프로세스 선택을 무기한 연기 할 수 없습니다. bounded Waiting - 프로세스가 중요 섹션에 대한 요청을 한 후 요청이 승인되기 전에 다른 프로세스가 중요 섹션에 들어갈 수있는 횟수에 제한이 있어야합니다. Peterson’s Solution 이란 두개 이상의 프로세스의 동기화 문제를 해결하는 방법 중에 하나입니다...

개발/잡다개발 2020.05.07

Synchronization Examples

bounded-buffer problems은 공유 리소스에 대한 액세스의 전형적인 예시입니다. 버퍼가 가득 차 있으면 producers는 버퍼를 block하고 버퍼가 비어있으면 customer는 버퍼를 block합니다. Readers-Writers Problem 여러 명의 독자와 저자들이 하나의 저장 공간(버퍼)을 공유하며 이를 접근할 때 발생하는 문제이다. 독자는 공유 공간에서 데이터를 읽어온다. 여러 명의 독자가 동시에 데이터를 읽어오는 것이 가능하다. 저자는 공유 공간에 데이터를 쓴다. 한 저자가 공유 공간에 데이터를 쓰고 있는 동안에는 그 저자만 접근이 가능하며, 다른 독자들과 저자들은 접근할 수 없다. 변수 readcount : 현재 버퍼에 접근 중인 독자의 수를 나타낸다. (초기값=0) wrt..

개발/잡다개발 2020.05.07

Deadlock

DeadLock이란 프로세스가 자원을 얻지 못할 때 발생합니다. 프로세스가 서로 필요한 리소스 할당을 기다릴 때 데드락이 발생합니다. Mutual Exclusion : 한개 자원은 비공유되어야 합니다. Hold and Wait : 하나의 자원을 보유하고 다른 자원을 기다려야합니다. No preemtion : 자원을 선점할 수 없고, 자원을 hold하고 있는 프로세스가 종료되어야 합니다. Circular Wait : 자원할당 Cycle이 존재해야 합니다. 데드락 처리 - 교착상태 예방 및 회피 - 교착 상태 탐지 및 회복 - 교착 상태 무시 데드락 예방 - Mutual exclusion 부정 - Hold and wait 부정 - No preemption 부점 - Circular wait 자원 탐지 자원을 ..

개발/잡다개발 2020.05.07