lrcostfunction.m(邏輯回歸的代價函式)
%套用代價函式公式
hx=sigmoid(x*theta);
j = 1 / m * sum((-y) .* log(hx) - (1 - y) .* log(1 - hx)) + lambda / (2 * m) * (sum(theta .^ 2) - (theta(1) ^ 2));
%theta(1)無需進行梯度下降
grad=1/m*(x'*(hx-y)+lambda*theta);
grad(1)=grad(1)-lambda/m*theta(1);
onevsall.m(onevsall演算法應用於多分類)
%theta初始化
initial_theta=zeros(n+1,1);
%設定fminunc選項
options=optimset('gradobj','on','maxiter',50);
%fmincg使用梯度下降計算代價函式最優解
for i=1:num_labels
c=i*ones(size(y));
[theta]=fmincg(@(t)(lrcostfunction(t,x,(y==c),lambda)),initial_theta);
all_theta(i,:)=theta;
end
predictonevsall.m
predict=sigmoid(x*all_theta');
[x,ix]=max(predict,,2);
p=ix;
predict.m
x=[ones(m,1) x];
a=sigmoid(x*theta1');
a=[ones(size(a,1),1) a];
[x,p]=max(sigmoid(a*theta2'),,2);
第四周程式設計作業
5 1輸入乙個正整數 n 1 n 10 和n 階方陣a的元素,如果方陣a中的所有元素都沿主對角線對稱,輸出 yes 否則,輸出 no 主對角線為從矩陣的左上角至右下角的連線,方陣a中的所有元素都沿主對角線對稱指對所有i,k,a i k 和a k i 相等。輸入輸出示例如下 輸入 3 1 2 3 4 ...
第四周作業
第四周實驗作業 1.完成課本每乙個程式設計題。要求先畫出流程演算法圖或n s圖,然後程式設計實現,有可能的話使用兩種以上方法 1.1求自然對數e的近似值 include using namespace std int main cout 1.2求圓周率 的近似值 include using name...
第四周作業
實驗作業1.完成課本每乙個程式設計題。要求先畫出流程演算法圖或n s圖,然後程式設計實現,有可能的話使用兩種以上方法 2.程式設計求 百錢百雞 問題。雞翁一值錢五,雞母 一值錢三,雞雛三值錢一。百錢買百雞,問雞翁 雞母 雞雛各幾何?3.程式設計輸入乙個整數,計算它是幾位數字,分別輸出每一位數字,並輸...