Today I listened to a podcast about discussing the current status of AI in health care. One story strikes me: During my time as assistant professor at NYU, we tried ML to classify prostate cancer using Prostate indicator time series, as opposed to classical rule-of-thumb. Guess what? We could not beat the classical rule-of-thumb. In the era of AI+X, everyone in the field of data-driven modeling is claiming they are performing better than the classic old-but-gold folks, who has no distractions from cell phone/internet but only books to read. Everyone is saying their model is faster than classic computing with the same accuracy, given the underlying physics following a smooth relation. However, when it comes to industry practice, still the classical simulation plays the dominant role.
Here is my hypothesis: one must think out of the box, in order to win over the golden-forerunners. One example for the above is to instead of looking at a human-crafted indicator, how about looking at hundreds of indicators? This is related to the popular common thought of "everything can be better learned end-to-end". Here the box is looking at human crafted features. What are the boxes in my field? And how to jump out of them? 1. Classic numerical schemes, turbulence models. If I use fancy ML for just model calibration, one should not expect to outperform existing models very well.
2. Classic engineering cycle of simulation - with multiple physical fidelity, then change-of-design, then do it again.
3. Classic simulation setup. Know what physics that you are dealing with. Then figure out the equations to solve. Go search corresponding solvers or numerical schemes. Run the simulations. Visualize the results to stakeholders.
4. Classical algorithms rely on mesh and simulation is not integrated with experiments.
All in all, do not explore the same direction that old people had gone before. Either you start a completely new game (preferred) or you change the rules (weak). Concluding remarks:
Introduction Most of the time when doing a tedious hyperparameter studies in neural network or other ML method that not strongly supported by by sklearn or not the way written in sklearn. Usually a simple fix for grid search can be done using bash script. The framework of bash for hyperparameter tunning is simply copying files and folders for each case and running each cases with specific command line argument list. Things will be discussed here:
For loop Usually we want to loop over a list of string, such as number of hidden units, method of ML to use, etc. Bash script: loop over string
Pause Bash script: pause program waiting for prompt
Kill all python processes Code Editor
Lecture 1.
Logical operator for AND and OR
1. X=y=z=17 is valid, evaluate from right to left 2. C++ has integer division and floating point division 31/2/2.0 = (31/2)/2.0, integer first
} else {... } Note: compared to python, there is no : and tab requirement
...break; case 4: ...break; Case 5: ...break; ... default: .... (No break) }
}
{ Function code... }
Example: Int computeFactorial( int num ); Name should be descriptive for its purpose
During the development of a HPC software, coverage test becomes actually important when you confront some non-deadly error but can be unacceptable for any serious academic publication.
Here I am going to describe about the techniques for coverage testing. Coverage testing in GNU compiler A simple coverage test can be done in the following four steps:
|
AuthorShaowu Pan Archives
December 2017
Categories
All
|