전체 글 41

[Do it! 딥러닝 입문 리뷰] 6장. 2개의 층을 연결합니다 - 다층 신경망

Google Colaboratory Notebook Run, share, and edit Python notebooks colab.research.google.com 06-1. 신경망 알고리즘을 벡터화하여 한 번에 전체 샘플을 사용합니다 벡터화된 연산은 알고리즘의 성능을 올립니다 배치 경사 하강법으로 성능을 올립니다 확률적 경사하강법: 알고리즘을 1번 반복할 때 1개의 샘플을 사용 손실 함수의 전역 최솟값을 불안정하게 찾음 선형 회귀, 로지스틱 회귀 배치 경사하강법: 가중치를 1번 업데이트 할 때 전체 샘플 사용 손실 함수의 전역 최숫값을 안정적으로 찾음 알고리즘 1번 수행당 계산 비용 ↑ 벡터 연산과 행렬 연산을 알아봅니다 점 곱(dot product, scalar product, 스칼라 곱) $z=x..

인공지능 2022.02.21

[이것이 자바다 리뷰] 2장. 변수와 타입

2.1 변수 2.1.1 변수란? 변수(Variable) 하나의 값을 저장할 수 있는 메모리 공간 한 가지 타입의 값만 저장 가능 2.1.2 변수의 선언 작성 규칙 첫번째 글자는 문자이거나 ‘$’, ‘_’이어야 하고 숫자로 시작할 수 없음 필수 영어 대소문자가 구분됨 필수 자바 예약어는 사용할 수 없음 필수 문자는 영어 소문자로 시작하되, 다른 단어가 붙을 경우 첫 문자를 대문자로 함 관례 문자 수(길이)의 제한은 없음 예약어 분류 예약어 기본 데이터 타입 boolean, byte, char, short, int, long, float, double 접근 지정자 private, protected, public 클래스와 관련된 것 class, abstract, interface, extends, implem..

Java 2022.02.20

[Python / Java] 백준 10757 - 큰 수 A+B

10757번: 큰 수 A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 설명 정수 A, B(0 < A,B < 10^10000)를 입력 받아 A+B의 값을 출력한다 알고리즘 분류 수학 구현 사칙연산 임의 정밀도 / 큰 수 연산 풀이 방법 파이썬의 경우, 오버플로우가 발생하지 않으므로 정수의 크기가 10^10000가 되어도 연산이 가능하다. 다만, C, C++, Java 등의 언어의 경우 이러한 큰 수의 경우 연산이 불가하므로 적절히 나누어 계산해야 한다. 재귀함수를 사용하여 풀이하고자 가장 익숙한 파이썬으로 먼저 구현해보려 하였으나 이 과정으로는 반례가 발생하여 올바른 정답을 찾지 못했고, 자바에서 charAt() 메소드를 사용하여 풀이하..

알고리즘 2022.02.19

[Java] 백준 1181 - 단어 정렬

문제 설명 단어를 입력 받고 입력 받은 단어를 크기 순으로, 단어 순으로 출력한다. 입력 첫째 줄: 단어 개수 N 둘째 줄~: 단어 출력 단어를 크기 순(1순위), 단어 순(2순위)로, 같은 단어가 여러 개인 단어는 한 번만 출력 알고리즘 분류 문자열 정렬 풀이 방법 입력 받는 단어를 배열에 저장하고 배열을 sort한 뒤, 단어 길이를 1에서부터 최대 단어 길이까지 늘려가며 같은 단어 길이를 가지는 배열 요소를 출력한다. JAVA import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException{ BufferedReader br=new BufferedReader(n..

알고리즘 2022.02.19

[Do it! 딥러닝 입문 리뷰] 5장. 훈련 노하우를 배웁니다

Google Colaboratory Notebook Run, share, and edit Python notebooks colab.research.google.com 05-1. 검증 세트를 나누고 전처리 과정을 배웁니다 테스트 세트로 모델을 튜닝합니다 from sklearn.datasets import load_breast_cancer from sklearn.model_selection import train_test_split cancer = load_breast_cancer() x = cancer.data y = cancer.target x_train_all, x_test, y_train_all, y_test = train_test_split(x, y, stratify=y, test_size=0.2,..

인공지능 2022.02.19

[Do it! 딥러닝 입문 리뷰] 4장. 분류하는 뉴런을 만듭니다 - 이진분류

Google Colaboratory Notebook Run, share, and edit Python notebooks colab.research.google.com 04-1. 초기 인공지능 알고리즘과 로지스틱 회귀를 알아봅니다. 퍼셉트론 선형 함수를 통과한 값 z를 계단 함수로 보내 0보다 큰지 작은지에 따라 1과 -1로 이진 분류하는 알고리즘 선형 함수 $$ z=w_1x_1+w_2x_2+\cdots+w_nx_n+b $$ $$ z=b+{\sum_{i=1}^n}w_ix_i $$ 계단 함수 $$ y=\lbrace{1\space(z>0)\atop -1} $$ 1: 양성 클래스(positive class) -1: 음성 클래스(negative class) 아달린(Adaline) 퍼셉트론을 개선한 적응성 선형 뉴..

인공지능 2022.02.19

[Do it! 딥러닝 입문 리뷰] 3장. 머신러닝의 기초를 다집니다 - 수치예측

Google Colaboratory Notebook Run, share, and edit Python notebooks colab.research.google.com 03-1. 선형 회귀에 대해 알아보고 데이터를 준비합니다 데이터 준비하기 from sklearn.datasets import load_diabetes diabetes = load_diabetes() print(diabetes.data.shape, diabetes.target.shape) load_diabetes() : 당뇨벙 데이터 호출 diabetes 데이터셋: Bunch 클래스 diabetes.data: 442 × 10 크기의 2차원 배열 행: 샘플(sample). 당뇨병 환자에 대한 특성으로 이루어진 데이터 1세트 열: 특성(featu..

인공지능 2022.02.16

[Do it! 딥러닝 입문 리뷰] 2장. 최소한의 도구로 딥러닝을 시작합니다

02-1. 구글 코랩을 소개합니다 코랩 구글에서 개발한 웹 브라우저에서 파이썬을 작성하여 구글 클라우드에서 실행시킨 뒤 결과를 돌려받는 도구 브라우저 기반의 대화식 개발환경인 주피터 노트북을 커스터마이징한 것 코드 셀과 텍스트 셀을 자유롭게 사용할 수 있고, 머신러닝 개발에 필요한 GPU, TPU(Tensor Processing Unit), CPU, 램 등 지원 Ctrl + M D: 현재 셀 삭제 Shift + Enter: 현재 셀 실행 후 다음 셀 이동 Alt + Engter: 현재 셀 실행 후 다음 셀 추가 Ctrl + M B: 현재 셀 아래 코드 셀 추가 Ctrl + M A: 현재 셀 취에 코드 셀 추가 02-2. 딥러닝을 위한 도구들을 알아봅니다 Numpy 다차원 배열, 선형 대수 연산, 푸리에 ..

인공지능 2022.02.16

[Do it! 딥러닝 입문 리뷰] 1장. 딥러닝을 소개합니다

01-1. 인공지능을 소개합니다 인공지능(Artificial Intelligence, AI) 사람의 지능을 만들기 위한 시스템이나 프로그램 강 인공지능(Strong AI) 사람과 구분이 안 될 정도로 강한 성능을 가진 인공지능 현재 구현되지 않았으며, 구현될 시기도 예측 불가함 약 인공지능(Weak AI) 특정 영역에서 작업을 수행하는 인공지능 01-2. 머신러닝을 소개합니다 머신러닝(Machine Learning, ML) 컴퓨터가 스스로 규칙을 수정하여 데이터를 가장 잘 표현하는 모델을 찾는 방식 머신러닝 학습 방식 지도학습(supervised learning): 기존의 데이터를 통해 모델을 학습시키고 학습시킨 모델로 새로운 입력에 대한 예측 수행 비지도 학습(unsupervised learning):..

인공지능 2022.02.16