본문 바로가기

데이터 사이언스/머신러닝

(11)
[Embedding] 단어 임베딩 컴퓨터는 자연어를 처리할 수 없기에, 숫자나 벡터 형태로 변환해 컴퓨터가 처리할 수 있게 해주어야 한다. 이 과정을 자연어 처리 분야에서는 임베딩(Embedding)이라고 한다. 단어 임베딩은 개별 단어를 벡터로 표현하는 방법이다. 문장 임베딩에 비해 학습 방법이 간단하지만, 동음이의어에 대한 구분을 하지 않기에 의미가 다르더라도 단어의 형태가 같다면 동일한 벡터값으로 표현되는 단점이 있다. 1. 원-핫 인코딩(one-hot encoding) 단어를 숫자 벡터로 변환하는 가장 기본적인 방법이다. 요소들 중 단 하나의 값만 1, 나머지는 0인 인코딩을 의미하며, 전체 요소 중 단 하나의 값만 1이기 때문에 희소 벡터라고 한다. 또한 원-핫 인코딩의 결과를 원-핫 벡터라 한다. 원-핫 인코딩을 하기 위해서는..
[NIPA AI 교육/응용] 09. 산업별 AI 혁신 사례 살펴보기 1. 제조 분야에서의 인공지능 1.1. 스마트팩토리 제조 생산을 위한 수직적 통합 및 네트워크화된 제조 시스템을 갖춘 공장 제조 공정 및 운영 데이터와 통합 1.1.1. 오작동 모니터링(설비 혁신) 기계 설비의 오작동률은 환경(제조율, 습기, 온도 등)에 따라 다름 따라서 특정 센서(1~2개)만으로 오작동을 예측하기에는 정확도에 한계가 있음 즉, 다양한 데이터에 기반한 AI를 사용하여 한계를 극복, 오작동 시점을 예측할 수 있음 1.1.2. 제품 성능 모의 실험(품질 혁신) 실제 공장을 만들어 제품 생산을 테스트하는데에는 막대한 시간과 비용 소모 데이터에 기반한 가상의 공장에서 모의 실험을 진행하여, 제품 개발, 제품 개선, 유지 보수 등 진행 1.1.3. 데이터 기반 의사결정 최적화(운영 혁신) 스마트..
[NIPA AI 교육/응용] 08. 자연어 처리를 위한 데이터 전처리 1. 오류 교정(Noise Canceling) 자연어 문장의 스펠링 체크 및 띄어쓰기 오류 교정 2. 토큰화(Tokenizing) 문장을 토큰(Token)으로 나눔(수치 변환) 토큰은 어절, 단어 등으로 목적에 따라 다르게 정의 3. 불용어 제거(StopWord Removal) 불필요한 단어를 의미하는 불용어(StopWord) 제거 ex. 아, 휴, 아이고, 아이쿠, 쉿, 그렇지 않으면, 그러나, 그런데, 하지만... 4. Bag of Words 자연어 데이터에 속해있는 단어들의 가방 5. 토큰 시퀀스 Bag of Words에서 단어에 해당되는 인덱스로 변환 모든 문장의 길이를 맞추기 위해 기준보다 짧은 문장에는 패딩을 수행 X_train, y_train, X_test, y_test = data_proc..
[NIPA AI 교육/응용] 07. 다양한 신경망 1. 이미지 처리를 위한 데이터 전처리 컴퓨터에게 이미지는 각 픽셀 값을 가진 숫자 배열로 인식 모두 같은 크기를 갖는 이미지로 통일하는 것이 이미지 처리를 위한 데이터 전처리의 핵심 가로, 세로의 픽셀 사이즈를 표현하는 해상도를 통일 색을 표현하는 방식 통일(RGB, HSV, Gray-scale, Binary...) 차원 추가 함수 / axis = -1 이면, 어떤 데이터가 data가 들어오든 마지막 축의 index 의미 tf.expand_dims(data, axis)​ 2. 이미지 처리를 위한 딥러닝 모델 2.1. 기존 다층 퍼셉트론 기반 신경망의 이미지 처리 방식 극도로 많은 수의 파라미터 필요 이미지에 변화가 있는 경우, 분류 성능이 많이 떨어질 수 있음 2.2. 합성곱 신경망(CNN; Convo..
[NIPA AI 교육/응용] 06. 텐서플로우와 신경망 1. 텐서플로우란 유연하고, 효율적이며, 확장성 있는 딥러닝 프레임워크 대형 클러스터 컴퓨터부터 스마트폰까지 다양한 디바이스에서 동작 가능 2. 데이터 전처리하기 Tensorflow 딥러닝 모델은 Tensor 형태(다차원 배열;tf에서 사용하는 객체)의 데이터를 입력 받음 데이터 -> Tensor 형태의 데이터로 변환 -> Tensorflow 딥러닝 모델로 변환 # pandas를 사용하여 데이터 불러오기 df = pd.read_csv('data.csv') feature = pd.drop(columns=['label']) label = df['label'] # tensor 형태로 데이터 변환 dataset = tf.data.Dataset.from_tensor_slices((feature.calues, la..
[NIPA AI 교육/응용] 05. 퍼셉트론 1. 인공지능, 머신러닝, 딥러닝의 관계 2. 딥러닝이란 머신러닝의 여러 방법론 중 하나 인공신경망에 기반하여 컴퓨터에게 사람의 사고방식을 가르치는 방법 3. 인공신경망이란 생물학의 신경망에서 영감을 얻은 학습 알고리즘 사람의 신경 시스템을 모방함 3.1. 사람의 신경 시스템(Nueron System)이란 두뇌의 가장 작은 정보처리 단위 세포체(cell body)는 간단한 연산 수상돌기(dendrite) 신호는 신호 수신 축삭(axon)은 결과를 전송 사람은 \(10^{11}\)개 정도의 뉴런을 가짐 3.2. 현대의 다양한 딥러닝 기술 적용 사례 얼굴 인식 카메라 기계 번역 모델 알파고 제로 4. 퍼셉트론(Perceptron) $$ y = activation(w_0+w_1x_1+w_2x_2 ) $$ \(..
[NIPA AI 교육/응용] 04. 지도학습 1. 분류란? 주어진 입력 값이 어떤 클래스에 속할지에 대한 결과값을 도출하는 알고리즘 다양한 분류 알고리즘이 존재 예측 목표와 데이터 유형에 따라 적용됨 분류 문제에는 다양한 머신러닝 모델을 사용하여 해결(트리구조, 확률모델, 결정 경계 등) 2. 의사결정나무(Decision Tree) 스무고개와 같이 특정 질문들을 통해 정답을 찾아가는 모델 결과가 직관적이며, 해석하기 용이 학습이 끝난 트리의 작업 속도가 매우 빠름 최상단의 뿌리마디(Root Node)에서 마지막 끝 마디(Terminal Node)까지 아래 방향으로 진행 중간 마디(Internal node)를 통해 분리 기준을 더 추가할 수 있음 분리 기준은 데이터의 불순도(impurity)를 최소화하는 구역으로 나눔 불순도란, 다른 데이터가 섞여 ..
[NIPA AI 교육/응용] 03. 회귀 분석 알고리즘 1. 회귀 분석이란? - 데이터를 가장 잘 설명하는 모델을 찾아 입력값에 따른 미래 결과값을 예측하는 알고리즘 $$ Y \approx \beta_0 + \beta_1 X $$ - 위 수식에서 적절한 \( \beta_0, \beta_1 \) 값을 찾는 것이 이 알고리즘의 핵심 - 완벽한 예측은 불가능하기에 최대한 잘 근사해야함 2. 단순 선형 회귀 - 데이터를 설명하는 모델을 직선 형태로 가정한 것 - 가장 기초적이나 여전히 많이 사용되는 알고리즘 $$ Y \approx \beta_0 + \beta_1 X $$ - 직선을 구성하는 \( \beta_0 \)(=y절편)과 \( \beta_1 \)(=기울기)을 구하는 것 - 입력값이 1개인 경우에만 적용이 가능함 - 입력값과 결과값의 관계를 알아보는 데 용이함 ..