전체 글 140

[기계학습] 기말고사 정리 8장

8장. 고급 인공신경망 구현 심층신경망은 사라지는 기울기(Vanishing Gradient)라는 한계에 부딪혔다. 층을 여러 개 쌓으면 복잡한 기능을 하는 모델을 구현할 수 있지만, 연결강도의 변화량이 0에 가까워져 연결강도가 조정되지 않는 문제가 발생했다. 해결 방법으로는 1. 활성화 함수를 바꾸기 2. 적절한 가중치 초기화 활성화 함수 1. sigmoid(시그모이드) 시그모이드의 미분값은 0일 때 max값으로 1/4를 갖는다. 오차역전파 알고리즘을 이용했을 때, 층의 개수가 많아지면 (1/4) * (1/4) * ... * (1/4) 가 계속 곱해지는데, 이는 점점 0에 가까워진다. 따라서 시그모이드 함수는 vanishing gradient라는 한계를 가지고 있다. 2. tanh(하이퍼볼릭 탄젠트) 하..

공부/기계학습 2022.12.09

[CNU SW Academy] 6일차(22.12.08.)

프로그래머스 - 프론트엔드 미니 데브코스 스택(Stack) LIFO(Last In First Out), 바닥이 막힌 상자 push, pop, top 1. Array로 표현하기 2. LinkedList로 표현하기 JS에서 사용법 배열 - push, pop명령어 원래 지원 LinkedList - head를 top으로 지정 올바른 괄호 문제 function solution(s) { const stack = []; for (const c of s) { if (c === '(') { stack.push(c); } else { if (stack.length === 0) { return false; } stack.pop(); } } return stack.length === 0; } 큐(Queue) FIFO(Firs..

SW Academy 2022.12.08

[CNU SW Academy] 5일차(22.12.07.)

프로그래머스 - 프론트엔드 미니 데브코스 DOM(Document Object Model, 문서 객체 모델) tree 구조로 이루어짐 - 문서 노드 : document - 요소 노드 : HTML 태그 자 - 속성노드 : 태그에 정의되어 있는 속성 - 텍스트 노드 : 요소의 텍스트, 자식을 가질 수 없는 단말노드 DOM TREE 순회는 PreOrder로 이루어짐 DOM TREE의 렌더링 브라우저가 HTML을읽고 파싱하여 DOM TREE 구성 -> Stylesheet를 파싱하여 Style Rules 구성 -> Attachment : DOM TREE에 STYLE RULES를 적용하는과정 -> Render Tree 구성 -> display DOM 선택 - getElementById - getElementsByCl..

SW Academy 2022.12.07

[CNU SW Academy] 4일차(22.12.06.)

객체지향 프로그래밍 특강 - 이성호교수님 프로그램은 일종의 명령서 사람이 명령서를 작성하는 과정이 프로그래밍이다. 사람은 자연어를 사용, 컴퓨터는 기계어를 사용 -> 사람이 컴퓨터의 언어로 명령한다. 번역 고수준 언어로 작성된 프로그램이 기계어 프로그램으로 번역 기계어로 번역된 프로그램을 목적코드라고 한다. 컴파일러 : 프로그램을 번역하는 프로그램 인터프리터 : 해석을 수행하는 주체, 프로그램을 컴퓨터 대신 해석하는 프로그램 프로그래밍은 구문구조와 의미로 구성 명령형 언어 : 프로그램의 상태를 변화시키는 서술을 순차적으로 수행하여 명령을 수행 절차지형 언어 : 서술의 연속으로 구성되는 절차를 정의하고 이를 통해 명령을 수행 함수형 언어 : 입력과 출력의 매핑인 함수의 조합과 적용으로 프로그램을 구성 객체..

SW Academy 2022.12.06

[CNU SW Academy] 3일차(22.12.05.)

하석재 강사님 SW아카데미 특강 #5 (POJO와 DI #2) 객체지향전체 코드가 클래스 하나인 경우? -> 객체지향 맞음디자인패턴(best practice, 최선책) - MVC(Model-View-Controller) - 모바일/PC 동시 대응, VIEW만 바꾸면 됨 - MVVM(Model-View-ViewModel) - DI(Dependency Injection) 패턴 - 전략패턴(Strategy) - 인터페이스 기반 패턴 POJO(Plain Old Java Object)자바 객체지향의 특징 및 정신을 요약궁극적인 객체지향특정 클래스를 상속받아야 함(X) - 자바는 단일상속이라 제약 발생Thread 생성 -> Thread 클래스 상속/Runnable 인터페이스 상스프링 삼각형 POJO = DI + A..

SW Academy 2022.12.05

[CNU SW Academy] 2일차(22.12.02.)

하석재 강사님 오프라인 특강 매주 금요일 3시 ~ 5시 특강 진행 예정 프로그래머스 프로젝트는 개인(cloning project, 기능구현 추가해보기) 채용연계 - 회사에서 준 주제를 진행하고, 멘토링도 하고 채용까지 연계되는 형태 SPA(Single Page Application) 웹은 클릭할 때 마다 다른 페이지가 나온다. 한 프로그램 내에서 화면이 전환되는 형태로 바꾸자. ex) React, Angular, Vue JavaScript의 객체지향 버전 : TypeScript 비동기가 무엇인가? MSA, Docker -> 요즘 트렌드 컴포넌트와 MSA 객체지향의 상속은 소스레벨 재사용성(소스가 있어야만 가능한 한계) 컴포넌트 property를 통한 호출 및 제어 가능 MS IDL(MIDL) 자바는 .c..

SW Academy 2022.12.02

[CNU SW Academy] 1일차(22.12.01.)

하석재 강사님 컴퓨터 전공자가 알아야 하는 언어 Big3 - 자바 : 백엔드, 프론트엔드(안드로이드) - 자바스크립트 : 프론트엔드, 백엔드(Node.js) - 파이썬 : 딥러닝, 데이터사이언스, 자동화 클라우드 서버, 모바일마저도 전부 클라우드로 가고 있다. - 리눅스 - TCP/IP - 도커/쿠버네티스 기본적으로는 영역 구분 없이 다 해라. 하나만 해서 먹고 살 수는 있다. 다만 아주 잘 해야 한다. 대부분의 경우는 다양한 기술을 적용하며, 기술 사이클은 빠르고 경쟁이 심하다. 트렌드의 이해는 필수이다. 객체지향 JAVA와 C++의 가장 큰 차이 - 단일상속이냐 다중상속이냐 객체지향이 어떤 식으로 발전했는지 알아야 한다. -> Spring Front-End, Back-End 백엔드 -> Present..

SW Academy 2022.12.01

[파이썬] 코딩테스트 준비 (수정중)

default 제곱근 : n ** (1/2) 정수 판별 : n % 1 == 0 => 정수 int(num, n진법) => n진법 num을 10진법으로 변환 range(start, stop, step) - 범위 내 숫자 생성 ex) range(0, 10, 2) : 0, 2, 4, 6, 8 format(숫자, 'b'(or 'o' or 'x')) => 10진수를 2진수(8진수, 16진수)로 변환 format().zfill(n) => n자리 숫자로 format string.format() - string에 {}를 이용해 변수가 들어갈 자리를 만들어주고, () 안에 대입할 값을 입력 문자열 관련 함수 s.replace("이전 문자열", "대체할 문자열") 문자열 소문자 - s.lower() 문자열 대문자 - s.u..

공부 2022.11.17

[컴파일러개론] 중간고사 정리 - Syntax Analysis-Top Down

Top-down으로 구문 분석하기 - 직관적, 좌측 유도 과정과 유사하다. - 시작 심벌의 첫번째 생성 규칙으로 유도하여 문자열 생성 - 유도 과정에서 생성된 문자열과 입력 문자열을 차례로 비교 - 다르면 backtracking Backtracking 생성규칙을 잘못 적용한 경우 원위치 시키고 다른 생성규칙을 적용하는 것 => overhead가 크다. 더이상 적용할 생성규칙이 없는 경우, 입력 문자열을 틀린 문장으로 인식 LL파싱 왼쪽에서 오른쪽으로 읽어가며(Left to right scanning) Left Parse 생성 => LL 파싱 결정적으로 파싱한다. - 입력 문자를 보고 적용될 생성 규칙을 결정적으로 선택하여 유도 - 각 입력 문자당 적용될 생성 규칙을 미리 뽑아 두고 시작 - 한 입력 문자..

공부 2022.10.18

[컴파일러개론] 중간고사 정리 - Syntax Analysis

Syntax Analysis 어휘분석 후 토큰들을 구문분석기(파서)를 이용해 파스 트리를 구성한다. Syntax Analysis와 관련된 질문들 1) 문법을 기술하는 방법 2) input token stream이 기술된 문법에 맞는지 판별하는 방법 1) 문법을 기술하는 방법 CFG(Context Free Grammar) 표현된 문법으로부터 자동적으로 인식기를 구현할 수 있다. G = (N, T, P, S) N : non-terminal 심벌 집합 (중간과정 심벌) T : terminal 심벌 집합 P : 생성규칙 집합 S : 시작 심벌 L(G)는 이 문법으로 생성되는 언어 정규표현식은 Nested 구조의 구문을 표현하기에 power가 떨어진다. => 문법 기술에는 적합하지 않음 BNF(Backus-Nau..

공부 2022.10.18