본문 바로가기

전체 글

EXplainable AI - with machine learning *tobigs_xai.log를 참고한 글입니다. 1. Feature Importance (= Permutation Importance) - 데이터의 특성(feature)이 알고리즘이 분류한 결과에 얼마나 큰 영향을 미치는지 분석하는 방법. - 특정 feature를 다른 값으로 바꾸었을 때 원래보다 예측 오차가 어떻게 변화하는지 확인하고 측정한다. 만약 A feature를 바꾸었을 때 예측 결과가 크게 달라졌다면, 그 모델은 A feature에 대한 의존도가 높은 것이고 A feature은 중요도가 높은 것. 2. 부분 의존성 플롯 (PDP; Partial Dependent Plot) - 알고싶은 feature의 수치를 선형적으로 변형시키면서 target 값이 얼마나 바뀌는지를 시각화하는 것. - pdpb.. 더보기
제1 저자 논문_한국디지털콘텐츠학회_난청 예방 위한 웹앱 개발 및 사용자 디자인 연구 한국디지털학회논문지에 2022년 8월 제1 저자로 게재하였던 논문입니다. 한국HCI학회지에 게재하였던 캡스톤 논문과 주제는 같지만, 앱 개발과 사용자 실험을 완료한 논문입니다. 과정을 간략하게 설멍하자면, 어른은 들을 수 없지만 어린 아이들이 들을 수 있는 고주파 소음으로 인해 발생 가능한 소음성 난청 등을 예방하기 위해 소리의 방향성을 나타내주는 알고리즘을 개발하였습니다. 그리고 Anvil이라는 웹앱 프레임워크를 사용하여 웹앱을 개발하였고 해당 알고리즘을 웹앱에 업로드하였습니다. 논문과 사용자 인터뷰를 기반으로 소리의 방향성에 대한 초기 시각화 디자인을 선정한 다음, 여러 사용자들을 대상으로 웹앱 사용 실험을 하여 그 결과를 통계적인 수치 및 정성적인 인터뷰로 종합하였습니다. 초록은 다음과 같습니다. .. 더보기
제1 저자 논문_한국HCI학회_머신러닝 기반 앱 개발 및 디자인 2022년 2월 제가 제1 저자로 작성하여 한국HCI학회지에 게재되었던 논문에 대한 글입니다. 제목은 '고음역 소음 방향성 분석하는 기계학습과 시각화 디자인'이며, 초록은 다음과 같습니다. "고음역대 소음으로 인한 문제를 해결하기 위해 듣지 못하는 소리를 찾아야 할 필요가 있다. 이에 스마트폰을 활용하여 소리의 근원지를 찾는 로지스틱 회귀분석 알고리즘을 제작하였다. 또한, 이 결과를 시각화하여 보여주는 세 개의 앱 중 어느 방법이 가장 효과적인 시각화 방법인지 분석한다." 해당 논문은 캡스톤 논문이기에 아직 앱 개발 및 실험이 완료되지는 않았으나, 연구의 목적 등 정성적인 부분과, 연구에 필요한 소리 데이터를 수집한 방법, 앞으로의 계획 등의 내용이 포함되어 있습니다. 후속 연구는 한국디지털콘텐츠학회에 .. 더보기
2022년 9월 서강대학교 인공지능학과 음성대화연구실 학부연구생 개인 공부 내용 # ISDS 공부 # 220906 1. **Git 사용법** - git에서 권장하는 메시지 형식 1번째 줄 : 커밋 내의 변경 내용을 요약 2번째 줄 : 빈 칸 3번째 줄 : 변경한 이유 - 작업트리(Work Tree) = 폴더 인덱스 = 커밋 실행하기 전의 저장소의 작업 트리 공간. 작업 트리에서 파일 수정하고 사이 공간인 인덱스에 파일 상태 기록(stage)하고 저장소로 커밋. 1. **Batch Normalization** 일반적인 Gradient Descent: gradient를 한 번 업데이트 하기 위해 모든 학습 데이터를 사용. 즉, 학습 데이터 전부를 넣어서 gradient를 다 구하고 그 모든 gradient를 평균해서 한 번에 모델 업데이트. → 대용량 데이터를 한 번에 처리하기 어렵기 .. 더보기
CS224N : NLP with Deep Learning | Lecture 1 - Intro & Word Vectors 전통적인 NLP : 단어를 표현할 때, 예를 들어 hotel = [0000010], motel = [0000100] 이런식으로 표현했음. 이 방법은 1. 단어의 개수가 많을수록 너무 고차원의 데이터를 필요로 함. 2. 단어간 유사성 파악할 수 없음(위와 같이, hotel과 motel은 유사함에도 불구하고 orthogonal 함). 이렇게 두 가지 문제점 존재. 그렇다면, 인간이 직접 만든 WordNet 같은 사전을 참고하여 유사성을 주는 방법은? -> incompleteness 함. So, Distributional Semantic 이라는 방법 도래함. "어느 단어의 의미"는 그 단어 근처에서 자주 등장하는 다른 단어로부터 온다는 것. 이를 들어, .... government debt problems t.. 더보기
JAVA - 클래스, 인스턴스, 객체지향 인스턴스 : 객체를 담을(은) 변수or컨테이너, 구체적인 객체. 구체적인 객체를 만들기 위해서는 그 객체가 어떤 메소드와 어떤 변수로 이루어져 있는가 나타내는 설계도가 있어야. 클래스 : 그 설계도 객체 : 변수와 메소드의 집합(?), 상태(int left, right에 10, 20이 들어가 있는 상태)와 행위(sum, avg같은 메소드를 실행하는 행위)의 집합! 클래스 안에 "this.변수명" 이렇게 되어있는 것에서 this는 해당 인스턴스(의 전역변수)를 의미함. ex) int left ... this.left는 해당 클래스에서 해당 인스턴스의, int형으로 선언한 left라는 변수를 가리킴. 더보기
백준 20291번 파일 정리 (C++) #define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include using namespace std; int N, cnt; vector ans; vector extension; int main() { scanf("%d", &N); cin.ignore(); //N 입력 후 \n 입력시 입력버퍼에 \n이 남음. cin.ignore은 이 하나를 지워 getline시 이상 없도록 하기 위한 것. for (int i = 0; i < N; i++) { string file; getline(cin, file); file.erase(0, file.find('.') + 1); extension.push_back(file); } sort(extens.. 더보기
anvil로 모바일 웹 만들기 - 2개의 fileloader로부터 각각 소리를 입력받아 그 크기를 비교하는 알고리즘 제작 중 어려움 해결 알고리즘 원리는 다음과 같다. 미리 핸드폰에 녹음된, 근원지가 핸드폰으로부터 left, right 쪽인 두 소리를 각각 anvil의 fileloader 기능을 통해 입력받는다. 그 다음, anvil.server로 연결된 내 코랩에서 입력된 소리를 librosa를 통해 전처리하여 그 크기의 평균을 수치로 변환하여 anvil 서버를 통해 return한다. 이때 문제가 발생하는데, 각각의 fileloader는 각각의 함수로 정의되기 때문에, 첫 번째 fileloader로부터 전달받은 소리 크기 수치가 그 fileloader 함수가 끝나면 날라가버린다. 그래서 두 번째 fileloader로부터 받은 소리 크기 수치와 첫 번째 소리 크기 수치를 비교할 수 있는 방법이 없었다. 함수 외부에 변수를 선언해 값을 입력.. 더보기