분류 전체보기 23

[딥러닝]인공지능 모델의 레이어

# 01. input layer의 역할   - NN(신경망)의 input layer는 후속 인공 뉴런 계층에서 추가 처리를 위해 초기 데이터를 받아들이는 layer이다. # 02. Embedding layer의 역할   - keras에서 사용 가능한 레이어로, 주로 언어 모델링같은 **자연어** 처리 관련 응용프로그램에서 사용(무조건은 아님).     - Test Data를 다룰땐, 학습 이전 input layer에 입력시 숫자로 변환해줘야한다. 이를 위해 사용한다.     - 임베딩을 사용하면 각 단어를 **정의된 크기의 고정길이 벡터**로 변환가능하다.   - 신경망을 포함한 다른 작업에서도 사용가능하다. # 03. Dence layer의 역할   - 시계열 데이터 및 텍스트처리의 LSTM, 이미지처..

AI/공부 2024.08.01

[python]인공지능 데이터의 이상치/추출/시각화

IQR 을 이용해 통계학적 이상치를 알아보는 코드 ## 이상치   - 이상치 = 극단치 + 특이치   - 극단치는 제거하는 것이 모형에 좋다        >> 통계적 자료 분석의 결과 왜곡 > 보정 또는 삭제   - 특이치는 그대로 사용하는 것이 모형에 좋다 >> 중상적인 수집과정에 의한 이상치(이전까지 보지 못한 패턴이나 데이터)     ## 이상치(outlier) 탐지 관련 참조 사이트 https://kr.machbase.com/deep-anomaly-detection-in-time-series-2-anomaly-detection-models/기존 이상치 탐지 방법의 주요 종류 - 3-sigma : 정규 분포에서 3표준편차의 범위 외의 데이터를 이상 데이터 취급 - boxplot : 사분위수(Quar..

python 2024.08.01

인공지능 데이터 전처리방법

# Q01. 데이터 스케일링 - 데이터 스케일링을 하는 이유와 역할 - 스케일링의 종류와 종류별 특징 - 정규화, 표준화, 스케일링 각각의 정의 설명 # 1-1. data scaling : 데이터 전처리과정 중 하나 - (이유) 머신러닝은 피처(관찰 대상에게서 발견된 개별적이고 측정가능한 경험적속성) 마다 데이터값의 범위가 모두 다르기때문에 차이가 크다면, 모델을 학습할 때, 0으로 수렴하거나 발산할 수 있다. -(역할) 모든 피처들의 데이터 분포나 범위를 동일하게 조정할 수 있음.    1. StandardScaler()    - 모든 피처들의 평균 = 0, 분산 = 1 인 정규분포를 갖도록 한다.    - 데이터 내에 이상치가 있다면 데이터의 평균과 분산에 크게 영향을 주기  때문에 스케일링 방법으로..

AI/공부 2024.08.01

인공지능 데이터분석 방법

# 01. Pandas(판다스)의 장점1. 기존 라이브러리와 다르게 판다스는 적은양의 코드로도 데이터를 간소화 시켜 표현가능하다. - 간소화 된 데이터 덕분에 과학적 데이터 분석에 용이하다.2. 대용량의 데이터를 빠르게 가지고오고 사용자의 조건에 맞게 데이터를 필터링할 수 있다.#  02. Matplotlib의 특징 5가지1. python 을 이용한 시각화 라이브러리 - 시각화 자료는 텍스트 자료에 비해 이해하기 쉽다는 장점이 있어 복잡한 데이터를 이해하는데 있어 보다 쉽게 접근할 수 있다.2. 정교하게 그래프의 크기를 조절하거나 각 축의 값을 조절할때 사용한다3. matplotlib과 pyplot의 관계는 원래 matplotlib은 매트랩의 오픈소스에 이용했지만, 사용하기 어렵다는 단점이 있어 pyth..

AI/공부 2024.08.01

[머신러닝]2.치매예측 인공지능(전체코드 맛보기)

- 전자공학과 인공지능을 복수전공을 했기 때문에 신호처리를 주로 다뤘습니다.(단, 정보보호법에 의거하여 데이터를 유추할 수 있을만한 모든 내용은 첨부불가하여 EDA부분은 그래프까지만 설명가능) 1. 데이터의 이상치 추출- 데이터의 이상치를 추출했더니 이상치가 너무 많았음- 레이블링 정보를 기준으로 이상치를 확인했더니 정상군에서 대부분 이상치가 존재했고, 경도인지장애에는 약간의 이상치값, 알츠하이머에는 이상치가 존재하지 않았음-> 신호에서 이상치값이 있어야 정상군에 속하고 이상치가 없을수록 알츠하이머일것이라 판단. 2. 분석과 처리방법은 3번부터 진행하겠습니다.- 해당 페이지의 코드는 신호처리와 예측에 관한 베이스라인입니다.from scipy.signal import butter,filtfiltimport..

AI/광인사플젝 2024.08.01

[머신러닝]1.치매예측 인공지능

window10, jupyter notebook, Google Colabpython==3.8.10 CUDA==11.3 cuDNN==8.2 pytorch==1.12.1 chardet==5.0.1 Flask==2.0.1 werkzeug==2.0.1 markupsafe==2.0.1 Anaconda 환경에서 python 3.8.10 가상환경 생성 후conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.3 -c pytorch 로 설치 보안사항으로 제공불가 치매환자 예측을 위한 인공지능 개발 -기존 알츠하이머 검사방법1. 신체검사 : 일정 기간동안 환자 인지기능 질환을 관찰.2. 신경심리검사 : 문진표등을 활용하여 뇌 ..

AI/광인사플젝 2024.08.01

인공지능 모델 학습 시 설정해주는 파라미터 - 배치 사이즈, 학습률

인공지능이 뜨기 전부터 공부하다가 어느순간 인공지능이 뜨기 시작하더니 이젠 학교에 여러 지원이 들어와서 편히 공부 할수 있고 좋네요. 처음 인공지능 교육을 위해 여러 프로그램에 참여하고 여러 학생들과 같이 만들어보고 평가도 해보고 이런저런 시간을 가졌습니다. 여러 조가 발표하는 내용중에 이런 말이 있었습니다. (다들 완전 초보였어서 파라미터의 기능을 잘 모를때였습니다.) '저희 조는 GPU 성능이 좋지 못해 기존 배치 사이즈를 수정서 학습한 결과를 보여드리겠습니다.' 이 말을 들었던 교수님은 배치 사이즈와 모델 성능의 상관관계는 어떤가? 라는 질문에 대부분의 답변은 이랬습니다.'배치 사이즈는 파일을 가져오는 단위로 GPU 성능때문에 조절했습니다.' 지금 생각해보면 반은 맞고 반은 틀린 말이죠. 물론 GP..

AI/공부 2023.08.03

6. (코드 공유)Brain Tumor 예측 인공지능 - Flask 웹, HTML, UNet, pytoch, Jupyter Notebook (최종)

드디어 끝났습니다. 다른 모델도 적용하려고 했지만 뻥정확도? 라고 해야하나.. 훈련 정확도만 높고(대부분 90프로 이상) 예측 모델로 불러와 활용하면 예측조차 못하거나 두개골을 Tumor 라고 판단해버리는 미친 성능을 보여줬습니다. 그래서 가장 흔히 쓰이는 UNet 모델을 이용해 모델 생성부터 예측까지 진행할 수 있는 코드를 공유하기로 했습니다. (캡스톤때 했던것도 올려야하는데 잠이 항상 부족하네요) - UNet 모델이란? 1. 의료 이미지 예측에 많이 사용되는 모델로 모델의 구조가 마치 U 자 형태를 가지고 있어 UNet 이라고 합니다. 2. 가장 중요한 점은 UNet 은 인코더와 디코더가 있는데 인코더는 이미지의 크기가 점차 줄어듭니다. 디코더는 다시 커지구요. 인코더에서 이미지의 특징을 뽑아내고 디..

5. Brain Tumor 예측 인공지능 - 웹 구현하기(1), Flask 웹 개발

웹을 구현하기 위해 필요한것이 있습니다. Java Scrip, CSS, HTML 을 알아야 한다는 점입니다. 저는 오직 python 에 몰빵했기 때문에 웹을 만들기엔 만만치 않았습니다. (GPT 야 고마워!) Flask 라이브러리를 이용해서 웹에 사용될 백엔드를 구축했습니다. from werkzeug.utils import secure_filename from flask import Flask, render_template, request, jsonify, render_template import torch import time import warnings warnings.filterwarnings("ignore") import import_ipynb import models_web import Trai..

4. Brain Tumor 예측 인공지능 - 이미지 예측하기

모델의 학습이 끝났으면 이제 이 모델을 이용해 예측해봐야겠죠. import torch import torch.nn as nn from PIL import Image from torchvision.transforms.functional import to_tensor, to_pil_image import cv2 import numpy as np import os import matplotlib.pyplot as plt from skimage.segmentation import mark_boundaries import import_ipynb import models_web class predictUnet: def __init__(self, model_path): self.device = torch.device..