일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- condition
- bash
- JavaScript
- loop
- npm
- 보안
- dotenv
- VUE
- Clone
- machine learning
- git
- scss
- C#
- C++
- generic
- leetcode
- AI
- webpack
- security
- var
- property
- vuetify
- BOJ
- nginx
- Python
- type
- TypeScript
- docker
- 앙상블
- vue.js
- Today
- Total
목록AI (5)
ice rabbit programming
지난 글에서 앙상블 중 Bagging까지 정리했었다. 앙상블 - 부스팅(Boosting) 부스팅은 여러 개의 약한 모델을 합쳐서 강한 모델을 만드는 기법이다. 랜덤 포레스트 알고리즘이 사용된다. 랜덤 포레스트는 입력 변수에 대해서 복원 추출을 하는 알고리즘으로, 의사 결정 트리와 Bagging 알고리즘이 결합된 형태이다. 여러 개의 나무(트리)로 숲을 생성하는 의미이다. 1. 데이터 SET에서 Bootstrap을 통해 N개의 훈련 데이터 SET을 생성한다. 2. 생성한 N개의 의사 결정 트리를 학습한다. 3. 학습된 트리들의 예측 결과값의 평균 또는 다수결 투표 방식으로 결합한다. 이러한 절차를 거치고, 변수의 중요성(어떤 변수가 중요한지)을 파악할 수 있고 과적합을 방지할 수 있다는 특징을 가진다. A..
차원 축소(Dimensionality Reduction)는 변수가 매우 많을 때 데이터를 압축하는 컨셉이다. 즉, 데이터를 압축하고 학습 속도를 개선하기 위함이다. 차원이 높을 때 발생하는 현상 중 하나로는 차원의 저주가 있다. 차원이 높을수록 학습에 요구되는 데이터의 개수가 증가되는데, 만일 고차원일 때 적은 개수의 데이터로 표현하게 되면 과적합(Overfitting)이 발생할 수 있다. 이러한 차원의 저주 발생을 방지하고, 학습 속도 및 성능 향상을 위해 차원 축소가 사용된다. 아래 두 가지 방법이 있다. 주성분 분석(Principle Component Analysis) PCA는 고차원 데이터를 가장 잘 설명할 수 있는 주성분을 찾는 방식이다. 즉, 차원을 축소하면서도 원본 데이터의 특징을 가지고 있..
이전 글들에서 회귀, 분류 등 지도 학습을 다루었었다. 이번 포스팅부터는 정답이 없는 데이터가 주어지고, 숨겨진 구조를 파악하는 비지도 학습(Unsupervised Learning)에 대해서 다룰 것이다. 이번 글은 군집, 클러스터링에 대해 다룰 것이다. 클러스터링은 크게 두 가지로 나눌 수 있다. 하드 클러스터링 : 특정 개체가 집단에 포함되는지 여부(포함or미포함) ex) K-means Clustering 소프트 클러스터링 : 특정 개체가 얼마나 포함되는지 속하는 정도로 표현 ex) GMM 클러스터링의 목표는 군집 간 유사성 최소화, 군집 내 유사성 최대화라고 할 수 있다. 즉, 다른 군집 간 데이터끼니를 최대한 서로 비슷하지 않게 하고 같은 군집 내의 데이터끼리는 서로 비슷하게 하는 것이 목적이다...
이전 글에서 SVM과 나이브 베이즈 분류에 대해서 다루었다. 이번 글에서는 KNN 기법을 정리하고 회귀 때와 마찬가지로 평가 기법에 대해서 작성하려고 한다. KNN KNN(K-Nearest Neighbor)는 기존 데이터 중에 가장 가까운 K개 이웃의 정보로 새로운 데이터를 예측하는 분류 기법이다. KNN은 한 가지 가정을 두고 분류하는데, 유사 특성 데이터는 유사 범주에 속하는 경향이 있다는 것을 전제로 한다. 예를 들자면 기존 데이터의 분류를 마치고, 새 데이터를 이전에 분류했던 기준에 따라 분류하는 경우라고 볼 수 있겠다. KNN을 아래와 같은 특징을 가진다. 직관적이고 복잡하지 않다. 해석도 꽤 쉬운 편에 속한다. K 값에 따라 성능이 크게 좌우된다. 딱히 학습이랄 것이 없는 Lazy Model이..
현재는 AI와는 꽤 거리가 먼 직무를 맡고 있고, 그나마 있는 경험은 학부생 시절에도 관련 수업을 한두 개 들은 정도였다. 12월 한 달 동안 AI의 기초에 관한 강의를 수강할 기회가 있어, 배운 내용들을 정리 및 공유하기 위해 포스팅을 시작하려 한다. 일전에 한 달 정도 포스팅했던 typescript와 비슷할 것 같다. 다만, 지식 공유도 목적에 있기는 하지만 전문가가 아니고, 개념적인 내용 정리에 초점을 맞출 생각이기에 그림 등 시각 자료가 다소 부족하고, 코드가 부족할 수 있다. 프로그래밍에 종사하고 있지만 AI 관련 지식이 없는 사람으로서, 이해한 내용을 최대한 쉽게 정리하려고 했다는 장점이 있지만 좀 더 전문적이고 세세한 설명을 원하시는 분들은 다른 글을 찾아보심이 좋을 것이라 생각된다. 머신러..