전체 글 (73) 썸네일형 리스트형 [SckitLearn]지도학습 알고리즘(1)_의사결정트리의 특징과 사용법 저번 시간에는 개략적으로 인공지능, 머신러닝, 딥러닝에 대해 살펴보았습니다. 이번시간에는 머신러닝 중에서도 지도학습 알고리즘인 의사결정트리에 대해 알아보도록 하겠습니다. 의사결정트리(Decision Tree)란? 결정트리(Decision Tree)는 머신러닝 알고리즘 중 하나이다. 분류, 회귀 작업이 모두 가능하다. 스케일을 맞추는 것과 같은 전처리가 거의 필요 없는 특징이 있다. 위 그림은 sklearn.datasets의 iris 데이터를 가지고 DecisionTreeClassifier가 만든 트리이다. (깊이가 2인 결정트리) 색칠된 노드들은 말단노드로서 분류의 최종값이다. samples 는 해당 노드에 속한 샘플들의 수이다. value는 각 클래스별 샘플들의 수이다. class는 결정트리가 예측한 .. [Tensorflow][Keras]Pooling 의 종류 및 사용법_ CNN이란? 저번시간에는 활성화 함수를 실제 코드로 사용할 방법에 대해 알아보았었다. 이번시간에는 Pooling이란 무엇이며 왜 사용하는지 그리고 종류와 사용법에 대해 알아보도록 하겠다. Pooling은 무엇이며 왜 사용하는가? 풀링은 입력된 이미지(데이터)에 대한 축소본을 만드는 것이다. 풀링을 사용하는 이유로는 여러 가지가 있는데, 먼저 풀링을 하면 파라미터의 수(데이터의 크기)를 줄여 연산량이 적어지며 과적합을 방지한다는 장점이 있기 때문이다. 또한 풀링 과정을 거치면 Feature Map에서 특징을 잘 뽑아내서 노이즈에 강해지기 때문이다. 하지만 장점만 있는 것이 아니다. 데이터의 크기를 줄이기 때문에 과하게 사용하면 입력 데이터의 막대한 소실로 이어지기 때문이다. 그러므로 적재적소에 알맞게 사용하여야 한다... tensorflow.keras.activations 활성화 함수 모델에서 사용하기 저번 시간에는 tensorflow.keras.activations의 활성화함수들에 대해 알아보았었다. 이러한 활성화 함수들을 실제 AI모델에서 어떻게 사용할 수 있을까? 한번 알아보자. 모델을 만드는 방법엔 크게 Sequential model, functional API, 그리고 Model Subclassing 3가지 방법이 있다. Sequential model은 가장 쉽고 간편하며 빠르게 모델을 만들 수 있는 방법이나 여러가지 입력을 처리하거나 복잡한 신경망을 만드는 등 복잡한 작업을 수행하기가 어렵다는 단점이 있다. 그리고 Model Subclassing 방법은 사용자가 원한대로 만들 수 있지만 처음부터 일일이 만드는 방법으로 복잡하다는 단점이 있다. 그러므로 functional API로 tensor.. [Tensorflow][Keras]활성화 함수 코드로 알아보기 저번시간에는 활성화함수가 어떤 것들이 있는지 알아보았다. 이번시간에는 이러한 활성화함수를 실제 keras 코드에서는 어떻게 사용이 되는지 한번 알아볼 예정이다. tensorflow.keras.activations 에는 어떤 함수들이 내장되어 있으며 어떻게 사용하는지 알아보도록 하자. tensorflow.keras.activations에 있는 활성화 함수들은 몇몇 개를 제외하면 전부 함수처럼 사용이 가능하다. 그리고 활성화함수의 출력 형태는 모두 tf.Tensor, 즉 텐서로 출력된다. 혹시라도 tensorflow.keras.activations의 함수들을 모델에서 사용하고자 한다면 이 글을 참고 바란다(추후 작성예정) sigmoid 선형적인 입력을 비선형으로 바꾸어주기 위해서 사용하며 입력에 따라 (0,.. [인공지능]활성화 함수의 종류 알아보기 이번 시간에는 활성화 함수를 사용하는 이유와 종류, 그리고 특성에 대해 알아보도록 하겠다. 그리고 다음시간에는 이러한 활성화 함수들을 코드로는 어떻게 이용하는지 방법도 알아보도록 하자. 활성화 함수의 등장 배경 및 사용 이유 선형모델의 복잡성 증가 불가,선형분류모델의 한계 등등 기존의 퍼셉트론 만으로 만드는 선형 모델의 한계가 발생함에 따라 신경망의 층 중간에 비선형적인 층인 활성화 함수를 도입하여 모델의 성능 향상을 꾀하였다. 활성화 함수의 종류 sigmoid 시그모이드 라고 불리는 이 활성화 함수는 입력에 따라 (0,1)의 출력으로 가지는 함수이다. 특징 x값의 절댓값이 커지면 기울기가 낮아져 학습속도가 낮아짐 출력이 0을 중심으로 되어있지않음 지수함수 사용으로 연산 속도가 오래걸림 tanh 쌍곡선함.. [Tensorflow][Keras]활성화 함수의 사용법 간단하게 알아보기 이번시간에는 Activation은 무엇이며 또 Keras에서는 이 활성화 함수를 어떤 방법으로 사용하는지 알아보자. 활성화 함수란 무엇인가? 신경망 모델을 깊고 복잡하게 만들기 위해서 사용이 되는 함수이며 신경망모델에서 한 레이어에서 가중치들로 연산을 한 뒤, 그 결과를 다음 레이어로 보내기 전에 결과 값에 취해지는 함수이다. ReLU, sigmoid, tanh 등 여러 활성화 함수가 존재한다. 그렇다면 Keras 에서는 어떻게 활성화 함수를 사용할 수 있을까? Keras에서 활성화함수는 다양한 방법으로 사용이 가능한데, 크게 3가지가 있다고 알아두면 된다. 첫 번째로는, 사용하고자 하는 활성화 함수 자체(ReLU, Softmax 등..)를 레이어처럼 불러와서 사용이 가능하며 from tensorflow.. [Tensorflow][Keras]Conv2D사용법 _CNN이란? 저번시간엔 CNN이 무엇인지 개략적으로 살펴보는 시간을 가졌었다. 이번 시간에는 CNN에서 합성곱을 하는 층인 Convolution Layer에 대해 알아보도록 하겠다. 우리는 CNN의 Convolution Layer을 만들기 위해서는 일일이 합성곱을 해주는 함수를 직접 만들어야 하는가?? 그렇지 않다. 각종 신경망이나 딥러닝 등에 자주 사용되는 도구들을 모아놓은 Keras 모델을 사용하면 된다. 그렇다면 이러한 모델을 어떻게 이용해서 합성곱 층을 사용하는가?? 먼저, from tensorflow.keras.layers import Conv2D 을 통해서 Conv2D를 import 해준 뒤에 Sequential Model로 간단한 신경망 모델을 만들어주고 다음과 같은 방법으로 모델에 레이어를 추가함으로써.. [Tensorflow][Keras]CNN이란? CNN에 대해 개략적으로 살펴보기 CNN은 무엇인가? Covolutional Neural Network의 약자로 합성곱을 이용한 신경망이라고 보면 된다. 주로 이미지를 처리하는 데 사용되는 신경망이다. 합성곱이란? 필터라는 nxm크기의 행렬로 h*m*c의 이미지를 처음부터 끝까지 겹치며 훑으면서 겹쳐지는 부분의 각 이미지와 커널의 원소의 값을 곱해서 모두 더한 값을 출력으로 하는 것을 의미한다. 이해가 잘 되지 않는다면 다음과 같은 예시들을 살펴보자. 1차원행렬인 (1,2,3,4)와 (5,6,7,8)의 행렬곱을 살펴보자. 두 행렬의 크기가 같으므로 한번만 겹쳐지며 연산이 행해진다. 다음으로 2차원행렬끼리의 합성곱을 살펴보도록 하자. 이 또한 1차원 행렬곱과 마찬가지로 두 행렬의 모양이 같으므로 한 번만 겹쳐지며 연산이 행해진다. 만약 이.. 이전 1 ··· 3 4 5 6 7 8 9 10 다음