ai問題 = 模型+優化
優化是使用一些工具進行解決(sgd、adm等各種演算法進行優化),那麼怎麼選擇優化演算法?將得到的模型和問題,能夠明確知道屬於哪些問題,從而選擇正確的方法。
並不是使用演算法就好了,也要加一些東西:比如正則化。
objective function 目標函式,由目標函式分類,選擇相應的優化演算法
全域性最優解和區域性最優解,如果是凸函式,那麼找到的姐是全域性最優解,如果不是凸函式找到的是區域性最優解,此時想方設法得到最好的區域性最優解。
non-convex問題很難解決,解決辦法:改變量學公式得到convex。
怎麼判斷乙個函式是否是凸函式:也就是判斷定義域是否是凸集。
任意x,y屬於集合,並且任意引數a屬於[0,1],ax+(i-a)y屬於集合,則該集合為凸集,判斷方法:選取集合中的任意兩點連線,所有線上的點都在集合中。
非凸函式怎麼解決:
set cover problem:將全集劃分為m個子集合,尋找最小的子集合個數,使得集合的並為全集。演算法:窮舉法、貪心法、數學上的表達方法。
窮舉演算法:
1、選擇乙個集合,即每個集合單獨進行判斷是否為全集。
2、選擇兩個集合
3、選擇三個集合
直到找到為止。方法:簡單,考慮到了所有的可能性,得到的答案已定位全域性最優解,擔憂由於一般情況下問題規模比較大所以一般不適用。
貪心演算法:
考慮全部的集合,然後去掉一些集合,看哪些集合滿足條件。但在此問題上貪心並不能保證得到最優解。 也就是貪心演算法並不能保證全域性最優解。
數學角度看問題:對每個子集合有兩種情況:選擇或者不被選擇,那麼就用變數xi表示選或者不選。目標函式:xi最少;條件:全集每乙個元素都在子集合裡面;
golang gc 優化思路以及例項分析
乙個即將上線的go 寫的高頻服務,壓測的時候發現 gc 特別高,高到10 15 左右了,本文記錄下優化 gc 的過程和和思路。線上環境1.10.首先,檢視gc 是否有異常,我們可以使用 gctrace 跟蹤實時的gc 執行下面命令可以看到gc 的實時資訊。godebug gctrace 1 go r...
MySQL優化例項
在apache,php,mysql的體系架構中,mysql對於效能的影響最大,也是關鍵的核心部分。對於discuz 論壇程式也是如此,mysql的設定是否合理優化,直接影響到論壇的速度和承載量!同時,mysql也是優化難度最大的乙個部分,不但需要理解一些mysql專業知識,同時還需要長時間的觀察統計...
MySQL優化例項
mysql優化例項 在apache,php,mysql的體系架構中,mysql對於效能的影響最大,也是關鍵的核心部分。對於discuz 論壇程式也是如此,mysql的設定是否合理優化,直接 影響到論壇的速度和承載量!同時,mysql也是優化難度最大的乙個部分,不但需要理解一些mysql專業知識,同時...