matlab互動式程式設計示例:[3]FINDS演算法試驗?

MATLAB是美國MathWorks公司出品的商業數學軟體,用於演算法開發、資料視覺化、資料分析以及數值計算的高階技術計算語言和互動式環境,主要包括MATLAB和Simulink兩大部分。

機器學習(Machine Learning, ML)是一門多領域交叉學科,涉及概率論、統計學、逼近論、凸分析、演算法複雜度理論等多門學科。專門研究計算機怎樣模擬或實現人類的學習行為,以獲取新的知識或技能,重新組織已有的知識結構使之不斷改善自身的效能。

它是人工智慧的核心,是使計算機具有智慧的根本途徑,其應用遍及人工智慧的各個領域,它主要使用歸納、綜合而不是演繹。

FIND-S演算法

1. 將h初始化為H中最特殊假設

2.對每個正例x

對h的每個屬性約束ai

如果x滿足ai

那麼不做任何處理

否則將h中ai替換為x滿足的下一個更一般的約束

3. 輸出假設h

工具/原料

matlab

方法/步驟

FINDS演算法:

資料結構定義:

% %A=[sunny,warm,normal,strong,warm,change yes;

% % sunny,warm,high,strong,warm,same yes ;

% % sunny,warm,high,strong,cold,change yes ;

% % rainy,cold,high,strong,warm,change no];

% %第一,二,三行是yes,為正例 用1表示;第四行是no,為反例 用0表示

% %設各種屬性的第一種取值為1,第二種取值為2,第三種取值為3,取為?設為0,哪種值都不取設為4

h=[4,4,4,4,4,4];%將h初始化為H中最特殊假設

A=[1,1,1,1,1,1,1;

1,1,2,1,1,2,1;

1,1,2,1,2,1,1;

2,2,2,1,1,1,0];

matlab互動式程式設計示例:[3]FINDS演算法試驗

在MATLAB中一個新建一個檔名為find.s輸入如下內容程式碼

function Finds()

% %A=[sunny,warm,normal,strong,warm,change yes;

% % sunny,warm,high,strong,warm,same yes ;

% % sunny,warm,high,strong,cold,change yes ;

% % rainy,cold,high,strong,warm,change no];

% %第一,二,三行是yes,為正例 用1表示;第四行是no,為反例 用0表示

% %設各種屬性的第一種取值為1,第二種取值為2,第三種取值為3,取為?設為0,哪種值都不取設為4

h=[4,4,4,4,4,4];%將h初始化為H中最特殊假設

A=[1,1,1,1,1,1,1;

1,1,2,1,1,2,1;

1,1,2,1,2,1,1;

2,2,2,1,1,1,0];

%前三行均為正例,故g不變,s改變

for i=1:4

for j=1:6

if A(i,7)==1

if h(:,j)~=A(i,j)&&h(:,j)~=4

h(:,j)=0;

elseif h(:,j)~=A(i,j)&&h(:,j)==4

h(i,j)=A(i,j);

elseif h(:,j)~=A(i,j)&&h(:,j)==0

h(:,j)=0;

elseif h(:,j)==A(i,j)

continue;

end

end

end

end

disp('極大特殊假設h:');

disp(h);

第一步在command windows 裡輸入finds 執行這個檔案。(原始碼要放到MATLAB的work工作目錄中,以待執行路徑搜尋)命令視窗如下圖所示

matlab互動式程式設計示例:[3]FINDS演算法試驗

演算法, 互動式, 程式設計, 示例,
相關問題答案