- 博客(14)
- 收藏
- 关注
原创 吴恩达机器学习作业8
estimateGaussian mu = sum(X) / m; sigma2 = sum((X - repmat(mu,m,1)) .^ 2) / m; selectThreshold predictions = (pval < epsilon); tp = sum((predictions == 1) & (yval == 1)); fp = sum((predictions == 1) & (yval == 0)); fn = sum((predictions == 0)
2020-08-14 14:11:42
140
原创 吴恩达机器学习作业7
pca sigma = X' * X / m; [U,S,V] = svd(sigma); projectData U_reduce = U(:,1:K); Z = X * U_reduce; recoverData U_reduce = U(:,1:K); X_rec = Z * U_reduce'; findClosestCentroids m = size(X,1); for i = 1:m ind_k = zeros(K,1); for j = 1:K ind_k(j)
2020-08-12 13:28:54
266
原创 吴恩达机器学习作业6
gaussianKernel sim = exp(-sum((x1 - x2).^ 2) / (2 * (sigma^2))); dataset3Params params = [0.01,0.03,0.1,0.3,1,3,10,30]; MinError = 10000.0; for Cval = params, for sigVal = params, model = svmTrain(X,y,Cval,@(x1,x2) gaussianKernel(x1,x2,sigVal));
2020-08-10 17:02:51
222
原创 吴恩达机器学习作业5
linearRegCostFunction h = X * theta; J = sum((h - y).^ 2) / (2 * m) + lambda / (2 * m) * sum(theta(2:end) .^ 2); grad = X' * (h - y) / m; grad(2:end) = grad(2:end) + lambda / m * theta(2:end); learningCurve for i = 1:m [theta] = trainLinearReg(X(1:i,:
2020-08-09 15:21:44
245
原创 吴恩达机器学习作业4
sigmoidGradient var foo = 'bar'; randInitializeWeights var foo = 'bar'; nnCostFunction // An highlighted block var foo = 'bar';
2020-08-08 22:03:45
219
原创 吴恩达机器学习作业3
lrCostFunction h = sigmoid(X * theta); temp = theta; temp(1) = 0; grad = X' *(h - y) ./ m + lambda / m * temp; J = lambda / (2 * m) *(temp' * temp) + (y' * log(h) + (1 - y)' * log(1 - h)) / ( - m) oneVsAll for c = 1:num_labels initial_theta = zeros(n
2020-08-07 20:20:26
630
原创 吴恩达机器学习作业2
plotData pos = find(y == 1) neg = find(y == 0) % 属于分类1的样本赋值为pos,属于分类2的样本赋值为neg plot(X(pos,1),X(pos,2),'k+','LineWidth',2,'MarkerSize',7) plot(X(neg,1),X(neg,2),'ko','MarkerFaceColor','y','MarkerSize',7) % X(pos, 1), X(pos, 2)表示分类1样本的横纵坐标,'k+'表示线性为加号型、黑色,L
2020-07-21 17:14:24
381
原创 吴恩达机器学习作业1
warmUp 返回一个5阶单位矩阵 A = eye(5) plotData plot(x,y,'rx','MarkerSize',10) ylabel('Profit in $10,000s') xlabel('Population of City in 10,000s') computeCost h = x * theta J = 0 for i = 1:m J = J +(h(i) - y(i)) * (h(i) - y(i)) end J = J / (2 * m) g
2020-07-20 19:48:30
201
原创 数组88. Merge Sorted Array
题目要求 合并两个有序数组 先插入后排序 思路 把数组2插入到数组1后面,然后排序 代码 class Solution(object): def merge(self, nums1, m, nums2, n): nums1[m :] = nums2[:n] nums1 = nums1.sort() 运行结果 反向比较 思路 从尾到头比较 nums1 和 nums2,大的数放在 nums1 的尾部,如果 nums2 中还有剩下的数,就把它们放在 nums1 的头部
2020-07-20 14:30:33
66
原创 数组66. Plus One
题目要求 将按位存放在数组中的整数加一 思路 从尾到头遍历数组,如果该位不等于9,直接加一然后返回数组;如果该位等于9,将该位变成0然后继续循环;如果最后还有进位,就在数组头部插入1 代码 class Solution(object): def plusOne(self, digits): for i in range(len(digits)-1,-1,-1): if digits[i] is not 9: digits[i]
2020-07-19 11:46:21
196
原创 数组35. Search Insert Position 折半查找
题目要求 在有序数组中查找目标值,如果目标值存在,返回数组下标,如果目标值不存在,返回目标值应该插入的位置 折半查找 思路 使用折半查找的思想,注意循环判断条件是 left <= right,才能找到目标值应该插入的位置 代码 class Solution(object): def searchInsert(self, nums, target): """ :type nums: List[int] :type target: int
2020-07-18 11:00:13
58
原创 数组27. Remove Element 双指针法
题目要求 移除数组中等于指定值的元素,要求不使用额外空间 双指针法 思路 两个指针 i 和 j,如果 j 指向的元素不等于 val,就把 nums[j] 赋值给 nums[i] ,否则 j 向后移,这样就可以把不等于val的值都保留 代码 class Solution(object): def removeElement(self, nums, val): """ :type nums: List[int] :type val: int
2020-07-17 11:56:39
81
原创 数组26.Remove Duplicates from Sorted Array 双指针法
题目要求 删除排序数组中的重复项,返回删除后数组的长度 双指针法 思路 指针 i 不动,指针 j 向后遍历,如果 nums[i] 不等于 nums[j] 那么把 nums[j] 的值赋给 i 的后一位,如果相等,j 继续向后遍历 代码 class Solution(object): def removeDuplicates(self, nums): """ :type nums: List[int] :rtype: int """
2020-07-16 15:22:17
84
原创 数组1.Two Sum n²暴力解法/哈希法
题目要求 从数组中找出两个数,这两个数加在一起等于目标值target,返回这两个数的下标 暴力法 思路 指针 i 不动,指针 j 向后扫描数组,直到找到 nums[i] + nums[j] 的值等于 target 或者 j 大于数组长度为止 如果没找到,指针 i 加 1,重复上述过程,直到找到或者指针 i 大于数组长度为止 代码 class Solution(object): def twoSum(self, nums, target): length = len(nums)
2020-07-04 15:33:55
136
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人