Machine Learning 梯度下降

2021-07-01 21:53:06 字數 1421 閱讀 1015

對於lost function利用梯度下降的方法實現引數調整,梯度下降在每一次迭代的過程中需要全部樣本參與,而隨機梯度法或增量梯度法在迭代中利用樣本中的乙個樣本更新引數。

梯度下降達到全域性最優:

#include #include using namespace std;

#define maxiter 2200

int main(int argc, char *argv)

; float y[4]=;

float theta0,theta1;

float a=0.2;

theta0=0;

theta1=1.1;

float ptheta0=theta0;

float ptheta1=theta1;

//梯度下降

int iter=1;

float diff;

while(iter<=maxiter)

//if((ptheta0-theta0)*(ptheta0-theta0)+(ptheta1-theta1)*(ptheta1-theta1)<0.1) break;

//else

//iter=iter+1;

}printf("iter=%d\n",iter);

printf("theta0=%f,theta1=%f\n",theta0,theta1);

system("pause");

return exit_success;

}

隨機梯度法接近全域性最優:

#include #include using namespace std;

#define maxiter 2200

/*********************

**y=theta0+theta1x

*********************/

int main(int argc, char *argv)

; float y[4]=;

float theta0,theta1;

float a=0.2;

theta0=0;

theta1=1.1;

float ptheta0=theta0;

float ptheta1=theta1;

//梯度下降

int iter=1;

float diff;

while(iter<=maxiter)

iter=iter+1;

}printf("iter=%d\n",iter);

printf("theta0=%f,theta1=%f\n",theta0,theta1);

system("pause");

return exit_success;

}

安裝Machine Learning環境

公升級python版本到3.5以上。詳情參考linux公升級python版本 步驟1中也包含了安裝pip 第一批ml環境 pip install tensorflow pip install keras pip install beautifulsoup4 pip install lxml pip ...

機器學習(Machine Learning)

最近開始接觸機器學習,簡稱ml。ml 可以這樣理解,從一堆資料中提煉出特徵值。首先,我們需要在計算機中儲存歷史的資料。接著,我們將這些 資料通過機器學習演算法進行處理,這個過程在機器學習中叫做 訓練 處理的結果可以被我們用來對新的資料進行 這個結果一般稱之為 模型 對新資料 的 過程在機器學習中叫做...

書評 Machine Learning(機器學習)

就憑作者tom m.mitchell是aaai主席這一點,就能讓人相信,這是本值得一讀的書。本人讀的是中文翻譯版,曾華軍等譯。本人的感覺是讀上去相當通順,沒有需要對照原文才能讀懂的東西,而且術語翻譯的也很到位,可以說翻譯的相當好。說實話,國內翻譯的書籍,質量參差不齊,有的讀上去甚至有機器翻譯之嫌疑,...