원소 접근법1. 순차접근- 연결리스트에 의한.- 선형시간2. 직접접근- 배열에 의한- 상수시간- 인덱스 관련 사전지식 필요 해시테이블인덱스 관련 사전지식 없이, 직접접근 가능!How?원소 내용을 입력, 인덱스를 출력으로 하는 해시함수 이용 레코드- 여러 컴포넌트(이름+타입) 가진 자료구조- 일부 언어에서는 레코드가 배열같은 표준 타입으로 사용 테이블 - 동일 타입의 레코드 집합(순서 x) 키 테이블- 기본키 역할의 "키필드"를 레코드 타입이 포함하는 테이블 맵- 보유 레코드의 컬렉션 각 ADT의 연산키 레코드맵Initialize키 보유 레코드 생성(초기화)공백 맵 생성(초기화)key레코드 키 객체 반환 value레코드 값 객체 반환 update레코드 값 객체 대체레코드 있으면 updatesearch 테이..
AI
java에서 Iterator가 뭘까?Iterator (반복자)반복적인 작업을 수행하는 것. - Main.javapublic class Main{ public static void main(String[] args){ ArrayList numbers = new ArrayList(); numbers.addLast(10); numbers.addLast(20); numbers.addLast(30); numbers.addLast(40); for(int i=0;i - ArrayList.javapublic Object removeFirst(){ return remove(0);}public Object removeLast(){ return remove(size-1);}public Object ..
리스트 : 선형적 컬렉션 (선형구조). 중복참조, null 가짐 리스트 클래스 List ClassArrayListLinkedList원소저장법배열연결리스트탐색상수시간선형시간삽입/삭제선형시간상수시간 List IteratorㄴㅇㄹWrapper Class"객체"가 요구되는 자리에 기본형 데이터를 쓰고 싶을 때.ex) 객체가 요구되는 자리인데, int를 쓰고 싶음. 근데 int는 객체가 아니다. 그래서 이의 wrapper class인 Integer를 사용하면 됨.boxing : 기본형을 wrapper class 객체로 변환unboxing : wrapper class 객체를 기본형으로 변환 ex) Term, Polynomial 객체
파이썬 라이브러리python3 -m pip install Pillowfrom PIL import Imagefrom matplotlib.pyplot import imshowimg = Image.open("Lena.png")imshow(img)print(img.size, img.mode) ##(512, 512) RGBimshow(img.crop((200, 200, 400, 400)))## 좌측 상단의 좌표가 (200, 200), 우측 하단의 좌표가 (400, 400)으로 crop됨imshow(img.rotate(60))## img와 같은 크기 사진이 반시계 방향으로 60도 돌아가게 됨.imshow(img.rotate(60, expand = True))## 사진이 잘리지 않고, 반시계로 60도 돌아간 후 사진..
CNN : 대표적 "딥러닝" 모델, 이미지 분석에 최적화.근데 왜 CNN이 이미지 데이터를 잘 학습할까? 이미지 데이터가 뭐길래? 이미지 데이터사진/그림 등을 컴퓨터로 저장한 데이터. jpg, png 픽셀 기반으로 구성되었고, 각 픽셀은 색깔이나 밝기 정보를 가진다. 보통 RGB 채널(각 픽셀이 3가지 값을 가짐)이며, 각 채널이 8비트의 수로 이루어졌기에총 24비트이고, 따라서 2의 24승 개의 색을 표현할 수 있다.특별하게, 흑백 이미지의 경우, 채널이 하나이다. 이미지 처리 사례사물 인식 - 자율주행/안면인식/의료이미지 부위탐지이미지 캡셔닝 : 이미지 보고 문장 만드는 것이미지 합성 - 딥페이크화질 개선알파고 딥러닝 이전 이미지 처리 기법crop, rotate, resizeshearing(전단변환)..
선형회귀선형 모델 구현class LinearModel: def __init__(self): self.W = tf.Variable(initial_value = 1.5) self.b = tf.Variable(initial_value = 1.5) def __call__(self, X, Y): return tf.add(tf.multiply(X, self.W), self.b) 업뎃될 수 있는 변수 W(가중치), b(편향) 을 초기값 1.5로 설정X와 W를 곱하고 b를 더하여 선형모델을 만듦 MSE 계산 손실 함수def loss(y, pred): x = tf.reduce_mean(tf.square(y-pred)) return x 실제값과 예측값의 차를 제곱하여 평균을 구하여 ..
DATA 증가 & 딥러닝 모델 한계데이터 차원 증가, 구조 복잡 -> 기술력의 부족으로 한계 맞이 문제점 :학습 속도 문제데이터 개수가 폭발적으로 증가함에 따라 딥러닝 모델 학습시 소요되는 시간의 폭발적 증가.발생 원인 - 전체 데이터를 사용해서 손실 함수 계산하기에 계산량 폭발적이다. 해결 방법 - 부분 데이터만 활용해서 손실 함수를 계산하자! SGD.SGD란, 데이터 그룹인 mini-batch에 대해 손실함수 계산하는 것.GD에 비해 다소 부정확할 수는 있지만, 계산 속도가 훨씬 빠르다.mini-batch를 설정함에 따라 gradient 방향의 변화가 크다.SGD를 쓰려면 learning rate를 설정해야 하는데, 너무 크면 발산할 가능성이 있고, 너무 작으면 수렴하지 못할 가능성이 있다.이에 대해..