728x90

전체 글 60

[SSAFY 13기] 비전공자 준비 과정(서류 & 적성진단편) / 서울캠 합격 후기

SSAFY 13기에 최종 합격했다.나 역시도 준비 과정에서 블로그에 도움을 많이 받아서, 붙게 되자마자 합격 후기를 빨리 써야지 생각했었는데, 역시 입과 전날에야 후기를 부랴부랴 작성하는 걸 보면 어쩔수 없는 P 인간인가보다.아냐 그래도 친구들이랑 인사 겸 연말 음주도 좀 하고, 서울에 급하게 집 구하고 이사하느라 정신 없었다.어쨌든 다음 기수를 준비하는, 그리고 언젠가 싸피에 지원하고자 하는 분들을 위해 작은 후기와 팁을 남기려고 한다.  *개인적인 본인 스펙 (안읽어도 됨)- 본인 스펙은 비전공자 / 지방4년제 졸업 / 학점 4.1 - '융합학과' 출신으로, 전공명에 대해서 '이게 무슨 학과냐'고 한번씩은 물어봄 - IT '관련' 복수전공으로(컴공X) it 경험이 없던 것은 아니었으나 전공자만큼의 지..

SSAFY 2025.01.06

[머신러닝/딥러닝] 딥러닝과 tensorflow(1, 2)

딥러닝신경망에 층을 많이 두어(깊게 만들어) 성능 높이기영상인식/음성인식/언어번역 등 인공지능을 딥러닝으로 제작딥러닝 프로그래밍 패키지(여태 sklearn 썼징)텐서플로, 파이토치, 케라스 등딥러닝의 등장1980년대: 깊은 신경망구조적으로는 쉬움. 다층 퍼셉트론에 은닉층을 많이 두면 깊은 신경망하지만 학습이 잘 안됨그래디언트 소멸 문제작은 데이터셋 문제(추정할 매개변수는 많아지는데 데이터는 적어 과적합 발생)과다한 계산시간(비싼 슈퍼컴퓨터)딥러닝새로 창안된 이론이나 원리는 빈약. 신경망의 구조, 동작, 학습 알고리즘의 기본 원리는 거의 그대로였음딥러닝의 기술 혁신 요인값싼 GPU 등장: 10 ~ 100배의 속도 향상으로 학습시간 단축데이터셋 커짐: 인터넷을 통한 데이터 수집과 레이블링(ex) 1400만 ..

[머신러닝/딥러닝] 기계학습과 인식

특징 공간에서 데이터 분포iris data특징이 4개이므로 4차원 공간 형성150개 샘플 각각은 4차원 특징 공간의 한 점아래 프로그램은 차원 하나를 제외하고 3차원 공간에 데이터 분포 그림# iris data 분포를 특징 공간에 그리기import plotly.express as pxdf = px.data.iris()fig = px.scatter_3d(df, x='sepal length', y='sepal_width', z='petal_width', colors='species')fig.show(renderer='browser')특징 공간에서 데이터 분포 관찰petal width(수직 축)에 대해 setosa는 아래쪽, virginica는 위쪽에 분포 > petal width는 분별력(Discrimina..

[머신러닝/딥러닝] 인공지능 소개

21년도 학교에서 들었던 인공지능 수업을 리마인드하는 측면에서 작성해보았습니다.인간과 인공지능인간이 뛰어난 능력: 상식, 딜레마 해결력, 윤리의식, 공감능력, 상상력, 공상력, 추상화능력, 일반화능력인공지능 능력: 자연어 처리, 패턴인식, 지식암기, 기계학습, 편견 제거, 무한대의 가동성규칙기반 방법론 vs. 기계학습 방법론규칙기반 방법론사람이 사용하는 규칙을 수집하여 프로그래밍필기 숫자 인식 프로그램: 숫자 3은 “왼쪽에서 보면 위와 아래에 터진 골이 있고, 오른쪽에서 보면 둥근 원호가 중간에서 만나고”와 같은 규칙을 수집한계 노출: 규칙을 위반하는 샘플이 꾸준히 발생기계학습 방법론인공지능 초반에는 규칙 기반이 대세였으나 90년부터 기계학습으로 주도권이 이동충분한 데이터를 수집한 후 기계학습 모델을 학..

카테고리 없음 2024.09.06

[Python] 파이썬 기초 14: Pandas (3, 4)

DataFrame의 데이터에 접근하는 일반적 방법💡 dataframe.loc[, ]student_record_file_name = "student_records.csv"scores = pd.read_csv(student_record_file_name)scores.head()scores['시험1'] # col label 지정scores[['시험1', '시험2']] # 여러 개 접근: cols를 list로 만든 후 접근scores.loc[3] # 특정 행에 접근. (한 줄)scores.loc[[3, 5]] # 여러 행에 동시접근(3번, 5번): idx를 list로 만들어# df에서 특정한 원소에 접근scores.loc[3, '시험1'] # 3번 행의 '시험1'에 접근 scores.loc[[3, 5]], [..

[Python] 파이썬 기초 13: Pandas (1, 2)

Pandas의 핵심 data 구조series: 동일 유형 데이터를 가질 수 있는 1차원 라벨이 붙은 배열(labeled array), 크기 변경 불가능DataFrame: 이형 데이터 column 가질 수 있는 일반적인 2차원 라벨이 붙은 구조, 크기 변경 가능Pandas Series Object모든 데이터 유형 보유할 수 있는 1차원 라벨이 붙은 배열(labeled array)label들을 집합적으로 index라 호칭0개 이상 동일 유형 data 수용series 생성자로 사용 가능: parameter: scolar, numpy ndarray, python list, python dictPandas Series 객체생성 💡 Pandas.Series(data=None, index=Non, dtype=Non..

[Python] 파이썬 기초 12: Matplotlib

Matplotlibpython, numpy를 위한 plotting library사용법범용 GUI toolkits를 사용하는 applications에 내장가능한 객체지향 APIMatlab과 매우 닮은 절차적 Pylab interface: 여태 이 방법으로 사용Matplotlib.pyplotmatplotlib가 MATLAB처럼 작동하도록 하는 명령 스타일 함수들의 모음한 문장 명령 추가할 때마다 figure에 변화 발생figure: 그래프 그리는 데 필요한 모든 요소들을 포함하는 최상위 containerstate 기반 APILine Plotmatplot.pyplot.plot()2차원 평면 그래프에서 다음 점들을 선분으로 연결해 그래프를 그리는 함수$P0(x0, y0), P1(x1, y1), ..., Pn-1..

[Python] 파이썬 기초 11: Numpy(5, 6)

Numpy 다차원 배열의 Indexing기본 indexing고급 indexingfield access: 구조화 배열에 사용 (설명 생략)기본 indexing & slicing0 ≤ ni ≤ dii: axis 번호(in 다차원 배열)ni: axis i의 indexdiL axis i의 원소의 개수ni 기본 slicing 문법: start : end : stop a = np.arnage(48).reshape(8, 6)a[(6, 3)] # 39(tuple로 원소 접근)a[6, 3] # 39(소괄호 생략 가능)a[6][3] # 39(인덱싱 사용 가능)a[(-2, -3)] # 39(음수 index: 뒤에서부터 n번째)a[:5,2] # array([2, 8, 14, 20, 26])a[:5:2,2] # array([2..

[Python] 파이썬 기초 10: Numpy(3, 4)

Numpy 다차원 배열 변수의 Assignment, Shallow copy, Deep copyAssignmentimport numpy as npx = np.arange(5)y = xprint(id(x), id(y)) # 같은 값 출력 - 같은 객체 참조. 같은 원소에 binding 되어있음.print("x=", x) # [0 1 2 3 4]print("y=", y) # [0 1 2 3 4]x[3] = 10print("x=", x) # [0 1 2 10 4]print("y=", y) # [0 1 2 10 4]Numpy 다차원 배열 변수의 view는 shallow copyx = np.arange(5)print("x=", x) # [0 1 2 3 4]y = x[1:4] # index slicingprint("..

[Langchain] 랭체인으로 RAG 간단하게 구현하기 / RAG pipeline

langchain 라이브러리 이용해서 RAG 구현하기 langchain + RAG 결합한 가장 기본적인 구조순서: 검색할 데이터 로드 -> 텍스트 분할 -> 인덱싱(임베딩) -> 검색 -> 생성 1. 데이터 로드: 사용할 데이터 불러오기 - loader객체 호출해 load 메소드로 데이터 로딩# Data Loader - 웹페이지 데이터 가져오기from langchain_community.document_loaders import WebBaseLoader# 위키피디아 정책과 지침url = 'https://ko.wikipedia.org/wiki/%EC%9C%84%ED%82%A4%EB%B0%B1%EA%B3%BC:%EC%A0%95%EC%B1%85%EA%B3%BC_%EC%A7%80%EC%B9%A8'loader =..

AI-자연어처리 2024.09.05