no image
[Java] 객체 지향 언어의 특성(OOP)
오늘은 객체 지향 언어의 특성에 대해 공부하였는데, 여태 대학에 다니며 아무리 들어도 이해가 가지 않았던 객체에 대한 개념을 각잡고 한번 다시 공부해보는 시간을 가졌다.또한 내가 직접 코드를 치면서 공부하니 조금은 감이 잡히는 것 같기도..?아직 끝난건 아니지만 현재까지 공부한 것을 토대로 정리해보고자 한다.객체지향 언어(Object-Oriented Programming, OOP)의 특성 1. 캡슐화(Encapsulation)캡슐화란 객체를 캡슐로 싸서 내부를 보호 하고 볼 수 없게 하는 것으로 객체의 본질적인 특성이다.ex) 캡슐알약을 생각하면 쉬운데, 캡슐 안에 든 약이 어떤 색인지. 어떤 성분인지 보이지 않고 외부의 접근으로 부터 안전함.객체는 기본적으로 캡슐화를 원칙으로 하지만, 외부와의 연결을 ..
2024.08.19
no image
[Java] 예외 처리 (Exception) 워밍업
우리가 흔히 코드를 짜면서 컴파일을 실행하면위와 같은 에러를 얻기 쉽상인데, 이것은 컴파일러가 잘못된 문법으로 짜여졌다고 우리에게 알려주는 에러이다. (아이고 친절해라)하지만 오늘 우리가 알아볼 에러는 사용자의 잘못된 입력이나 배열의 인덱스가 배열의 크기를 넘어가는 등의 예기치 못한 상황에 발생하는 에러를 의미한다.자바에서  예외(Exception)는 오작동이나 결과에 악영향을 미칠 수 있는 실행중 발생한 오류 라고 정의하고 있다.대표적으로 예외가 발생하는 경우는 아래와 같다1. 정수를 0 으로 나누기를 할 경우2. 배열의 크기보다 큰 인덱스로 배열의 원소를 접근하는 경우3. 존재하지 않는 파일을 읽으려고 하는경우4. 정수를 입력받는 코드가 실행될 때, 사용자가 문자를 입력한 경우 등이처럼 예외가 발생하..
2024.08.15
[Java] System.out.println() 치기 귀찮을 때 (Eclipse , IntelliJ)
글을 수정하여 본문 가장 하단에 2줄 요약해놓았으니 참고 바랍니다 저는 집에서는 Window 데스크탑을 이용하고, 노트북은 Mac을 사용합니다.그리고 대부분 개발 관련은 맥으로 해결하려고 노력하고 있습니다오늘도 여느 때와 같이 자바 공부를 하던중에, System.out.println() 을 입력하고 있었는데 문득 어떠한 생각이 들었습니다."아니 윈도우에서 이클립스 쓸때는 System을 치기도전에  System.out.println() 이 자동완성 된 것 같았는데, 얘는 왜 내가 일일히 다 쳐야하지?" 그래서 숨쉬는 것 조차 귀찮은 ISTP인 저는 앞으로의 편리함을 위하여 해결 방법을 조금 찾아봤습니다...그리고 아래 서술할 방법은 제가 해결한 방법이므로 참고만(?) 해주시면 좋을 것 같습니다!두가지 절차..
2024.07.14
[A.I] 응용사례 : 광고 클릭률 연습문제
범주형 특징을 수치형 특징으로 변환하는 방법 두가지 원 핫 인코딩 : 범주형 데이터를 이진 벡터로 변환 → 데이터 차원이 커질 우려 순서 인코딩: 범주형 데이터를 중요한 순서대로 숫자로 변환 → 순서가 명확할 때 유리  로지스틱 함수 :로지스틱 함수는 S자 형태의 곡선을 그리는 함수로, 주로 이진 분류 문제에서 사용되는 활성화 함수입니다. 이 함수는 특정 입력 값을 0과 1 사이의 값으로 변환하여 출력합니다. 입력 값이 작을수록 0으로, 입력값이 클수록 1로 수렴하며 입력값이 0일때는 0.5를 출력한다  학습률의 역할과 학습률을 설정할 때 주의점학습률은 경사하강법에서 파라미터를 업데이트할 때 이동하는 거리를 의미하고, 학습률이 너무 크면 최적값을 지나칠 수 있고, 너무 작으면 학습 속도가 느려진다.  비..
2024.06.17
[A.I] 파이썬으로 만드는 인공지능 9장 이론 연습 문제
9장탐험형 정책과 탐사형 정책의 차이:탐험형 정책은 전체에서 무작위로 데이터를 선정하는 방법이고, 탐사형 정책은 승률이 높은 손잡이를 주로 선택하는 방법이다이는 적절한 균형이 필요한데, 이에 대해 적절한 균형을 제시하는 방법이 입실론 탐욕 알고리즘이다. 입실론 탐욕 알고리즘은 기본적으로 Greedy 한 성질을 가지고 있지만, 입실론 비율 만큼의 탐험을 적용하여 탐사와 탐험의 적절한 균형을 추구하는 성질을 가지고 있다.몬테카를로 방법은 데이터를 가지고 가치 함수를 계산하며, 에피소드를 여러번 시뮬레이션하고, 각 에피소드에서 얻은 보상을 평균하여 상태의 가치를 추정하는 방식이다또한 몬테카를로 방식은 데이터 기반으로 가치 함수를 계산하고 부트스트랩이 아니라는 장점이 존재한다.에피소드 생성 → 보상 계산 → 가..
2024.06.14
no image
[A.I] 파이썬으로 만드는 인공지능 9장
9장 강화 학습과 게임 지능다중 손잡이 밴딧 문제1달러를 넣고 손잡이를 골라잡아 당기면 1달러를 잃거나 획득이때 손잡이 마다 확률이 존재, 사용자는 확률을 알 수 없다행동 집합 {손잡이1, 손잡이2, 손잡이3 ,… 손잡이 n}보상 집합 {1,-1}위 문제는 상태변화가 존재하지 않고 행동 → 보상 사이클 개념탐험형 정책: 처음부터 끝까지 무작위로 선택탐사형 정책: 몇번 시도 후에 승률이 가장 높은 것을 채택하는 극단적인 방법→ 둘 사이의 균형이 중요그리디 알고리즘: 과거와 미래를 고려하지 않고 순간의 정보만 가지고 현재 최고의 유리한 선택을 하는 알고리즘 → 탐사형에 가까움ε-탐욕 알고리즘: 기본적으로 그리디 알고리즘이지만 ε 비율 만큼만 탐험을 적용하여 탐사와 탐험의 균형을 추구한다입실론 그리디 알고리즘..
2024.06.14
[A.I] 파이썬으로 만드는 인공지능 8장 이론 연습 문제
8장시계열 데이터란 무엇이고, 이러한 시계열 데이터의 특성은 무엇이 있는지 서술하시오시계열 데이터란 시간 정보가 들어 있는 데이터를 의미하며, 실시간성이 반영되는 데이터를 의미한다. 즉 동적 데이터이다.이러한 시계열 데이터의 특성으로는 요소의 중요성, 길이가 다른 샘플, 문맥 의존성, 계절성이 반영된다는 특성이 존재한다.이러한 시계열 데이터를 딥러닝에 반영하는 방법은 LSTM과 순환신경망이 있다.데이터 샘플의 길이가 너무 길 때, 미래 예측을 위한 데이터를 준비하는 과정에 대해 설명하시오→ 데이터를 준비하는 과정에서 데이터의 길이가 너무 길면, 데이터를 적절한 조각 단위로 분할하여 계산하여야하는데, 이때 이러한 조각의 구성요소의 수를 w 라는 단위로 잘라 여러개의 샘플을 수집한다. 그 다음에는 얼마만큼 ..
2024.06.13
no image
[A.I] 파이썬으로 만드는 인공지능 8장
8장 시계열 데이터와 순환 신경망시계열 데이터란 시간 정보가 들어있는 데이터시계열 데이터는 시간 축을 따라 신호가 변하는 동적 데이터,앞서 다룬 SVM, 깊은 다층 퍼셉트론, 컨볼루션 신경망 등은 정적 데이터를 입력 → 시계열 데이터 부적합시계열 데이터를 정적 데이터로 변환하면 정보 손실이 크다시계열 데이터의 특성:요소의 순서가 중요: 문장의 의미가 회손 될 수 있다샘플의 길이가 다르다: 짧은 발음, 긴 발음문맥 의존성: 앞 과 뒤의 밀접환 관련성계절성: 상추 판매량, 미세먼지 수치 등딥러닝에서는 시계열 특성을 반영하는 순환신경망 또는 LSTM 사용순환 신경망의 사용미래 예측언어 번역음성 인식생성 모델미래 예측을 위한 데이터를 준비하는 과정 (데이터의 길이가 너무 길때)데이터를 준비하는 과정에서 데이터의..
2024.06.13
no image
[A.I] 파이썬으로 만드는 인공지능 7장
7장 지능 에이전트에이전트란 :일상생활에서 특정한 일을 대신 해주는 사람을 에이전트컴퓨터에서는 사람일을 대신하는 소프트웨어를 에이전트라고 함 → 지능 에이전트로봇은 가장 활동적이고 보편적인 지능 에이전트다지능 로봇의 수준조립용 → 자세가 제멋대로인 부품을 집는 로봇→ 청소용 로봇 → 모르는 건물에 진입하여 작전을 수행하는 빅독 → 휴머노이드→ 순서로 갈 수록 불확실성이 큰 과업을 처리한다.지능 에이전트는 지식 베이스가 필요하다지식 표현 방법론:규칙 기반: if - then 구조로 지식을 표현프레임 : 슬롯 - 값 쌍으로 지식 표현 (db와 비슷)의미망 : 그래프로 지식을 표현 → is - a 와 kind - of 관계를 주로 사용 온톨로지 RDF : 방대한 수의 트리플을 표현, 저장, 관리하는 기술 (트..
2024.06.09