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中一個新建一個檔名為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工作目錄中,以待執行路徑搜尋)命令視窗如下圖所示