Colin's blog

A football fan,an English lover and a coder


  • 首页

  • 分类

  • 关于

  • 归档

  • 标签

machine learning exercise6 Coursera

发表于 2017-02-18   |   分类于 机器学习
第六次上机作业: gaussianKernel.m dataset3Params.m processEmail.m emailFeatures.m gaussianKernel.m高斯核函数 sim = exp(-sum((x1 - x2) .^ 2) / (2 * sigma * sigma)); dataset3Params.m求最优的C和sigma function [C, sigma] = dataset3Params(X, y, Xval, yval) C = 1; sigma = 0.3; right_c = C; right_sigma = sigma; error = 1; predictions = zeros(size(yval),1); t = [0.01;0.03;0.1;0.3;1;3;10;30]; for i = 1:8 for j = 1:8 C = t(i); sigma = t(j); %调用包里的svmTrain函数 model = svmTrain(X, y , C, @(x1, x2) gaussian ...
阅读全文 »

machine learning exercise5 Coursera

发表于 2017-02-18   |   分类于 机器学习
第五次上机作业: linearRegCostFunction.m learningCurve.m polyFeatures.m validationCurve.m linearRegCostFunction.m线性回归的代价函数及梯度计算 J = sum((X * theta - y) .^ 2) / (2 * m); J += sum(theta(2 : end) .^ 2) * lambda / (2 * m); p = X' * (X * theta - y) / m; grad(1) = p(1) ; grad(2 : end) = p(2 : end) + (lambda / m) * theta(2 : end); learningCurve.m学习曲线,样本数量和错误的曲线。 %求theta的函数 function [theta] = trainLinearReg(X, y, lambda) initial_theta = zeros(size(X, 2), 1); costFunction = @(t) linearRegCostFunction(X, ...
阅读全文 »

machine learning exercise4 Coursera

发表于 2017-02-11   |   分类于 机器学习
第四次上机作业: sigmoidGradient.m randInitializeWeights.m nnCostFunction.m sigmoidGradient.m一个简单的求偏导数的公式 g = sigmoid(z) .* (1 - sigmoid(z)); randInitializeWeights.m随机初始权重函数。 epsilon_init = 0.12; W = rand(L_out, 1 + L_in) * 2 * epsilon_init - epsilon_init; nnCostFunction.m后向传播算法的应用 第一步,先用前向传播求出各层的特征值; a1 = [ones(m,1), X]; z2 = a1 * Theta1'; a2 = sigmoid(z2); a2 = [ones(m, 1),a2]; z3 = a2 * Theta2'; a3 = sigmoid(z3); Y = zeros(m, num_labels); %将y变成矩阵形式 for i = 1:m Y(i, y(i)) = 1; end 第二步,求 ...
阅读全文 »

machine learning exercise3 Coursera

发表于 2017-02-07   |   分类于 机器学习
第三次上机作业: lrCostFunction.m (logistic regression cost function) oneVsAll.m predictOneVsAll.m predict.m lrCostFunction.m正规化的逻辑回归代价函数和梯度,这是之前的内容,算是复习吧 J = sum(-y .* log(sigmoid(X * theta)) - (1 - y) .* log(1 - sigmoid(X * theta))) / m; J += lambda / (2 * m) * sum(theta(2 : end).^2); t = ( X' * (sigmoid(X * theta) - y)) / m; grad(1) = t(1); grad(2 : end) = t(2 : end) + (lambda / m) * theta(2 : end); oneVsAll.m这是“一对多”求出theta即各个参数,这里的theta是矩阵方式存在的,不像之前的只有一列。这里的任务是识别1-10,这几个数,num_labels就是10,y是输出的 ...
阅读全文 »

machine learning exercise2 Coursera

发表于 2017-02-03   |   分类于 机器学习
第二次上机作业: sigmoid.m costFunction.m predict.m costFunctionReg.m sigmoid.m这是逻辑回归的假设函数计算 t = ones(size(z)); g = 1 ./ (exp(-z) + t); costFunction.m and costFunctionReg计算代价函数和梯度 无正规化: J = sum(-y .* log(sigmoid(X * theta)) - (1 - y) .* log(1 - sigmoid(X * theta))) / m; p = X' * (sigmoid(X * theta) - y); grad = p / m 正规化: J = sum(- y .* log(sigmoid(X * theta)) - (1 - y) .* log(1 - sigmoid(X * theta))) / m J += (lambda /(2 *m)) * sum(theta(2:end) .^2); t =X'*(sigmoid(X * theta) - y) / m; ...
阅读全文 »
1…171819…23
Shen Hao

Shen Hao

Colin's blog | acm |c++

114 日志
6 分类
71 标签
GitHub
© 2017 Shen Hao
由 Hexo 强力驱动
主题 - NexT.Muse