전공수업

AI/DeepLearning

[DL] RNN

CNN은 이미지에 대해 적용되었다. 그렇다면 이미지가 아닌 단어, 문장 같은 건 어떻게 해야지?   1. RNN RNN은 시간적으로 연속성이 있는 데이터를 처리하려고 고안한 것이다! 이때 기억이라는 것을 이용한다. 기억이란 현재까지 입력 데이터를 요약한 정보를 말한다. 따라서 새로운 입력이 네트워크로 들어올 때마다 기억을 조금씩 수정한다. 최종적으로 남겨진 기억은 모든 입력 전체를 요약한 정보이다. => 사람과 굉장히 유사하지 않은가? 사람도 새로운 정보를 알게되면 이전에 알고 있던 것에서 이를 추가하지 않는가!  위의 그림에 대해서 짧게 설명하겠다.● 첫번째 입력(x1)이 들어오면 첫번째 기억(h1)이 만들어진다. ● 두번째 입력(x2)이 들어오면 기존 기억(h1)과 새로운 기억을 참고하여 새 기억(h..

AI/MachineLearning

[ML] Bayesian Classifier

이 수업은 충남대학교 양희철 교수님의 수업을 듣고 작성한 글입니다.  Classifier란 무엇일까?● 이산적인 값을 가진다(이거 아니면 저거)● 지도 학습의 하나이다=> 크게 어려운 내용은 없다. 본격적으로 들어가보자.  1. 베이지안 분류기 베이지안 분류기를 자세히 알아보려면 조건부 확률에 대해서 알 필요가 있다.  # Prior  각각의 클래스에 속할 확률이다. 즉 자연적으로 정해진 확률이다. 관찰을 통해 얻은게 아니기 때문에 not observed라고도 한다. 한 마디로 관측한 훈련 데이터와 independent 하다는 것이다!  아래의 예시를 한번 보자. # Likelihood likelihood(우도)는 observed data의 각 클래스 별로 특정 feature에 대한 분포라고 한다. li..

CS/Software Engineering

[SE] 유스케이스 모델링

이 글은 충남대학교 김현수 교수님의 수업을 기반으로 작성한 내용입니다. 1. 유스케이스● 유스케이스    - “유스케이스(use case)는 시스템이 액터(actor)에게 관찰 가능한 가치의 결과를 생 산하기 위해 수행하는 일련의 행동 및 그 변형들의 집합”     - “유스케이스는 완전한 기능을 명세함” ≫ 기능은 시스템의 경계를 정의한다.     - 유스케이스는 프로세스를 묘사한다.     - 프로세스는 조직이나 액터에게 가치 있는 것을 생산하기 위해 필요한 사건(events), 행동(actions) 및 거래(transactions)의 연속.        ≫ 계좌에서 현금 인출        ≫ 제품 주문        ≫ 강좌 등록● 시나리오 vs 유스케이스    - 시나리오는 특정한 목표를 달성하기 ..

CS/Software Engineering

[SE] 요구사항 정의 및 개발

이 글은 충남대학교 김현수 교수님의 소프트웨어 공학 수업을 바탕으로 작성한 글입니다.# 요구사항 정의'어떻게' 보다는 '무엇을'에 관점을 두어야 함.  # 도메인 분석● 소프트웨어 엔지니어가 문제를 더 잘 이해하기 위하여 도메인에 대하여 알아가는 과정    - 도메인 : 소프트웨어를 사용할 것으로 예상되는 고객이 일하는 분야의 비즈니스나 기술    - 도메인 전문가 : 소프트웨어가 사용될 도메인 분야에 깊이 있는 지식을 가진 사람(사용자이자 고객)● 도메인 분석을 수행하는 이점    - 빠른 개발(빠른 요구사항 파악)    - 더 좋은 시스템 구축 가능(고객의 문제를 효과적으로 해결하는 솔루션 결정 가능)    - 확장 예견(트렌드를 예측하는 능력, 적응도 높은 시스템 구축) # EX. 항공 예약 시스템..

CS/Software Engineering

[SE] 프로젝트 관리

이 글은 충남대학교 김현수 교수님의 수업을 바탕으로 작성한 글입니다. 이번 시간에는 프로젝트를 어떻게 관리해야 할지에 대해 알아보자 1. 프로젝트 관리  정의 : 프로젝트를 계획하고 수행하는데 필요한 모든 작업을 관리하는 것- 필요한 작업의 결정- 인력 확보- 직무 정의- 일정 계획- 작업 준비- 비용 예측- 지시, 감독- 결정 검토 및 승인- 팀원 사기 진작- 다른 프로젝트 관리자와 협력- 프로세스 개선  프로젝트 관리 활동- 제안서 작성 => 프로젝트 계획 및 스케줄링 => 프로젝트 비용 계획 => 프로젝트 모니터링 및 검토 => 인력 선발 및 평가 => 보고서 작성 및 프레젠테이션 # 프로젝트 계획1. 프로젝트 계획 수립  - 시간이 많이 걸리는 프로젝트 관리 활동  - 초기 개념에서 시스템 제공에..

CS/Software Engineering

[SE] 소프트웨어 프로세스

이 글은 충남대학교 김현수 교수님의 소프트웨어 공학 수업을 듣고 작성한 글입니다. 이번 시간엔 소프트웨어 개발 프로세스와 이때 사용하는 모델에 대해 알아보자 1. 소프트웨어 개발 프로세스- 프로젝트를 소규모 작업으로 구성하는 일반적인 접근 방법- 관리자와 팀원들이 다음 사항을 결정하는데 도움(무엇을 어떤 순서로 할 것인가)- 모델은 작업 방식을 엄격하게 규정하기 보다는 생각하는데 도움을 주어야 함- 각 프로젝트는 고유의 계획을 가지고 진행되어야 함. 즉흥적으로 프로세스를 개발할 수도 있다. 그러면 어떤 문제가 발생할까? 1. 구현하기 전에 요구나 설계 등의 중요성을 인식하지 못함2. 설계가 잘 되지 않으면 소프트웨어의 질이 떨어질 수 있음3. 목표 없이 일하게 됨4. 테스트나 품질 보증 같은 작업의 필요..

CS/Software Engineering

[SE] 소프트웨어 공학의 개요

이 글은 충남대학교 김현수 교수님의 소프트웨어공학 수업을 듣고 작성한 글입니다.소프트웨어공학 시험을 앞두고 암기를 어떻게 할까 고민하다가 블로그에 쓰기로 했다. 아마 그래서 다른 글보단 좀 자유로울걸...? 1. 소프트웨어란?과목의 이름이 소프트웨어공학이다. 컴공 전공생이라면 자주 들어봤을 소프트웨어라는 단어의 의미는 무엇일까? - 소프트웨어란 프로그램과 프로그램의 개발, 운용, 보수에 필요한 관련 정보 일체를 말한다. - 엔지니어링(공학) 작업의 결과는 프로그램 이외의 정보도 중요하며 S/W가 복잡해지면서 설계가 중요해졌다.   # 소프트웨어의 특징소프트웨어는 6가지 특징을 가진다.1. 손에 잡히지 않는다.  - 소프트웨어의 구조를 파악하기 쉽지 않다.2. 대량 생산하기 쉽다.  - 비용의 대부분이 개..

AI/MachineLearning

[ML] About Machine Learning

이 글은 충남대학교 양희철 교수님의 수업 내용울 바탕으로 작성한 글입니다. 우리가 본격적으로 분류와 회귀에 대해 알아보기 전에 머신러닝이 무엇인지 간략하게 알아보도록 하자1. 머신러닝이란? 컴퓨터 프로그램이 경험을 통해 과업수행 능력이 상승될 때, 과업의 수행 능력이 경험에 의해 상승하는 것을 말한다. (E : experience, T : task, P : performance)   기존의 프로그래밍은 데이터를 프로그래밍해서 결과를 도출했다면 머신러닝은 데이터와 output을 통해 새로운 데이터에 대한 예측을 하는 것이다! 여기서 Input과 output의 관계는 직접 정해주는 것이 아니라, 데이터를 통해서 학습한다. 즉 특정 모사를 하여 관계를 정의한다. 아까 정의를 설명할 때 task, experie..

AI/DeepLearning

[DL] 딥러닝을 위한 준비

딥러닝에 대해 본격적으로 알아보기 전에 머신러닝 내용에서 딥러닝에도 필요한 기본적인 내용들에 대해 다시 한번 짚고 넘어가도록 하자. # 퍼셉트론 신경세포뉴런과 비슷하게 입력 받은 데이터를 이용하여 선형 방정식을 통해 값을 계산하고, 계단 함수를 이용해 그 값이 임계치 이상이면 참, 미만이라면 거짓을 반환하는 것을 '퍼셉트론' 이라고 한다!$ 진행 과정1. 입력 신호가 들어오면 가중치(w)를 곱하여 가중합(z)를 계산한다.2.  z값이 양수라면 참, 아니라면 거짓을 반환한다.3. 계단함수를 통과한 값을 토대로 역전파 알고리즘을 이용하여 가중치와 bias를 업데이트한다.  아래의 사진은 3번 과정에 해당한다. 퍼셉트론은 가중치의 업데이트가 계단함수 통과 후에 일어난다. 계단함수를 통과한 값은 1 or -1이..

Cho대뿟다
'전공수업' 태그의 글 목록