본문 바로가기

CODING78

[알고리즘/Python] 삽입정렬 | Insertion sort 삽입정렬 [ Insertion sort ] - 배열의 인덱스를 늘려가면서 원소가 들어가야할 자리를 찾아서 삽입하는 정렬 -정렬 완료 된 부분 - 자리를 찾아야하는 원소 1 [34, 24, 67, 43, 93] 2 [24, 34, 67, 43, 93] 3 [24, 34, 67, 43, 93] 4 [24, 34, 43, 67, 93] 시간복잡도 ⏱ 최선의 경우 : O(n) 이미 정렬이 다 되어있는 경우 최악의 경우 : O(n²) 평균 : O(n²) 장점 1. 거의 정렬되어 있는 상태 ( O(n) ) 면 매우 빠른 효율성을 가지고 잇다 단점 1. 최악의 경우 ( ex : 거꾸로 정렬되어 있는 경우 ) O(n²) 라는 시간복잡도를 갖게 된다. 2. 데이터의 상태와 크기에 따라성능의 편차가 심하다 [ python.. 2020. 10. 6.
[알고리즘/Python] 선택정렬 | selection sort 선택정렬 [ selection sort ] - 전체원소 중에 가장 작은 값을 가장 앞에 있는 원소와 바꾸고, 바꾼 원소를 제외하고 계속 가장 작은 값을 앞으로 보내는 정렬 패스 테이블 최솟값 0 [9, 1, 6, 8, 5, 4, 2, 0] 0 1 [0, 1, 6, 8, 5, 4, 2, 9] 1 3 [0, 1, 2, 8, 5, 4, 6, 9] 2 4 [0, 1, 2, 8, 5, 4, 6, 9] 4 5 [0, 1, 2, 4, 5, 8, 6, 9] 5 6 [0, 1, 2, 4, 5, 8, 6, 9] 6 7 [0, 1, 2, 4, 5, 6, 8, 9] 8 시간복잡도 ⏱ 최선의 경우 : O(n²) 최악의 경우 : O(n²) 평균 : O(n²) 장점 1. 구현이 쉬움2. 정렬을 위한 비교 횟수는 많지만 실제로 교환.. 2020. 10. 6.
[HTML] 링크 만들기 & 폼 만들기 📌 링크만들기 🔎 하이퍼 링크 - 다른문서 or 다른 사이트로 연결해 주는 기능 - 메뉴 뿐만 아니라 원하는 곳에 링크를 만들 수 있음 [ 태그 ] 기본 : 텍스트 or ✔️ 반드시 href 속성을 사용해서 링크할 주소를 알려줘야 함 태그의 속성 📌 href - 링크할 문서나 사이트 주소 입력 - 링크를 만들 텍스트 / 이미지를 와 사이에 넣어줌 📌target - 다른 사이트로 연결하거나 현지 페이지에서 다른 페이지를 어떻게 열지 결정 _self : 링크를 클릭한 해당 창에서 연다. _blank : 링크를 새창으로 연다. _parent : 부모 창에서 연다. (부모 창이 없으면 _self 속성으로 처리) _top : 전체 브라우저 창에서 가장 상위의 창에서 연다. (부모 창이 없으면 _self 속성으로 .. 2020. 10. 1.
[기계학습] 로지스틱 회귀 | Logistic Regression [ 지난 글 ] 에서 다중선형회귀가 무엇인가에 대해 다뤄봤다. 다중선형회귀에서는 연속성 숫자를 가진 종속변수 Y는 구할 수 있지만 0 or 1 (범주형 숫자)에는 적용이 되지 않는 것을 볼 수있다. 아래의 그림은 나이에 따른 암 발병 여부인데 빨간 선이 의미가 없다는 것을 알 수 있다. 이런 문제는 로지스틱 회귀 모델을 적용할 수 있다. 🔎 로지스틱 함수 [ Logistic Function ] s - 커브 함수를 나타냄 x값은 어떤 값을 받아도 상관없지만 y값은 항상 0 ~ 1로 정해져 있음 시그모이드 함수라고 하기도 함 이항 로지스틱 회귀 결정경계란 2개의 클래스가 있을 때 클래스를 분류하는 기준 위와 같이 Y가 1이 될 확률이 0이될 확률보다 높으면 1로 분류하고 그 반대가 되면 0으로 분류하는데 그.. 2020. 9. 30.
[알고리즘/Python] 합병정렬 | merge sort 합병 정렬 [ Merge sort ] - 전체 원소를 하나의 단위로 분할한 후 분할한 원소를 다시 병합하면서 정렬하는 방식 시간복잡도 ⏱ 최선의 경우 : O(n log(n)) 최악의 경우 : O(n log(n)) 평균 : O(n log(n)) 장점 1. 퀵 정렬은 Pivot을 어떻게 잡느냐에 따라 성능이 안좋아지는 경우가 있는데 그런 경우 업이 항상 O(n log(n))이라는 시간복잡도를 가짐 2. 안정한 정렬 - 제자리 정렬로 구현할 수 있기 때문에 단점 1. 추가적인 메모리가 필요하다. 정렬해야할 양이 많다면 메모리가 부담스러울 수 있다. [ python merge sort code | 파이썬 합병 정렬 코드 ] 더보기 def merge(alist): if len(alist) > 1: mid = le.. 2020. 9. 29.
[기계학습] Bias - Variance Decomposition 🔎 Bias [편향] - 학습 알고리즘에서 잘못된 가정을 했을 때 발생하는 오차 - 모델의 치우침 정도 - 높은 bias는 underfitting 문제 발생 🔎 variance [분산] - 예측값이 평균과 얼마나 차이가 나는가 - 높은 variance는 큰 노이즈까지 모델링에 포함시키는 overfitting 문제 발생 일반적으로 bias ⬆️ 이면 variance ⬇️ 가 아니면 bias ⬇️ 일때 variance ⬆️ 📢 정규화란 - variance를 감소시켜서 일반화 성능 ⬆️ - 회귀계수가 가질수 있는 값에 제약조건을 부여하여 미래데이터에 대한 오차를 해결할 수 있을거라고 하는 것 ✔️ 왼쪽은 미래의 데이터가 조금만 바뀌어도 예측값이 들쭉 날쭉 ✔️오른쪽은 미래데이터 변화에 상대적으로 안정적인 결과.. 2020. 9. 29.