분류 전체보기 130

1. CS 기초정리

운영체제 우리가 컴퓨터를 사용할 때 하드웨어를 관리하고 응용 프로그램과 하드웨어 사이의 인터페이스 역할을 하여 시스템 동작을 제어하는 소프트웨어가 운영체제입니다. 운영체제는 시스템의 자원과 동작을 관리하여 프로그램에 대한 서비스를 지원하는 역할을 해줍니다. - 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있게 인터페이스를 제공해주는 시스템 소프트웨어 1. 프로세스(process): 프로세스란 실행 중에 있는 프로그램을 의미합니다. 즉 운영체제로부터 메모리 공간을 할당받아 실행 중인 것입니다. 2. 프로그램(program): 파일 단위로 저장 장치에 저장되어 있고 실행되지 않은 코드 상태입니다. 3. 스레드(thread): 프로세스를 구성하는 독립적인 실행 단위입니다. 스레드는 프로세스에서 실행 제어만..

4. CNN

Convolution Neural Network란 시각적 이미지 분석에서 가장 일반적으로 사용되는 인공신경망의 한 종류로, 입력 이미지로부터 특징을 추출하여 입력 이미지가 어떤 이미지인지 클래스를 분류합니다. - 다양한 이미지 처리에 유용한 알고리즘이고 기존에 image 인식에 사용하던 Affine 계층에 바로 이미지를 넣는 FCNN이 가지고 있는 한계를 개선하기 위해 개발되었습니다. FCNN은 input image를 행으로 flatten 하여 이것을 입력으로 넣어주는데 이때 이미지의 형상이 flatten으로 소실되어 픽셀들 간의 상관관계를 잃게 된다는 문제가 있습니다. CNN의 구조는 FCNN의 문제점을 해결하기 위해 앞부분에 convolution layer와 pooling layer를 추가한 방법입니..

3. Ensemble and Random Forest

앙상블(Ensemble)은 서로 다른 여러 모델의 예측 결과를 바탕으로 새로운 모델을 만들어 더 정확한 예측 결과를 도출해내는 방법을 말합니다. 다수의 모델의 결과를 통해 예측을 진행하기에 단일 모델보다 신뢰성이 높은 예측 결과를 얻을 수 있습니다. 앙상블 1. 보팅(Voting) 보팅은 서로 다른 알고리즘의 예측 결과를 투표하여 최종 예측 결과를 선정하는 방식입니다. 하드 보팅은 다수의 분류기가 예측한 결괏값을 최종 결과로 선정하는 방법이고 소프트 보팅은 모든 분류기가 예측한 레이블 값의 결정 확률 평균을 구한 뒤 가장 확률이 높은 레이블 값을 최종 결과로 선정합니다. - 보팅은 다음과 같은 하이퍼 파라미터를 가지고 있습니다. 1. estimators: 보팅에 사용될 여러 classifier 객체를 튜..

2. Decision Tree and SVM

의사결정나무(Decision Tree)는 머신러닝의 학습 알고리즘으로 방정식 형태가 아닌 트리 형태의 목적함수를 가집니다. 위 사진처럼 트리 형태로 데이터를 분류하는데 각각의 질문이 담긴 부분을 node라고 하며 해당 질문에 True, False를 나타내 주는 화살표를 edge라고 하며 최상위 node를 제외한 층수를 depth라고 합니다. 위에 결정트리는 독립변수가 수치형으로 이루어진 트리이고 범주형으로 이루어진 형태도 존재합니다. 첫 부분에서 결정트리는 방정식 형태가 아니라고 했었는데 그 이유는 이전의 선형회귀 처럼 가설 함수가 $Y = Wx + b$ 형태가 아니라 True/False로 데이터를 나눠서 점점 작은 형태의 가설 함수를 가지기 때문입니다. - 모든 데이터가 단일 클래스로 분할되는 순간 학..

[핸즈온 머신러닝] 3장

성능 측정 classification에 대한 평가를 진행할 때 사용하는 방법들에 대해 알아보겠습니다. 1. k-fold Cross Validation 분류를 진행하고 나서 성능 측정을 하는 방법 중에는 k-fold cross validation이 존재하는데 훈련 세트를 k개의 폴드로 나누고 각 폴드에 대해 예측을 만든 다음 평가하기 위해 나머지 폴드를 훈련시킨 모델에 사용하는 방법입니다. 2. Precision/Recall and Confusion Matrix 분류기의 성능을 평가하는데 오차 행렬(Confusion Matrix)로 각각의 분류 결과를 알 수 있습니다. 이런 오차 행렬의 정보를 요약한 지표가 존재하는데 그것이 정밀도(Precision)와 재현율(Recall)입니다. 정밀도는 $\frac {..

1. Classification and Regression

분류(Classification)는 data set(x, y)를 가지고 학습을 진행합니다. 그 이후 새로운 데이터 x'의 범주 y'을 예측하면 됩니다. 분류는 스팸메일, 게임 어뷰저, 신문기사 분류 등등에 사용됩니다. 특징으로는 Lable로 구분되는 값으로 값이 연속적이지 않습니다. 회귀(Regression)는 data set(x, y)를 가지고 x의 숫자 y를 예측하는 문제를 말합니다. 주가 예측, 경제 성장률 예측 등등에 활용되며 값이 연속적인 실수라는 특징이 있습니다. Regression 위에서 말했듯이 회귀 문제는 주어진 데이터를 학습해 연속적인 예측값을 출력하는 모델입니다. 모델이란 해당 데이터들을 가장 잘 표현해줄 것 같은 가설(수학식으로 표현 되는 함수)로도 생각할 수 있습니다. $H(x) ..

[핸즈온 머신러닝] 2장 머신러닝 프로젝트 처음부터 끝까지

실제로 작업할 때 전체적인 흐름을 보자면 1. 큰 그림 보기 2. 데이터 구하기 3. 데이터로부터 통찰을 얻기 위해 탐색, 시각화 4. 머신러닝 알고리즘을 위해 데이터 준비 5. 모델을 선택하고 훈련 6. 모델을 상세하게 조정 7. 솔루션 제시 8. 시스템 런칭, 모니터링하면서 유지 보수 첫 번째 큰 그림 보기 예시를 봐보겠습니다. - 캘리포니아 인구조사 데이터를 사용해 캘리포니아의 주택 가격 모델 만들기 - 이 데이터로 모델을 학습시켜서 다른 측정 데이터가 주어졌을 때 그 구역의 중간 주택 가격을 예측해야 한다. - 문제를 정의하고 성능 측정 지표를 선택한다. 문제 정의에서는 비즈니스의 목적이 정확이 무엇인지, 현재 솔루션 구성이 어떻게 되는지, 어떤 머신러닝으로 문제를 해결할 것인지 이렇게 크게 3가..

[핸즈온 머신러닝] 1장 한눈에 보는 머신러닝

머신러닝이란? 머신러닝이란 명시적 프로그래밍 없이 컴퓨터가 학습하는 능력을 갖추게 하는 연구분야입니다. 머신러닝을 사용하는 이유는 크게 4가지 정도가 있습니다. 1. 새로운 규칙을 일일이 추가하는 방식에서 벗어나게 해 줍니다. 2. 전통적인 방식으로는 해결방법이 없는 복잡한 문제를 풀게 해 줍니다. 3. 머신러닝 시스템은 새로운 데이터에 적응할 수 있으므로 유동적이다. 4. 복잡한 문제와 대량의 데이터에서 통찰을 얻게 해 줍니다. 기존의 전통적인 방법은 아래 두 개의 단계를 반복하는 과정을 가지고 1단계: 패턴 파악(주로 어떤 패턴이 나타나는가) 2단계: 각 패턴 감지 알고리즘 작성(규칙을 직접 작성 및 성능 향상) 머신러닝 기반으로 진행하게 된다면 - 패턴을 감지하고 그 특징이 좋은 기준인지 자동으로 ..

[합격 후기] BOAZ 19기 합격 후기

작년에 스터디 형들한테 BOAZ를 소개받아서 지원했다가 떨어졌었습니다. 이번 면접도 다른 참가자분들에 비해서 그리 잘 보지 못 했던 것 같았는데 합격하게 되어서 기분이 좋습니다 :) 면접 질문은 공통 질문으로 지원 동기, 자기소개, 해보고 싶은 프로젝트에 대해서 물어보셨고 개인 질문으로는 제가 진행했던 프로젝트 질문이나 관련된 전공 지식을 물어보셨습니다. 저는 자기소개서에 경량화에 관심이 많다고 적어서 경량화 기술에 대한 질문을 받았었습니다. 합격 발표 날짜에 문자만 기다리고 있었는데 좋은 결과가 나와서 기쁘고 이번 기회를 최대한 활용해 좋은 결과물들을 만들어야겠습니다.

BOAZ/후기 2022.07.12

[모두콘] 실용적인 딥러닝 모델 경량화 & 최적화

https://www.youtube.com/watch?v=QZekRr4xUAk&t=1s 논문을 읽다 보면 항상 제안된 방법들이 뛰어난 성능을 보인다는 내용들이 많았지만 실제로 문제에 적용하기 전까지는 제대로 된 성능이 나오는지 확인할 수 있는 방법이 없습니다. 이 영상에서는 직접 YOLOv5x 모델을 여러 경량화 기법들을 적용해서 좋은 성능을 보여준 방법들이 정리되어있습니다. 영상에서는 드론에 들어있는 디바이스에서 YOLOv5x 를 돌리는 것을 목표로 내용이 진행됩니다. 경량화를 진행한 경우 다음과 같은 이점들이 존재합니다. 전체적으로 비용이 감소하며, 성능이 증가합니다. 그러면 무조건 경량화 기법을 쓰면 성능이 증가하면 비용이 감소할까요? 우선 일부 경량화 방법은 하드웨어와 밀접한 관계를 가지고 있기 ..

반응형