선형 회귀의 가장 작은 제곱

저자:작은 꿈, 2016-12-18 11:36:26, 업데이트: 2016-12-18 11:41:31

선형 회귀의 가장 작은 제곱


  • 첫 번째, 소개

    이 기간 동안?? 기계 학습?? 을 배우고, 5장?? Logistic regression?? 을 배웠고, 상당히 힘들어졌다. 이 추적 원천은?? Logistic regression?? 에서?? 선형 regression?? 으로부터?? 최소 2배법칙?? 으로 이어졌다. 마침내?? 고급 수학?? (제6판) 9장 10장?? 최소 2배법칙?? 으로 정렬되었다. 이것은 최소 2배법칙의 수학 원리가 어디에서 왔는지 알 수 있었다. 최저 2 곱하기 은 최대우화 문제에서 경험 공식을 만드는 구현 방법이다. 그 원리를 이해하는 것은 로지스틱 회귀 가 벡터 기계를 지원하는 학습 을 이해하는 데 유용하다.

  • 두 번째, 배경 지식

    의 최소 2 곱하기 의 출현의 역사적 배경은 흥미롭습니다.

    1801년, 이탈리아 천문학자 주세프 피아지가 최초의 소행성인 밸리 신스타를 발견하였다. 40일간의 추적 관찰 후, 밸리 신스타가 태양의 뒤쪽으로 이동하기 때문에 피아지는 밸리 신스타의 위치를 잃었다. 이후 전 세계 과학자들은 피아지의 관측 데이터를 사용하여 밸리 신스타를 찾기 시작했지만 대부분의 사람들의 계산에 따라 별을 찾지 못했다. 당시 24세였던 고스는 또한 밸리 신스타의 궤도를 계산했다. 오스트리아 천문학자 하이리히 올버스는 고스의 계산에 따라 궤도를 다시 발견했다.

    가우스의 최소제곱의 방법은 1809년 그의 저서?? 천체 운동론?? 에서 발표되었으며, 프랑스의 과학자 레젠더는 1806년 독립적으로?? 의 최소제곱을 발견했다.

    1829년, 가우스는 최소제곱의 최적화 효과가 다른 방법보다 강하다는 증거를 제공하였다. 가우스-말코프 정리를 참조하라.

  • 3. 지식의 활용

    最小二乘法의 핵심은 모든 데이터의 편차의 제곱과 최소를 보장하는 것이다.

    만약 우리가 몇 척의 전함의 길이와 너비 데이터를 수집한다면

    img

    이 자료를 바탕으로, 우리는 Python으로 분포점 그래프를 만들었습니다.

    img

    이 그림의 코드는 다음과 같습니다.

    import numpy as np                # -*- coding: utf-8 -*
    import os
    import matplotlib.pyplot as plt
    def drawScatterDiagram(fileName): # 改变工作路径到数据文件存放的地方
        os.chdir("d:/workspace_ml")
        xcord=[];ycord=[]
        fr=open(fileName)
        for line in fr.readlines():
            lineArr=line.strip().split()
            xcord.append(float(lineArr[1]));ycord.append(float(lineArr[2]))
        plt.scatter(xcord,ycord,s=30,c='red',marker='s')
        plt.show()
    

    이 두 점을 빼면 이 두 식을 얻을 수 있습니다 152a+b=15.5 328a+b=32.4 이 두 방정식을 풀면 a=0.197, b=-14.48 이 그래프의 크기는

    img

    이제 새로운 질문입니다. a와 b가 최선인지? 전문적인 표현은 a와 b가 모델의 최선 변수인지입니다. 이 질문에 답하기 전에 다른 질문을 해봅시다.

    답은: 모든 데이터의 제곱과 최소의 편차를 보장합니다. 원리에 대해서는 나중에 이야기 할 것입니다. 먼저 이 도구를 사용하여 a와 b를 가장 잘 계산하는 방법을 살펴보겠습니다. 모든 데이터의 제곱과 M를 가정하면

    img

    이제 우리가 해야 할 일은 M를 a와 b의 최소로 만드는 것입니다.

    사실 이 방정식은 a, b를 자기변수로, M를 변수의 계수로 하는 이차 함수입니다.

    고수에서 원수 함수에 대한 극값이 어떻게 되는지 다시 생각해 봅시다. 우리는 이분수 도구를 사용합니다. 그렇다면 이분수 함수에서는 여전히 이분수를 사용합니다. 하지만 이분수에는 새로운 명칭이 있습니다. 이분수는 두 변수 중 하나를 상수로 간주하여 이분수를 구하는 것입니다. 이 방정식에서 M에 대한 편도함수를 구하면

    img

    이 두 방정식의 xi와 yi는 모두 알려져 있습니다.

    a와 b를 구하는 것이 쉽다. 위키백과의 자료를 이용하기 때문에, 저는 바로 그 답을 사용하여 적절한 이미지를 그리겠습니다.

    img

    # -*- coding: utf-8 -*importnumpy as npimportosimportmatplotlib.pyplot as pltdefdrawScatterDiagram(fileName):
    # 改变工作路径到数据文件存放的地方os.chdir("d:/workspace_ml")xcord=[];
    # ycord=[]fr=open(fileName)forline infr.readlines():lineArr=line.strip().split()xcord.append(float(lineArr[1]));
    # ycord.append(float(lineArr[2]))plt.scatter(xcord,ycord,s=30,c='red',marker='s')
    # a=0.1965;b=-14.486a=0.1612;b=-8.6394x=np.arange(90.0,250.0,0.1)y=a*x+bplt.plot(x,y)plt.show()
    # -*- coding: utf-8 -*
    import numpy as np
    import os
    import matplotlib.pyplot as plt
    def drawScatterDiagram(fileName):
        #改变工作路径到数据文件存放的地方
        os.chdir("d:/workspace_ml")
        xcord=[];ycord=[]
        fr=open(fileName)
        for line in fr.readlines():
            lineArr=line.strip().split()
            xcord.append(float(lineArr[1]));ycord.append(float(lineArr[2]))
        plt.scatter(xcord,ycord,s=30,c='red',marker='s')
        #a=0.1965;b=-14.486
        a=0.1612;b=-8.6394
        x=np.arange(90.0,250.0,0.1)
        y=a*x+b
        plt.plot(x,y)
        plt.show()
    
  • 네, 근본적인 탐구

    데이터 합성에서, 왜 모델의 예측 데이터와 실제 데이터의 차이의 제곱을 절대값과 최소값 대신 모델의 매개 변수를 최적화하도록 하는 걸까요?

    이 질문에 대한 답변은 이미 있습니다. 링크를 참조하십시오.http://blog.sciencenet.cn/blog-430956-621997.html

    개인은 이 설명이 매우 흥미롭다고 느꼈다. 특히 그 안의 가설: f (x) 의 모든 지점에서 벗어나는 모든 지점에는 소음이 있다.

    한 점의 편차가 더 멀리 갈수록 더 큰 소음, 더 작은 점의 발생 확률이 나타난다. 그렇다면 편차의 정도 x와 발생 확률 f (x) 는 어떤 관계를 충족시키는가?

    img

    img

  • 5. 확장 확장

    위와 같은 경우 모두 2차원 상태이며, 즉 하나의 자변이 있습니다. 그러나 실제 세계에서 최종 결과에 영향을 미치는 것은 여러 가지 요소의 중첩이며, 즉 자변이 여러 가지 상태가있을 수 있습니다.

    일반적인 N 준선형 함수들에 대해, 선형 대수열에 있는 역매트릭스를 이용하여 구하기는 괜찮다; 적절한 예제를 일시적으로 찾지 못하기 때문에, 유도수로 여기 남아 있다.

    물론 자연은 단순한 선형보다는 다항성 합성이 더 많고, 그것은 더 높은 내용이다.

  • 참고자료

원작 저작물, 복제 허용, 복제 할 때 반드시 하이퍼 링크 형태로 기사의 원본을 표시하십시오. 작가 정보 및 이 선언;; 그렇지 않으면 법적 책임을 다할 것입니다.http://sbp810050504.blog.51cto.com/2799422/1269572


더 많은