빅데이터와 인공지능

이승주·2024년 7월 31일

Computer Science

목록 보기
1/3
post-thumbnail

빅데이터

  • 데이터 종류
    • 정형 데이터
      • 정량적이고 수치로 확인할 수 있거나 구조를 가지고 있는 데이터
      • 예시: 시간, 시계열 데이터, 금융 데이터, ID/PW, 온도, 카드번호, 수강생 기록 등등
    • 비정형 데이터
      • 수치적으로 확인할 수 없거나 구조를 띄지 않는 데이터
      • 예시: 그림, 소리, 영상 등등
    • 반정형 데이터
      • 정형데이터와 비정형데이터의 성격을 두개 다 가지는 데이터
        • 예시
          • DICOM 파일(의료용 디지털 영상 및 통신 표준) 그림과 환자 정보가 함께 있음
          • JSON(python에서 튜플형식의 키와 값으로 데이터를 저장함)
          • XML(태그를 통해 데이터 요소를 저장함)
          • 스마트폰에서 위치 값을 함께 저장하는 사진
  • 데이터 전처리
    • 데이터를 AI에게 학습시키기 전이나 분석하기 전에 적합한 형태로 가공하는 작업
    • 데이터 전처리를 하는 이유
      • 데이터를 이용한 결과물에 대한 품질을 향상시키기 위해 꼭 필요한 작업입니다.
    • 데이터 전처리 종류
      • 데이터 정제: 필요한 데이터만 남도록 필터링 하는 과정
        • 데이터 통합: 일관된 데이터로 만드는 과정입니다
        • 데이터 변화: 크기가 벗어났거나 인코딩이 맞지 않는 데이터를 옳바르게 바꿔줍니다
        • 데이터 분할: 전체 데이터를 훈련 데이터 셋과 시험 데이터 셋으로 분할합니다
  • 빅데이터
    • 빅데이터는 단순히 많은 양의 데이터를 의미하는것이 아니고 3가지의 필수적인 특성을 가진다.
      • 규모: 굉장히 방대한 양의 유의미한 데이터
      • 속도: 데이터의 생성 및 처리 속도가 매우 빠릅니다.
      • 다양성: 데이터의 종류 뿐만 아니라 형식이 다양합니다.
    • 데이터 수집 계획
      • 데이터 식별 및 선택 → 데이터 수집/저장 방법 결정 → 데이터 수집 → 데이터 저장 → 데이터 정제 → 데이터 구조화 → 데이터 전처리 → 빅데이터 구성
    • 빅데이터를 활용하기 위한 기술 및 도구
      • 데이터 저장: Hadoop, HDFS, Amazon S3
      • 데이터 처리: Apache Spark, Apache Flink, Apache Storm
      • 데이터 분석: R, Python (pandas, NumPy, SciPy), SAS, SPSS
      • 데이터 시각화: Tableau, Power BI, D3.js
      • 데이터베이스: NoSQL 데이터베이스 (MongoDB, Cassandra, HBase), NewSQL 데이터베이스 (Google Spanner, CockroachDB)
  • 꼭 알아야하는 개념!
    • 메타데이터
      다른 정보에 대한 정보를 의미합니다. 보통 어떤 정보의 근원에 대한 정보를 담고 있습니다.
    • 회귀분석: 두 개 이상의 변수 간의 관계를 분석하는 방법
      - 단순 회귀 분석: 하나의 독립 변수와 하나의 종속 변수 간의 관계를 분석합니다
      - 다중 회귀 분석: 두 개 이상의 독립 변수와 하나의 종속 변수 간의 관계를 분석합니다
      - 다항 회귀 분석: 독립 변수와 종속 변수 간의 비선형 관계를 분석합니다
      - 로지스틱 회귀 분석: 종속 변수가 이진형(두 가지 범주)일 때 사용하는 회귀 분석 방법입니다.
    • 군집분석: 데이터를 유사한 특성을 가진 군집으로 나누기 위한 분석 방법입니다.
    • IoT(Internet of Things): 인터넷을 통해 다양한 물리적 장치들이 서로 연결되어 데이터를 주고받으며 상호작용하는 시스템을 의미
      • 최근에는 다양한 가전제품들에도 사물인터넷을 적용하여 사용자의 행동 패턴을 분석하고 니즈를 확보하는 일에도 사용
    • 로드밸런싱: 부하가 집중되는것을 방지하기 위해 여러 서버에 네트워크 트래픽을 분산시키는 기술
    • 데이터 레이크: 원시 데이터를 그대로 저장하는 시스템 ex) hadoop
    • 데이터 거버넌스: 데이터의 신뢰성, 사용성, 보안성을 보장하기 위해 관리하는 모든 작업
    • 데이터 웨어하우스: 대량의 데이터를 통합, 저장하여 분석하는 시스템

인공지능

  • Deep learning(딥러닝, 줄여서 DL이라고 합니다)
    • 인공지능을 학습시키거나 문제를 해결하기 위한 핵심 알고리즘을 의미합니다.
      • Neuron(뉴런): 신경망의 기본 단위로 입력을 받아 가중치를 적용하고 활성화 함수를 통해 출력을 생성
      • Layer(층): 뉴런들이 모여있는 층으로 보통 입력층(Input Layer), 은닉층(Hidden Layer), 출력층(Output Layer)으로 구성됩니다.
      • Weight(가중치): 뉴런에서 다음 뉴런으로 넘길 때 중요도(가중치)를 적용하기 위한 매개변수입니다.
        • 이 가중치가 왜 중요하냐면 가중치에 따라 결과가 달라짐. 옳바른 학습을 많이 시킬수록 더 정교한 가중치가 만들어진다.
      • Model(모델): 보통 인공지능 분야에서 모델이라고 하면 어떤 AI나 신경망 등 대상체를 의미해요.
        단어 사용 예시: 수강생 딥러닝 모델, 수강생 숙제 시키는 인공지능 모델
      • ANN(Artificial Neural Network, 인공신경망): 여러 뉴런으로 이루어진 인공 신경망을 의미합니다.
      • DNN(Deep Neural Network, 심층신경망): 기존의 ANN의 단점을 해결하기 위해 은닉층을 통해 더 깊은 신경망 구조를 갖는 신경망
      • CNN(Convolution Neural Network**, 합성곱신경망): 특징을 추출하고 패턴을 파악하는데 우수한 신경망
      • RNN(Recurrent Neural Network, 순회신경망): 시간적인 특성을 함께 학습하고 적용하기 위한 신경망
      • 다층 퍼셉트론 (Multilayer Perceptron, MLP): 층이 여러개가 이루어진 신경망을 의미해요.
      • 역전파 알고리즘 (Backpropagation): 신경망의 가중치를 업데이트하여 오차를 최소화하는 방법이예요.
      • 생성적 적대 신경망 (Generative Adversarial Networks, GAN): 새로운 데이터를 생성하기 위한 신경망이예요.
  • Machine learning(기계학습, 줄여서 ML이라고 합니다.)
    • 인공지능을 학습 시키는 것을 의미합니다.
    • 꼭 알아야하는 개념!
      • 지도 학습
        입력 데이터와 정답을 함께 주며 학습시키는 방식
        응용분야: 이미지 분류, 스팸 이메일 탐지, 주식 가격 예측, 코인 가격 예측
      • 비지도 학습
        입력 데이터만 주어지고, 정답이 없는 상태에서 데이터의 패턴이나 구조를 찾는 방식
        응용분야: 구매 패턴에 따른 고객 세분화, 이상 탐지, 차원 축소
      • 강화 학습
        시행착오를 통해 보상을 최대화하기 위해 학습하는 방식
        - 응용분야
            게임 AI, 로봇 제어, 자율 주행 차량
            
      • 반지도 학습
        일부 데이터에 대해서는 분류와 정답이 있지만 나머지 일부는 없는 상태로 학습.
        응용분야: 데이터 라벨링 (대학원생이 하던 고생을 대신 시킬 수 있어요!)
  • Artificial Intelligence(인공지능, 줄여서 AI라고 합니다.)
    • 딥러닝 알고리즘을 통해 머신러닝이된 프로그램을 인공지능이라합니다.
    • 꼭 알아야하는 개념!
      • 약인공지능 (Narrow AI or Weak AI)
        특정 작업이나 문제를 해결하는 데 특화된 AI. 일반 지능이 아닌 특정 분야에서만 능력을 발휘하는 인공지능 모델을 의미해요.
        (그렇다고 성능이 안좋은 것은 아니예요! 특정 작업은 빠르게 수행도 가능하고
        학습도 용이한편입니다!)
      • 강인공지능 (General AI or Strong AI)
        인간과 유사한 수준의 지능을 가지고 다양한 작업을 수행할 수 있는 인공지능 모델을 의미해요.
      • 대형 언어 모델 (Large Language Model, LLM)
        많은 양의 텍스트 데이터를 학습하여 언어 이해와 생성 능력을 갖춘 인공지능 모델
        - 어떤 것들이 있을까요?
        - ChatGPT(GPT-3, GPT-4)
        - BERT
        - T5
        - Turing-NLG
        - LLaMA
        - 위 예시 말고도 굉장히 많이 있어요!
  • 더 깊게 깊게!
    • 초인공지능 (Superintelligent AI)
      인간의 지능을 초월하는 AI. 상상 속의 개념으로, 아직은 이론적인 단계에 있어요.
      (’터미네이터’라는 영화에 나오는 ‘스카이넷’같은 인공지능이 여기에 속해요.)
profile
개발자 공부

0개의 댓글