機器學習基石第四周筆記

2021-08-27 08:58:09 字數 1482 閱讀 9070

我們用罐子取彈珠來模擬機器學習,罐子裡的彈珠模擬x,假設我們已經通過機器學習得到了hypothesis h(x),用這個h(x)分類正確的x設為綠色彈珠,分類錯誤設為橘色彈珠,為了能估計eout,我們取出一些彈珠求出綠色彈珠的比例,即求ein,就能估計eout,而能為我們的估計作出保證的就是hoeffding不等式。

但是上述這一過程並沒有進行機器學習,因為我們已經事先得到了乙個hypothesis,而沒有從許多hypothesis中進行選擇的過程。實際上,上述方法用於validation中,進行validation的時候,我們已經完成了學習到最好的hypothesis的過程,即已經得到了乙個h,我們就通過hoeffding不等式保證這個h的eout到底有多好。

那麼真正的學習有許多hypothesis選擇又會怎麼樣呢?首先我們用從丟硬幣可以知道,當丟的次數很多時,小概率事件會發生。

換到機器學習中,對於某堆抽出來的資料,如果我們有很多hypothesis供我們選擇,那麼我們有很大可能剛好有某個hypothesis對這堆資料表現很好,它的ein很低,然而實際上eout卻不是那麼好,與ein相差很大。hoeffding不等式保證我們大部分情況下資料ein和實際的eout很接近,但是仍然有小部分資料是不好的,而大量的選擇會增大這種不好的機率。

所以我們需要選擇乙個好的資料,這個資料能讓演演算法自由自在做選擇,即當我們有許多hypothesis選擇時,這些hypothesis作用在資料上得到的ein和eout都很接近,我們不用擔心會踩到雷。而只要在乙個hypothesis上,ein和eout差的很遠,那這就不是好的資料。

我們可以算出不是好的資料的概率:

最後我們可以得到,如果hypothesis是有限的,然後抽出來的資料又足夠大,那麼對於任意的演演算法來說,我們都可以保證ein和eout很接近。然後如果有乙個演演算法的ein很小,我們就有很大把握知道eout也會很小,就能學習到乙個好的演演算法。

第四周筆記

1.class的get set方法 提供相對安全方式訪問成員變數 2.class的建構函式 作用 初始化物件的屬性 特點 a.沒有函式返回值 b.函式名與型別相同 c.可以過載 d.例項乙個物件會自動呼叫建構函式 3.class的析構函式 作用 釋放物件給屬性分配空間 特點 a.無返回值 b.不能過...

第四周筆記 c Boolan

從這週開始,進入了c 下半部分的學習,這周學習的東西相對之前來說比較瑣碎,但都是值得注意的地方。一 轉換函式 轉換函式是一種特殊型別的類成員函式。它定義了乙個由使用者定義的轉換,以便把乙個類物件轉換成某種其他的型別。在類的宣告中,通過指定關鍵字operator,並在其後加上轉換的目標型別可以來宣告轉...

第四周筆記整理(1)

boolean,byte,char,short,int,long,float,double boolean,byte,character,short,integer,long,float,double 整數型別資料均有快取機制,如果在該範圍內從快取陣列取出,不會例項化新的物件,預設範圍 128 12...