본문 바로가기

컴퓨터 과학24

머신 러닝 Murphy 2장 probability Machine Learning: a Probabilistic Perspective(https://probml.github.io/pml-book/book0.html)을 읽고 정리한다. "동전을 던졌을 때 앞면이 나올 확률은 0.5이다."를 빈도주의적 관점과 베이지안 관점에서 해석해보자. 빈도주의적(frequentist) 관점으로 보면 동전을 많이 던졌을 때 절반만큼 앞면이 나올 것으로 기대한다고 해석할 수 있다. 베이지안(Bayesian) 관점으로 보면, 동전을 다음 번에 던졌을 때 앞면 또는 뒷면이 나올 가능성은 같다고 해석할 수 있다. 베이지안 관점은 불확실성(uncertainty)를 정량화한다고 말한다. 베이지안 해석의 장점은 장기적인 관점에서 빈도를 가지지 않는 사건에 대한 불확실성을 모델링할 수 .. 2021. 7. 23.
머신러닝 Murphy 1장 1.3 Unsupervised learning unsupervised learning에 대해 알아본다. 비지도 학습은 출력 데이터만 주어지며, 입력은 주어지지 않는다. 목표는 데이터에서 흥미로운 구조를 발견하는 것. 즉, knowledge discovery. 지도 학습은 각각의 입력에 대해 출력이 주어지지만, 비지도 학습은 그렇지 않음. 대신, density estimation의 일종으로 볼 수 있다. 즉, $p(\bold{x}_{i} | \bold{ \theta } )$ 꼴의 모델을 만드는 것이 목표이다. 지도 학습과는 두 가지 차이점이 존재한다. 첫째, 지도학습은 $p(y_{i} | \bold{x}_{i}, \bold{ \theta } )$과 같은 형태를 썻다. 즉, 지도학습은 조건부 밀도 추정(co.. 2021. 7. 22.
운영체제 인터페이스 이 글에서는 운영체제에 대해 간략히 알아보고, 운영체제 인터페이스(Operating Systems Interfaces)에 대해 알아본다. 책 xv6: a simple, Unix-like teaching operating system을 참고하여 정리한다. 운영체제는 다수의 프로그램이 컴퓨터라는 한정된 자원을 공유하도록 만든다. 또한, 저수준(low-level) 하드웨어를 추상화하고 관리한다. 따라서 인터넷 브라우저와 같은 프로그램은 구체적으로 어떤 하드웨어를 사용하고 있는지 신경쓸 필요가 없다. 운영체제가 알아서 어떤 하드웨어를 사용할지 관리해 준다. 운영체제는 또한 프로그램들이 서로 같이 일하거나 같은 데이터를 공유할 수 있도록 만든다. 운영체제는 인터페이스를 통해 사용자 프로그램(user program.. 2021. 7. 4.
파이썬으로 살펴보는 아키텍처 패턴 이 글은 한빛미디어 도서 서평단 나는 리뷰어다 2021을 통해 책을 제공받아 작성하였습니다. 이 책은 번역서 '파이썬으로 살펴보는 아키텍처 패턴(Architecture Patterns with Python)(해리 퍼시벌, 밥 그레고리 지음, 오현석 옮김, 한빛미디어)' 입니다. 이 책은 파이썬을 이용해 엔터프라이즈 환경에서 개발할 때 사용할 수 있는 아키텍처 패턴에 대해 설명해 준다. 파이썬을 이용해 시스템을 구성하면서 점점 복잡해진 구조를 어떻게 설계하면 좋을지 설명해 준다. 그렇다고 해서 지나치게 이론에 집중해서 설명하는 것이 아닌 실제 예제 코드들을 보여주면서 실용적인 관점에서 학습할 수 있는 책이다.시스템의 복잡성을 해결하기 위해 테스트 주도 개발(TDD), 도메인 주도 개발(DDD), 마이크로 .. 2021. 6. 20.
WebGL 요약 WebGL 1은 OpenGL ES 2.0 기반 WebGL 2는 OpenGL ES 3.0 기반, 이는 WebGL 1에 새로운 기능이 추가된 것. WebGL은 GPU에서 동작한다. Vertex shader와 fragment shader 두 개의 함수가 한 쌍으로 하나의 프로그램이 된다. vertext shader는 vertex의 위치를 계산, 이 결과로 나온 출력들을 바탕으로 point, line, triangle을 raterize한다. rasterizing할 때 WebGL은 fragment shader을 호출한다. fragment shader는 현재 그리려고 하는 primitive(point, line, triangle, ...)의 각 픽셀에 대한 색을 계산한다. buffer -> attribute -> .. 2021. 6. 14.
고성능 파이썬 이 글은 한빛미디어 도서 서평단 나는 리뷰어다 2021을 통해 책을 제공받아 작성하였습니다. 이 책은 번역서 '고성능 파이썬(미샤 고렐릭, 이안 오스발트 지음, 오현석 옮김, 한빛미디어)' 입니다. 이 책은 처리할 데이터 용량이 큰 프로그램들을 효율적으로 작성해 성능을 높이는 방법들을 알려준다. 성능이 좋은 파이썬 프로그램을 작성하는 방법 뿐만 아니라, 프로그램의 확장성이 좋은 구조에 대해 설명해 준다. 구체적으로 멀티 코어 아키텍처, 클러스터, GPU를 활용하는 방법을 파이썬 코드로 알려 준다.하지만 책에서는 직접적으로 SQL 등을 활용해 데이터를 다루는 방법에 대해서는 알려주지 않는다. 파이썬을 이용해 직접 프로그램을 프로파일링해 성능이 어느 정도 인지 측정하고, 파이썬 인터프리터를 설정해 성능을 끌.. 2021. 5. 23.
이미지 처리 요약 이미지(image)는 2차원의 신호(signal). 이미지 처리는 이 신호를 처리하는 것. 결국 신호처리와 연관된다. 정보를 나타내는 양이 신호. 예를 들어, 시간에 대한 1차원 신호로 음성(voice)이 있다. 공간에 대한 2차원 데이터가 이미지. 디지털 신호는 아날로그 신호를 이산적으로 샘플링한 것. 따라서 디지털 신호가 분석하기 쉽고, 정확도가 떨어진다. 이미지 필터는 선형적(linear)인 것과 비선형(non-linear)으로 나뉜다. 여기서 필터(filter)는 합성곱(convolution) 연산을 하는 convolution filter를 의미한다. 선형 필터(linear filter)의 대표적인 예는 mean filter이다. mean filter는 계수(coefficient)를 모두 1로 두.. 2021. 4. 22.