728x90
반응형
SMALL

IT 132

컴퓨터 공학과 머신러닝

컴퓨터 공학과 머신러닝 관계 머신러닝 개발자가 만든 프로그램을 활용하여 데이터부터 시작하여 패턴 또는 모델을 학습하고 알고리즘을 활용하여 데이터에 대해 특정 작업을 수행하는 과정 컴퓨터 공학에서의 데이터 마이닝이라는 개념을 더 나아간 복잡한 개념 빅데이터가 활용되기 시작하면서 머신러닝의 개념 또한 기업에서 서비스되기 시작 데이터를 어떻게 처리하여 새롭게 만들것인가에 초점 데이터 마이닝 데이터를 활용하여 사람에게 인사이트 또는 지식을 제공하는데 초점 빅데이터 데이터의 양이 많거나 분류해야 될 종류가 다양한 데이터 세부적으로는 메타 데이터끼리의 연관성, 데이터의 7V와 같은 특성을 고려해보면 분석하기 좋은 빅데이터로 분류 7V: Volume(양이 큰), Variety(종류 다양), Velocity(속도 빠름..

IT 2022.06.15

파이썬 프로그램 구성

파이썬 모듈은 확장자가 .py 인 Python 파일 다른 파이썬 파일에서 참조할 수 있는 요소인 변수 또는 함수 포함 가능 다른 파일 .py 를 생성하고 import 를 통해 .py 를 가져오기 소스코드 내부의 변수 이름은 점(.) 표기법 사용하여 참조 가능 참조된 소스코드 내부의 함수 참조도 가능 파이썬 패키지는 파이썬 파일 또는 모듈의 모음일 뿐 파이썬 모듈을 중첩하기 위한 폴더를 사용하여 패키지 내부에 계층 구조의 모든 수준을 가질 수 있음 라이브러리 표준 라이브러리 파이썬에서 기본으로 제공하는 라이브러리 파이썬 설치 시 기본으로 설치 ex. 파이썬 패키지 모음 기본 라이브러리 사용자에 의해 직접 만들어진 개발한 패키지와 모듈의 집합 프레임워크 파이썬 라이브러리의 모음 django - 웹 앱을 빌드..

IT 2022.06.13

람다(lambda)

람다 활용 목적 함수를 단순하게 표현할 수 있도록 '함수의 계산' 이라는 개념을 더 깊이 이해 인라인으로 작성할 수 있기 때문에 다른 함수에 비해 읽기 쉬움 함수 표현식의 규모가 작을 때 사용하는 것이 좋음 인라인이란 라인 안쪽에서 코드를 구현하는 것 인라인은 코딩 스타일을 나타내기도 하며, 한 줄로 코드를 작성하는 형태 # 인라인 코드 예시 b = 6 a = 10 if b == 2 else (2 if b>3 else 3) print(a) # 2 람다 장점 함수 객체를 반환 함수 객체를 인수로 필요로 하는 map 또는 filter 와 같은 함수와 함께 사용할 때 유용 # 함수 정의 def_word = (lambda word, define: word * define) # 함수 호출 result = def_..

IT 2022.06.12

파이썬 활용

정규표현식 정규표현식과 같이 프로그래밍에서 범용적으로 쓰이는 기술들은 프로그래밍 언어나 특정 기술에 종속되지 않고 쓰이기 때문에 익숙해져야 할 중요한 방법 중 하나 특정한 규칙을 가진 문자열의 집합을 표현하는데 사용하는 형식 언어 파이썬에서는 표준 라이브러리를 통헤 제공 정규표현식은 검색 엔진, 워드 프로세서와 문서 편집기의 찾아 바꾸기 대화상자, sed, AWK와 같은 문자 처리 유틸리티, 어휘 분석에 사용 # 정규표현식 라이브러리 import re wordlist = ['color', 'colour', 'work', 'working', 'fox'] for word in wordlist: if re.search('col.r', word): print(word) # color # case phone = ..

IT 2022.06.10

프로그래밍과 문제해결

현실에서 발생하는 복잡한 문제를 작은 문제로 분할하면서 해결 문제에 대한 패턴을 발견 문제를 최소한의 비용으로 최대한 빠르게 해결 파이썬, 알고리즘, 자료구조는 생산을 위한 도구 파이썬: 컴퓨터와의 소통언어(ex. 수학) 알고리즘: 효율적인 문제해결방법(ex. 사칙연산, 미적분) 자료구조: 프로그램의 구조와 크기(ex. 수학문제 난이도) 기본학습흐름 파이썬 코드를 다양한 형태로 활용 컬렉션 자료형(리스트, 튜플, 셋, 딕셔너리) 활용

IT 2022.06.09

가중치 초기화(Weight Initialization)

가중치 초기화(Wegith Initialization)는 초기 가중치 설정과 관련되어 신경망에서 매우 중요한 요소 가중치를 정규분포로 초기화하였을 때 문제 표준편차를 1인 정규분포표로 가중치를 초기화 할 때 각 층의 활성화 값 분포 표준편차가 일정한 정규분포로 가중치를 초기화 해 줄 때에는 대체로 활성화 값이 0, 1에 위치 활성값이 고르지 못할 경우 학습이 제대로 이루어지지 않음 Xavier 초기화 (Xavier initialization) 가중치를 표준편차가 고정값인 정규분포로 초기화 했을 때 문제점을 해결하기 위해 등장한 방법 이전 층의 노드가 n 개일 때, 현재 층의 가중치를 표준편차가 인 정규분포로 초기화 (이전 층의 노드가 n개이고 현재 층의 노드가 m 개일 때, 현재 층의 가중치를 표준편차가..

IT 2022.06.08

학습률(Learning rate) & 학습률 감소/계획법(Learning rate Decay / Scheduling)

model.compile(optimizer = tf.keras.optimizers.Adam(learning_rate = lr_decayed_fn) , loss = 'sparse_categorical_crossentropy' , metrics = ['accuracy'] 신경망 학습이 더 잘되도록 하는 방법 학습률(Learning rate, lr) 매 가중치에 대해 구해진 기울기 값을 얼마나 경사 하강법에 적용할지를 결정하는 하이퍼파라미터 해당 지점에서의 기울기를 구하여 기울기가 감소하는 방향으로 이동 학습률은 얼마나 이동할지를 조정하는 하이퍼파라미터 경사 하강법이 산길을 내려가는 과정이라면 학습률은 보폭을 결정 학습률이 크면 보폭이 크니 Iteration 마다 성큼성큼 이동하고, 작으면 보폭이 작아 조금씩..

IT 2022.06.07

편미분 & Chain Rule

편미분(Partial Derivatives) 손실 함수를 통해 해당 가중치에서의 손실을 구했다면 이를 바탕으로 손실을 줄이는 방향으로 가중치 업데이트 경사하강법을 사용하기 때문에 각 가중치에 대한 기울기 값을 구해주어야 함 이 과정에서 편미분 사용 편미분이란 파라미터가 2개 이상인 함수에서 특정 파라미터에 대한 기울기를 구하는 방법 편미분 과정에서 우리가 집중하고자 하는 특정 파라미터 이외의 모든 파라미터는 상수로 취급 계산 방법 함수 f(x, y)를 x에 대해서 편미분한 도함수는 아래와 같은 과정을 거쳐 구할 수 있음 y는 상수처럼 취급 두 개의 파라미터 x, y로 이루어진 식에서 하나의 파라미터에 대해 미분한 함수를 구하고자 할 때는 편미분을 사용 Chain Rule(연쇄 법칙) 합성 함수를 미분을 ..

IT 2022.06.06
728x90
반응형
LIST