2024/10 21

[AI/Concepts] Agent and Search

에이전트첫주차에서 다뤘던 개념인 에이전트에 대해 살펴보자.에이전트는 액추에이터와 센서를 통해 환경에 맞춰 행동을 한다.에이전트 함수는 모든 상황에서 에이전트가 무엇을 할지를 설명합니다.지각 기록을 사용할수도 안할 수도 있다.에이전트 프로그램(Agent Program)은 에이전트 함수를 물리적 구조(Architecture) 위에서 구현하여 실제로 동작하게 한다.성과 측정은 환경의 상태 변화를 평가하는 데 사용됩니다.완벽한 합리적인 에이전트는 기대되는 성과를 최대화합니다.어떻게 하면 에이전트를 효과적으로 설계할 수 있을까? 일단 PEAS 프레임워크를 이용하면 에이전트를 설계 기준을 명확히 할 수 있다.Performance : 에이전트의 성공을 평가하는 기준 (예: 안전성, 시간, 수익성)Environment..

AI/Concepts 2024.10.18

[AI/Concepts] Data Processing

데이터를 가져다 쓰기 전에 지저분한 데이터를 Cleaning하고, 밸런싱 해주는 과정이 필요하다.Data Filtering, Handling Outliers, Handling Mssing Data, Balancing Data를 해줘야 한다.데이터 필터링 (Data Filtering): 더럽고, 복잡하거나 거친 데이터셋을 처리하는 과정컬럼 단위 필터링 (Column-wise Filtration)행 단위 필터링 (Row-wise Filtration)특정 Condition을 만족하는 얘만 가져올 수 있다. Outlier들을 알아서 빼줄 수 있는 방법을 봐보자.이상치 처리 (Handling Outliers): 단변량 및 다변량 이상치 탐지단변량의 경우, 사분위수 범위(IQR) 또는 Z-점수를 사용다변량의 경우..

AI/Concepts 2024.10.18

[AI/Concepts] Data Analysis

정리데이터 분석이란 데이터를 조사하고, 데이터에서 의미 있는 인사이트를 찾고, 결론을 도출하는 것이다. 데이터 분석 프로세스 (The processes of data analysis) 프로세스로 4가지를 배웠다.표준 프로세스(Standard)KDDSEMMACRISP-DM 데이터 과학자(Data Scientist)와 데이터 분석가(Data Analyst)의 차이점에 대해 살펴봤다. 구분데이터 과학자(Data Scientist)데이터 분석가(Data Analyst)배경(Background)데이터를 기반으로 미래 이벤트 및 시나리오 예측데이터를 통해 의미 있는 통찰 도출역할(Role)비즈니스에 이익을 줄 수 있는 질문을 형성비즈니스 문제를 해결하고 결정을 내림데이터 유형(Type of Data)정형 데이터 및..

AI/Concepts 2024.10.18

[우테코/프리코스] Week0. 구글 자바 스타일 가이드

구글 자바 스타일 가이드#우테코/코딩스타일구글 자바 스타일 가이드 문서를 읽으면서 평소 나의 스타일과 다른 부분이나, 특히 신경써야 할 중요한 부분을 정리해보겠다.Google Java Style Guide와https://github.com/JunHoPark93/google-java-styleguide 를 참고하였다.1.1 용어 노트가이드 문서를 읽기 전에 헷갈리지 말라고 아래 말을 적어둔 것 같다.class라는 용어는 "일반적인" 클래스, enum 클래스, 인터페이스 혹은 애노테이션 타입을 포괄하여 쓰인다.member(혹은 class)라는 용어는 중첩 클래스, 필드, 메소드 혹은 생성자 즉, 초기화들과 주석들을 제외한 클래스의 모든 최상위 내용들을 포괄하여 쓰인다.comment라는 용어는 항상 구현 주석..

[우테코/프리코스] Week0. 프리코스 시작 전 살펴보기

우테코 7기 웹 백엔드에 지원하게 되면서, 프리코스에 참여하게 되었다. 글을 쓰는 현재는 1주차가 갓 시작되었는데, 1주차 미션을 수행하기 전에 프리코스 진행 방식을 먼저 살펴보자.프리코스 진행 방식미션은 과제 진행 요구 사항, 기능 요구 사항, 프로그래밍 요구 사항 세 가지로 구성되어 있다.세 개의 요구 사항을 만족하기 위해 노력한다. 특히 기능을 구현하기 전에 기능 목록을 만들고, 기능 단위로 커밋 하는 방식으로 진행한다.기능 구현 전에 기능 목록을 먼저 만들고, 기능 단위로 커밋을 해야 한다는 점에 유의하자.기능 요구 사항에 기재되지 않은 내용은 스스로 판단하여 구현한다.너무 요구 사항에 핏하게 구현하지 말지도 말고, 알잘딱깔센 느낌으로 구현하라는 말인듯.매주 진행할 미션은 화요일 오후 3시부터 확..

[Java] 19. String 클래스

String 클래스#JavaString 클래스 - 기본char형 배열로 문자열을 관리하기 어려움 String 클래스를 사용한다.문자열을 생성하는 방법은 2가지가 있다.쌍따옴표 사용: ”hello"객체 생성: new String(“hello”)String은 기본형이 아니라 참조형이다.어? 참조형이면 인스턴스의 참조값만 들어갈 수 있는거 아닌가요?String str1 = "hello"; 이게 어떻게 가능하죠? 실제로는 “hello” 대신 new String(“hello”)와 같이 변경되어 동작한다.근데 문자열끼리 덧셈도 가능하지 않나요? 참조형이면 덧셈이 어떻게 가능하죠? 원래는 String이 제공하는 concat()과 같은 메서를 사용해야 하지만, 문자열은 너무 자주 다루어져서 자바에서 편의상 특별..

[Java] 18. 불변 객체

불변 객체#Java갑자기 java.lang에 있는 클래스를 배우다가 “불변 객체”라는 개념이 등장했다. 이 개념이 필요한 이유는 다음 챕터에서 배울 String 클래스가 “불변 객체”이기 때문이다. 먼저 불변 객체가 뭔지 알아보자.공유 : 기본형 vs 참조형기본형: 하나의 값을 여러 변수에서 절대 공유하지 않는다.참조형: 하나의 객체를 참조값을 통해 여려 변수에서 공유할 수 있다.공유 참조와 사이드 이펙트사이드 이펙트 : 프로그래밍에서 어떤 계산이 주된 작업 외에 추가적인 부수 효과를 일으키는 것공유 참조를 잘못하면 사이드 이펙트가 발생할 수 있다. 이를 방지할 수 있는 방법에 대해 알아보자.사이드 이펙트 해결 방안단순하게 서로 다른 객체를 참조해서, 같은 객체를 공유하지 않으면 문제가 해결된다. 그런데..

[Java] 17. Object 클래스

Object 클래스#Javajava.langlang은 Language의 줄임말로써, 자바 언어를 이루는데 기본이 되는 클래스를 모아둔 패키지이다.java.lang 패키지의 대표적인 클래스들Object : 모든 자바 객체의 부모 클래스String : 문자열Integer , Long , Double : 래퍼 타입, 기본형 데이터 타입을 객체로 만든 것Class : 클래스 메타 정보System : 시스템과 관련된 기본 기능들을 제공import 생략 가능모든 자바 application에 java.lang패키지가 자동으로 임포트되서 따로 구문을 적지 않아도 된다.이번 챕터에서는 java.lang 패키지 중 Object 클래스에 대해 알아본다.Object 클래스클래스에 상속 받을 부모 클래스가 없으면, 묵시적으로 ..

[DataBase] 04. SQL(Structured Query Language) - Intermediate(3)

SQL(Structured Query Language) - Intermediate(3)#Database/Concepts/TempView첫 번째 챕터에서 다뤘던 “View of Data”에 대해 다시 떠올려봅시다.복습 | View of Data —> “Data abstraction을 통해 실제 물리적으로 저장되어 있는 데이터를 그대로 가져와서 보는게 아니라, 사용자가 필요한 데이터만 보고 접근할 수 있게 되었다”교수님 강의자료만 보면 View에 대해 정확히 이해하기 쉽지 않습니다. View가 무엇인지만 가지고 View를 어떤 상황에 어떻게 적용해야 하는지 감을 익히는게 매우 중요합니다. 따라서 View에 대한 이해를 돕기 위해 하나의 에피소드를 예로 들어보겠습니다.에피소드 : IT기업의 직원 정보 데이터베..

DataBase/Concepts 2024.10.11

[DataBase] 04. SQL(Structured Query Language) - Intermediate(2)

SQL(Structured Query Language) - Intermediate(2)#Database/Concepts/Temp(10/10) 굉장히 공들여서 작성한 글이여서 원래 동아리 스터디 용도로 일부 공개 했었는데, 더 많은 분들이 봤으면 하는 마음에 오픈! Outer JoinOUTER JOIN은 일치하는 행이 없더라도, 한쪽 또는 양쪽 테이블의 모든 행을 포함하여 조인한다.정보 손실을 방지하는 join 작업의 확장입니다.join한 다음, 다른 relation의 튜플과 일치하지 않는 튜플을 join 결과에 추가합니다.Outer join은 일치하는 데이터와 일치하지 않는 데이터를 모두 기반으로 합니다.NULL 값을 사용합니다.테이블 A, 테이블 B가 있고, 테이블 A를 LEFT Table이라고 하고,..

DataBase/Concepts 2024.10.11