2025/04 24

[머신러닝 & 딥러닝] 비지도 학습에서의 성능 평가 (2) - 실루엣 그래프

00. 실루엣 분석(silhouette analysis)군집 품질을 평가하는 또다른 방법 중 하나k-평균 이외의 다른 군집 알고리즘에도 적용 가능01. 실루엣 그래프로 군집 품질 정량화단계샘플과 동일한 클러스터 내 모든 포인트 사이의 거리를 평균하여 클러스터 응집력(cluster cohesion)을 계산샘플과 가장 가까운 클러스터의 모든 샘플 간 평균 거리로 최근접 클러스터의 클러스터 분리도(cluster seoaration)을 계산클러스터 응집력과 분리도 사이의 차이를 둘 중 큰 값으로 나누어 실루엣 결과값 출력응집력: 다른 클러스터와 얼마나 다른지 나타냄분리도: 클러스터 내 다른 샘플과 얼마나 비슷한지 나타냄실루엣 점수가 1.0과 가까울 수록 좋은 군집을 띔실루엣 점수표0.7 ~ 1.0군집이 아주 잘..

[머신러닝 & 딥러닝] 비지도 학습에서의 성능 평가 (1) - 엘보우 방법

비지도 학습: 최종 클래스 레이블이 존재하지 않음 → 지도 학습에서의 성능 평가 방법을 사용할 수 없음따라서 군집 평가를 위해 알고리즘 자체의 지표를 사용01. 엘보우 방법을 사용하여 최적의 클러스터 개수 찾기클래스 내 SSE를 바탕으로 문제에 최적인 클러스터 개수 k를 추정함k가 증가하면 왜곡은 줄어들 것, 샘플이 할당된 센트로이드에 더 가까워지기 때문따라서 왜곡이 빠르게 증가하는 지점의 k 값을 찾는 것k값을 바꿔가며 왜곡 값을 그래프로 그리면 명확히 알 수 있음

[머신러닝 & 딥러닝] 퍼지 C-평균(Fuzzy C-Means, FCM)

01. 퍼지 C-평균(Fuzzy C-Means, FCM) 동의어: 간접 k-평균(soft k-means) 또는 퍼지 k-평균(fuzzy k-means)FCM의 처리 단계는 k-평균과 유사차이점: 포인트가 직접적으로 클러스터에 할당되는 것을 각 클러스터에 속할 확률로 바뀜단계센트로이드 개수 k를 지정하고 랜덤하게 각 포인트에 대해 클러스터 확률을 할당클러스터 센트로이드를 계산각 샘플에 대해 클러스터 소속 확률을 업데이트클러스터 확률이 변하지 않거나 사용자가 지정한 허용 오차나 최대 반복 횟수에 도달할 때까지 단계 2와 3을 반복퍼지 계수(fuzziness coefficient, == 퍼지 지수(fuzzofoer)): 지수 m, 1보다 크거가 같으며(일반적으로 m=2) 퍼지의 정도를 제어m이 클수록 소속 확..

[머신러닝 & 딥러닝] K-means 알고리즘

00. K-평균 알고리즘을 사용하여 유사한 객체 그룹핑군집 알고리즘(clustering) 비슷한 객체로 이루어진 그룹을 찾는 기법같은 그룹 안에 객체들과의 연관성이 다른 그룹 안의 객체들보다 연관성이 높음예시: 문서나 음악, 영화를 여러 주제의 그룹으로 모으는 경우, 추천 엔진에서 구매 이력을 기준으로 관심사 비슷한 고객을 찾음01. 사이킷런을 이용한 k-평균 군집장점: 구현하기 쉽고 다른 군집 알고리즘에 비해 계산 효율성이 높음프로토타입 기반 군집(prototype-based clustering)의미: 각 클러스터가 하나의 프로토타입으로 표현됨연속적인 특성에서는 비슷한 데이터 포인트의 센트로이드(centroid), 즉 평균범주형 특성에서는 메도이드(medoid), 즉 가장 대표되는 포인트나 가장 자주 ..

[Python] 시각화

1. 막대 그래프 (Bar Chart)사용 목적: 범주형 데이터의 수량 비교import matplotlib.pyplot as plt categories = ['A', 'B', 'C'] values = [10, 20, 15] plt.bar(categories, values) plt.title("카테고리별 값") plt.xlabel("카테고리") plt.ylabel("값") plt.show()plt.bar() → 수직plt.barh() → 수평📈 2. 선 그래프 (Line Plot)사용 목적: 시간에 따른 변화, 추세 분석x = [1, 2, 3, 4, 5] y = [10, 12, 8, 15, 20] plt.plot(x, y, marker='o') plt.title("시간에 따른 변화") plt.xlabel..

Python 2025.04.16

[머신러닝 & 딥러닝] K-최근접 이웃(K-Nearest Neighbor, KNN)

00. 모수 모델(parametric model), 비모수 모델(nonparametric model), 인스턴스 기반 모델모수 모델: 새로운 데이터 포인트를 분류할 수 있는 함수를 학습하기 위해 훈련 데이터 셋에서 모델 파라미터를 추정훈련이 끝나면 원본 훈련 데이터셋이 필요 없음모수 모델 알고리즘 종류: 퍼셉트론, 로지스틱 회귀, 선형 SVM비모수 모델: 고정된 개수의 파라미터가 아닌 훈련 데이터가 늘어남에 따라 파라미터 개수도 늘어남비모수 모델 알고리즘 종류: 결정 트리/랜덤 포레스트, 커널 SVM, KNN인스턴스 기반 모델: 훈련 데이터 셋을 메모리에 저장01. K-최근접 이웃(K-Nearest Neighbor, KNN)지도 학습 알고리즘전형적인 게으른 학습기(lazy learner): 훈련 데이터에..

[머신러닝 & 딥러닝] 적응형 선형 뉴런(ADAptive Linear NEuron, ADALINE)

00. 적응형 선형 뉴런(ADAptive Linear NEuron, ADALINE)단일층 신경망의 종류버나드 위드로우와 테드 호프가 프랑크가 아달린을 발표아달린: 퍼셉트론의 향상된 버전01. 아달린 (ADALINE)핵심 개념: 연속 함수로 비용 함수를 정의하고 최소화함아달린 규칙 vs 퍼셉트론의 차이점가중치를 업데이트할 때: 퍼셉트론은 단위 계단 함수를 사용, 아달린은 선형 활성화 함수를 사용즉, 아달린은 퍼셉트론에서 최종 입력 함수와 임계 함수 사이에 활성화 함수가 추가된 형태아달린에서의 선형 활성화 함수: 단순한 항등 함수아달린과 퍼셉트론의 오차 비교 방법아달린: 진짜 클래스 레이블과 선형 활성화 함수의 실수 출력값을 이용해 모델의 오차를 계산하고 가중치를 업데이트퍼셉트론: 진짜 클래스 레이블과 예측..

[회고록] 패스트캠퍼스 부트캠프 3

기간: 2025.04.07 ~ 2025.04.1401. 학습 내용- Javascript[JavaScript] 변수[JavaScript] let, const 키워드와 블록 레벨 스코프[JavaScript] 표현식과 문- machine learning[머신러닝 & 딥러닝] 퍼셉트론(perceptron) - 이론02. 이번 주 목표AI 프로젝트 - 신사숙녀 쇼핑몰에 LLM 채팅 봇 추가 완료하기신사숙녀 쇼핑몰 기능 리팩토링 & 예외 처리 추가machine learning & deep learning 블로그 정리03. 회고록  이번 주에 AI 블로그 정리를 마무리하고 싶었는데, python이랑 js도 정리하고 싶어서 여러가지로 깊게 공부하지 못한 것이 아쉽슴니다.. 그래서 이번 주에는 딱 AI랑 프로젝트만 집중..

회고록 2025.04.14

[머신러닝 & 딥러닝] 퍼셉트론(perceptron) - 이론

00. 인공 뉴런: 초기 머신러닝의 간단한 역사맥컬록-피츠(MCP): 1943년 워렌 맥컬록과 월터 피츠가 처음으로 간소화된 뉴런 개념뉴런뇌의 신경세포와 서로 연결되어 있음화학적/전기적 신호를 처리하고 전달하는데 관여신경 세포를 이진 출력을 내는 간단한 논리 회로로 표현한 것수상 돌기에 여러 신호가 도착하면 세포체라는 한 곳으로 모아짐합쳐진 신호가 특정 임계 값을 넘으면 출력 신호가 생성되고 축삭 돌기를 이용하여 전달됨퍼셉트론 학습: 프랑크 로젠 블라트가 MCP 뉴런 모델을 기반으로 발표자동으로 최적의 가중치를 학습하는 알고리즘이 가중치는 뉴런의 출력 신호를 출력할 지 결정하기 위해 입력 특성에 곱하는 계수새로운 데이터 포인트가 한 클래스에 속하는지 예측할 수 있음01. 인공 뉴런의 수학적 정의인공 뉴런..

[JavaScript] 표현식과 문

01. 값(value)의미: 식(표현식expression)이 평가(evaluate)되어 생성된 결과평가: 식을 해석해서 값을 생성하거나 참조하는 것을 의미모든 값은 데이터 타입을 가지며, 메모리에 2진수(비트)의 나열로 저장02. 리터럴(literal)의미: 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법(notation)03. 표현식(expression)의미: 값으로 평가될 수 있는 문(statement)표현식이 평가되면 새로운 값을 생성하거나 기존 값을 참조리터럴도 표현식값으로 평가될 수 있는 문은 모두 표현식04. 문(statement)의미: 프로그램을 구성하는 기본 단위이자 최소 실행 단위프로그래밍: 문을 작성하고 순서에 맞게 나열하는 것문은 여러 토큰으로 구성토큰(t..

JavaScript 2025.04.10