인공지능

    [인공지능][개념] 순환 신경망(Recurrent Neural Network) - RNN 모델 완전 정복하기

    순환 신경망 (RNN) 순환 신경망(Recurrent Neural Network)은 일반적인 완전 연결 신경망과 거의 동일하다. 다만, 완전 연결 신경망에 이전 데이터의 처리 흐름을 순환하는 고리를 하나 추가하면 된다. 위 그림처럼 순환 신경망은 뉴런의 출력이 다시 자기 자신으로 전달된다. 즉, 어떤 샘플을 처리할 때 이전에 사용했던 데이터를 재사용하는 셈이다. 순환 신경망에서 샘플을 처리하는 한 단계를 타임스텝이라고 부르고 층을 셀이라고 부른다. 예를 들어, 타임스텝 A에서 셀의 출력 Oa가 사라지는 것이 아니라 타임스텝 B의 셀로 주입되며, 타임스텝 B에서 셀의 출력 Ob가 다시 타임스텝 C의 셀로 주입된다. 이처럼 이전 데이터를 계속해서 다음 셀로 전달할 수 있다는 장점 덕분에 순환 신경망은 순차 ..

    [인공지능][개념&실습] 차원 축소 알고리즘 - 주성분 분석(PCA)을 알아보고 사진의 크기를 줄여보자

    차원 축소 우리는 지난 포스팅에서 K-Means(++) 알고리즘을 사용하여 이미지를 비지도 학습으로 분류해보는 시간을 가져 보았다. 하지만 여기에는 한 가지 문제점이 존재한다. 우리가 이전 시간에 사용했던 이미지는 100px * 100px로, 총 10,000개의 픽셀로 이루어진 이미지였다. 즉, 하나의 이미지에는 10,000개의 차원(특성)이 존재한다는 것이다. (머신러닝에서는 특성을 차원(Dimension)이라고도 부른다.) 이게 정확히 무슨 뜻인지 사진을 통해 알아보자. 예시를 위해 가져온 자몽 이미지이다. 🍊 그냥 봤을 땐 그냥 이미지이지만 이 이미지를 확대해보면 . . . 이제는 이미지에서 자잘자잘한 픽셀들이 눈에 들어올 것이다. 학습을 하는 모델에게는 이런 픽셀 하나하나가 각각의 특성이 되며, ..

    [인공지능][개념] K-평균(K-means) 알고리즘과 군집화(Clustering) + 이너셔(Inertia) 이해하기

    K-평균 (K-means) K-평균(K-means) 알고리즘은 데이터를 k개의 클러스터로 묶는 알고리즘이다. K-평균 알고리즘의 목적은 각 클러스터와의 거리 차이 분산을 최소화하여 데이터를 분류(Classification)하는 데에 있다. 클러스터(Cluster)라는 명칭이 생소하게 느껴질 수 있지만, 그룹이라는 단어같이 어떠한 요소들을 묶어놓은 단위체라는 뜻이며, 추가적으로 어떠한 요소들을 묶는 행위를 클러스터링(Clustering)이라고 부른다. K-평균 군집 알고리즘은 특정 데이터에서 평균값을 자동으로 찾아주는데, 이 평균값이 클러스터의 중심에 위치하기 때문에 클러스터 중심 또는 센트로이드(Centroid)라고도 부른다. 특히, 데이터 특징(feature)을 분석했을 때, 정답 역할을 하는 타겟(t..

    [인공지능][개념&실습] 트리의 앙상블(Ensemble)[2] - 엑스트라 트리(Random Forest)와 (+ 히스토그램 기반) 그레이디언트 부스팅

    결정 트리(Decision Tree)와 앙상블(Ensemble)에 대한 이론이 필요하신 분들은 아래 링크를 참조해주시기 바랍니다. [인공지능][개념] 분류(Classification) - 결정 트리(Decisioin Tree)와 가지치기(Pruning) : https://itstory1592.tistory.com/12 [인공지능][실습] 결정 트리(Decision Tree) 모델로 와인(Wine) 데이터셋을 분류하고 교차 검증(Cross Validation)과 그리드 서치(Grid Search)로 최적의 하이퍼 파라미터를 찾아보자! : https://itstory1592.tistory.com/13 [인공지능][개념&실습] 트리의 앙상블(Ensemble)[1] - 랜덤 포레스트(Random Forest) ..

    [인공지능][개념] 분류(Classification) - 결정 트리(Decisioin Tree)와 가지치기(Pruning)

    의사 결정 트리 (Decision Tree) 의사 결정트리(Decision Tree)란 모델에게 질문을 던지고 YES or NO 를 판단하여 결과의 대상을 좁혀나가는 인공지능의 분류 기법 중 하나이다. (의사 결정트리 모델을 거꾸로 뒤집어 보면 나무와 비슷한 모양이 보이기 때문에 나무(Tree)라는 이름이 붙게 되었다.) 다소 복잡해 보일 수 있는 결정 트리를 하나하나 함께 살펴보도록 하자. 오른쪽 이미지는 실습에서 진행할 레드 와인(음성 클래스)과 화이트 와인(양성 클래스)을 맞추는 이진 분류(Binary Classification) 모델이다. 결정 트리 모델을 보면 '노드(Node)'라고 부르는 네모난 질문 박스가 보일 것이다. 설명을 위해 트리의 맨 최상위에 위치한 루트 노드(Root Node)를 ..

    [인공지능][개념] 로지스틱 회귀(Logistic Regression)는 무엇이며, 시그모이드(Sigmoid) 함수는 왜 사용하는 것일까?

    로지스틱 회귀 (Logistic Regression) 로지스틱 회귀(Logistic Regression)는 사건(Event)이 발생할 가능성을 예측하는 데 사용하는 모델이다. 주로 특정 조건(환경)이 주어졌을 때, 사건이 일어는지, 일어나지 않는지에 대해 다루곤 한다. 위 그래프는 로지스틱 회귀를 그래프로 나타낸 것이다. X축에는 (조건을 모두 고려하였을 때의) 점수, Y축으로 결과가 나타나 있는데, 결과를 보면 알다시피 0과 1로만 이루어진 모습을 확인할 수 있을 것이다. 즉, 사건이 일어나고(1) 일어나지 않고(0)를 예측하는 것이 로지스틱 회귀 모델의 목표라는 뜻이다. 사례를 들어 더 구체화해보도록 하자. 화재가 발생했을 때, 산소가 X만큼 부족해지면 '사망한다 or 사망하지 않는다.' 교통사고가 ..

    [인공지능][개념] 선형회귀(Linear Regression)에 대해 알아보자

    선형회귀 (Linear Regression) 이번 글에서는, 선형회귀 (Linear Regression)에 대한 개념을 알아보려고 한다. 선형회귀란, 위 그래프를 보면 알 수 있듯이, x와 y의 선형적인 관계를 구해 값을 예측하는 것이다. x는 변수이므로 어떠한 값이든 적용될 수 있지만, 기울기 a와 절편 b는 모르는 상태이다. 그 말은 즉, 기울기와 절편의 값을 알게 된다면, 원하는 x값을 대입했을 때 y값을 얻을 수 있다는 말과 동일하다. 중학교 수학 과정에서 배운 방정식 (y = ax+b) 개념을 적용하여 이해하면 쉽다. 인공지능에서는 방정식에서의 기울기 a를 w(weight)라는 변수로 표현하며, 가중치 또는 계수라고 부르고, b(bias)는 수학에서와 동일하게 절편이라고 부른다. 그렇다면 가중치..

    [인공지능] 싸지방 코딩 학습주제 정하기

    싸지방에서 인공지능(AI) 코딩하기 오늘부터 이 블로그에 내가 코딩하고 공부하는 과정들을 글로 남겨보려고 한다. 첫번째 이유로는, 내가 이만큼 공부했다는 걸 남기기 위함이고 두번째 이유로는, 인간은 망각의 동물.. 까먹었을 때 다시 공부하기 위함이다. 하지만 무려 코딩 환경은 싸지방이라는 현실...ㅠㅠㅠ 왜 싸지방에서까지 코딩을 하냐 물어본다면 답변은... 본인 성격상 시간을 허투루 보내는걸 못 참기 때문..ㅎㅎ!! 20대 초반을 군대에서 가만히 앉아서 날릴 수만은 없다!! 우리 부대는 특성상 휴대폰을 사용할 수 없는 곳이지만, 그만큼 싸지방을 다양한 시간대에 많이 이용할 수 있는 환경이다. 오히려 좋아~~!! 개인정비 때마다 드러누워서 핸드폰만 하다 보면 내 성격에 벌써 불안증세가 왔을 것이다ㅋㅋ 그렇..