일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 딥러닝학습
- 과적합방지
- 비트마스킹
- 데이터축소
- 프로그래머스광고삽입
- 프로그래머스 누적합
- MLE
- 인공지능 경진대회
- 프로그래머스 스타수열
- 프로그래머스 2차원동전뒤집기
- 딥러닝파라미터
- 인공신경망 학습
- 스타수열 파이썬
- 2차원동전뒤집기
- 프로그래머스 2차원동전뒤집기 파이썬
- 카카오 메뉴리뉴얼
- AI경량화
- 딥러닝 가중치 갱신
- 메뉴리뉴얼 파이썬
- 로지스틱 최대우도
- 프로그래머스
- 딥러닝
- 광고삽입 파이썬
- 머신러닝 학습 검증
- 스타수열
- 확률과우도
- k겹 교차검증
- 모델경량화
- 카카오 코테 메뉴리뉴얼
- 자율성장 인공지능
- Today
- Total
목록전체 글 (46)
머신러닝 개발자의 러닝머신

활성화 함수란? 활성화 함수는 전달 함수에서 전달받은 값을 출력할 때 일정 기준에 따라 출력값을 변화시키는 비선형 함수이다. 활성화 함수는 모델의 복잡도를 올리고 퍼셉트론의 비선형 문제를 해결하지 못하는 한계를 극복하기 위해 사용된다. 이를 통해 인공 신경망을 깊이 쌓으며 고성능에 도달할 수 있는 구조를 만들어준다. 그 이유는 만약 활성화 함수가 선형 함수 f(x) = ax 라고 한다면, 3층의 인공신경망의 출력은 f(f(f(x))) = cx 로 선형 출력만 가능할 뿐, 데이터의 비선형적인 관계를 표현할 수 없고 아무리 여러 층의 신경망을 쌓아도 결과적으로 한 층의 신경망 구조가 나타내는 출력과 다르지 않다. 따라서 비선형 함수인 활성화 함수 덕분에 인공 신경망을 깊게 쌓아 모델의 복잡도를 올려 더욱 어..

문제링크 https://school.programmers.co.kr/learn/courses/30/lessons/70130 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 방법 & 문제풀이 스타 수열은 앞에서부터 2개씩 나누었을 때 공통인 원소가 존재한다. 단, 2개씩 나눈 두 원소는 서로 다름 스타 수열의 길이가 최대가 되기 위해서는 빈도가 큰 원소부터 살펴보면서 스타 수열의 공통되는 원소라고 가정할 때 가능한 수열의 길이를 살펴본다. 이때, 해당 원소를 기준으로 사이에 존재하는 해당 원소가 아닌 원소의 갯수를 구하는 배열을 정의한다. 이를 이용해 ..

문제링크 https://school.programmers.co.kr/learn/courses/30/lessons/72411 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 유형 문자열, 딕셔너리 자료형 접근 방법 & 풀이 손님들의 주문 목록마다 세트메뉴 가능한 모든 조합 구하기 이때, course 의 세트메뉴 구성 단품 갯수에 따라 관리하기 course 세트의 메뉴 갯수에 따라 최대 주문 조합 리턴 코드 from itertools import combinations def solution(orders, course): answer = [] n = le..

문제링크 https://school.programmers.co.kr/learn/courses/30/lessons/72414 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 유형 구간합/누적합 투포인터 문제 접근 시, 분, 초 단위 통일 -> 초 단위로 통일한다 최대한 많은 시청자가 영상을 재생한 구간에 광고가 삽입되어야 함 -> 어떤 구간을 특정하기가 어려움 -> 모든 시간대 마다 시청자의 누적 재생 시간을 구해서 최대가 되는 구간을 찾는다. 누적합 알고리즘을 이용해 영상 재생 시간동안 각 시간별 시청자의 수를 구한다 -> 0(N)으로 시간별 시청자 ..
최적화 알고리즘이란? 최적화 알고리즘은 딥러닝 학습과정에서 손실함수의 값을 최소화하는 함수로, 손실을 줄이기 위해 가중치 및 학습률과 같은 신경망의 속성을 변경하는 데에 사용된다. 모델의 가중치를 어떻게, 얼마나, 언제 변경하는 지를 함수에 따라 결정한다. 다음과 같이 다양한 최적화 알고리즘이 있으며 각각의 작동, 장단점을 이해하고 사용하는 것이 중요하다. Adagrad Adam Momentum Nestrov Accelerated Gradient(NAG) RMSProp Gradient Descent Stochastic Gradient Descent(SGD) Mini Batch Stochastic Gradient Descent (MB-SGD) SGD with momentum 1. Adagrad Adagra..

모델 경량화란? 모델 경량화는 모델의 정확도 손실(accuracy loss)을 기존 모델 대비 최소화하면서 모델의 크기와 연산량을 줄이는 기술이다. 이를 통해 요구되는 메모리와 에너지, 연산량을 줄여 학습, 추론의 효율성을 높인다. 모델 경량화의 필요성 딥러닝 네트워크가 매우 깊은 layer의 구조와 수백MB를 넘는 많은 파라미터를 가지기 때문에 학습 과정뿐만 아니라 추론 시에도 많은 양의 연산이 필요하다. 이는 실시간 처리가 필요한 응용 애플리케이션, 모바일 환경, 온디바이스 등과 같이 사용 가능한 자원에 제한이 있는 경우 필요한 자원이 부족한 경우가 있다. 이러한 경우에 더 적은 연산량으로 추론할 수 있도록 해야 한다. 1. Neural Network Pruning (가지치기) Neural Netwo..
비트마스킹(BitMasking)이란? 비트마스킹이랑 비트 연산에 사용되는 데이터 형태로, 개별 비트를 on/off 상태인 1, 0으로 표현한다. 1, 0으로 존재 여부, 선택 여부를 나타내고 이진 연산을 수행하는 데에 빠른 연산을 지원한다. 단, 너무 큰 수는 이진수로 나타내는 데에 한계가 있다. 비트마스킹은 또한 전체 집합의 일부 요소를 선택해 만든 부분집합을 표현하는 데에도 빠르고 메모리 효율적이다. 해당 원소가 존재하면 1, 그렇지 않으면 0으로 표현할 수 있다. 비트 연산자 연산자 동작 a = 0011, b = 0110 & AND 연산, 두 비트가 모두 1일때 1 a&b = 0010 | OR 연산, 두 비트 중 하나라도 1일때 1 a|b = 0111 ^ XOR 연산, 두 비트 중 하나만 1이고 나..

문제링크 https://school.programmers.co.kr/learn/courses/30/lessons/131703 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 유형 완전탐색 비트마스킹 접근 방법 각각의 행과 열은 뒤집거나 or 안뒤집는 경우 2가지 뿐이고, 전체 보드가 이룰 수 있는 모양의 경우의 수는 2^(row+col)이다. 모든 가능한 행 조합과 모든 열 조합에 대해 탐색하면 시간초과 발생, 따라서 일단 뒤집을 행을 선택 후 뒤집은 상태에서 target과 다른 열만 뒤집어 target과 보드가 같아지는지 확인한다. 이때, 뒤집을 행의 선..